【純正でもオリジナルのツイートボタンでもできるけど・・・】ツイートボタンがクリックやツイートされたときに何か処理を実行させる方法

「Twitterのツイートボタンをクリックした時やツイートした後に何かをさせたい」という事がありました。そんな時には「Scripting: Events」を使うとできます。

試しに、下のようにクリックやツイートをするとアラートが表示されるサンプルをCodePenで簡単に作りましたのでご参考ください。Twitterの純正ボタンでもオリジナルで作ったボタンでもできます。

このほかにも、ロード時、レンダリング終了時、リツイート、お気に入り、フォローなどのアクションをした時に何かをさせることもできます。詳しくは「Scripting: Events」をご参考ください。

というわけで「これはいいな。使えるな~」と思っていたんですが、いくつか気を付けることがあります。

イベントは便利。でも気を付けることがある

以下に「気を付けないとな~」と思ったことを書きました。

注意1:サポートされているブラウザ

Note that Web Intent events may not function fully in browsers that don’t support the browser postMessage API.

Scripting: Eventsより)

上の英文をものすごく意訳すると、

postMessage APIがサポートされていないブラウザでは完全には動かないかもしれない

と書いてあると思います(間違っていたらすみません。)

この話題は「Twitterインテントのtweetコールバックが発火しない件」でも触れられていましたので参考にしましたが、解決策は書かれていないので(書いた方も困っている様子あります)、何かいい方法があれば知りたいですね~。

注意2:iOSやAndroidのTwitterアプリ内からのツイートではイベントが実行されない

Note that not all browsers trigger events: if a user chooses to complete the action inside Twitter’s iOS or Android application rather than a Web Intent you may not receive an event for the completed action. Click events on widgets should always complete.

Scripting: Eventsより)

例えばAndroidのTwitterアプリのアプリ内ブラウザを経由してツイートをしても、イベントが実行されないです。

これは覚えておこうっと・・・日記でした。

著者:bouya Imamura