Txiichaプラグインの作成方法

こんにちは、山下@KoheiYamashitaです。(ふぁぼーんというアプリを作ったりしています。)

今回はsinProjectさんが作成されているTxiichaのプラグインの作り方について解説していきたいと思います。
TweechaにもTwiccaプラグインとは別にTxiichaのプラグインを利用する仕組みが導入されているのでTweehaにプラグイン表示したい場合もこの記事を参考に実装していただければ大丈夫です。

 

また、この記事はAndroidのアプリを作ったことがあり、ある程度アプリの構成を理解している人向けの記事になります。

早速作ってみよう!

サンプルプロジェクトは以下にあります。Kotlinという言語で書いていますが、Javaがわかる人であれば見て理解できると思います。

https://github.com/kitProject-dev/txiicha-plugin-samples/tree/show-tweet-sample

 

そんなに難しいことではありませんが、ポイントだけ解説します。

まずはAndroidManifest.xmlにTxiichaプラグインからのIntentを受け取ることができるように受け取りたいActivityに以下のintent-filterを追加してください。

<intent-filter>

<action android:name=”net.sinproject.android.txiicha.ACTION_SHOW_TWEET” />

<category android:name=”android.intent.category.DEFAULT” />

</intent-filter>

 

サンプルアプリ的にはこのあたりになります。

https://github.com/kitProject-dev/txiicha-plugin-samples/blob/show-tweet-sample/app/src/main/AndroidManifest.xml#L9-L12

 

後はActivityでIntentを取得するだけです。getIntent.getExtras.getString(key)の形で取得できます。keyは以下の表を参照してください。

key
Intent.EXTRA_TEXT ツイートテキスト String
id ツイートID String
created_at ツイートされた時間 String
source クライアント名 String
in_reply_to_status_id 返信先情報 String
user_screen_name スクリーンネーム String
user_name ユーザ名 String
user_id ユーザID String
user_profile_image_url_original ユーザーのアイコン画像のURL(originalサイズ) String
user_profile_image_url_bigger ユーザーのアイコン画像のURL(biggerサイズ) String
user_profile_image_url_normal ユーザーのアイコン画像のURL(normalサイズ) String
user_profile_image_url_min ユーザーのアイコン画像のURL(minサイズ) String

 

例えばツイートの内容を取得したければ
・Javaの場合

String tweet = getIntent.getExtras.getString(Intent.EXTRA_TEXT)

・kotlinの場合

val tweet = intent.extras.getString(Intent.EXTRA_TEXT)

となります。

成功すれば下記のようにTweechaTxiichaのメニューに表示されます!

・Tweecha ・Txiicha

 

Txiichaプラグインに対応しているふぁぼーんの場合

ふぁぼーんではプラグインからTweetIdを受け取り、受け取ったTweetIdでTwitterに問い合わせを行い、Tweetの保存を行っています。
皆さんもぜひTxiichaプラグイン対応のアプリを作ってみてください!

 

参考URL

・Txiichaプラグインサンプル
https://github.com/KoheiYamashita/txiicha-plugin-samples/tree/show-tweet-sample

Leave a comment

Your email address will not be published.

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)