LoginSignup
11
8

More than 3 years have passed since last update.

【Unity】Twitterボタン設置とツイートの報酬付与

Last updated at Posted at 2019-10-03

UnityにTwitterボタン設置して、ボタンを押してくれたユーザに報酬をプレゼントします。

■Twitterボタンの入手
自作するとレギュレーションが面倒なので、特にこだわりのない場合はTwitterの公式からボタン画像をダウンロードしましょう。
https://about.twitter.com/ja/company/brand-resources.html
よく見かける四角いボタンはこのページの「ソーシャルボタン」でダウンロードできます。
Twitter_Social_Icon_Rounded_Square_Color.png

■TwitterのURL
Twitterのアプリ起動(PCブラウザならTwitterのページ表示)は簡単で、TwitterのURLをたたくと勝手に表示されます。このときURLにパラメータをつけると投稿文やハッシュタグをプリセットしてくれます。

例)
https://twitter.com/intent/tweet?text=Unity%20テスト%0ahttp://総務省.jp//&hashtags=総務省_HP

総務省のHPが日本語URLだったので、勝手に利用。怒られないよね?

「text=」のところに本文を記載。英数字であればそのまま記載するとツイッターの投稿画面に表示されます。ただし、本文中で改行したい場合は「%0a」、スペースを入れたい場合は「%20」と表現する必要があります。

上記のURLは日本語を含んでいますが、Unityを経由しなければ普通に叩けます。Unityで使うためにはUnityWebRequest.EscapeURLで文字列のエスケープをしてあげます。さらにこちらだと改行を「\n」で表現したり、スペースをそのまま「 」で表現できるので使いやすいです。

「hashtags=」のところにハッシュタグを書けます。Twitterのハッシュタグはスペースを認識しないので、スペースを入れるとスペース手前の文字でハッシュタグとみなされるので注意。単語を分離したい場合はスペースの代わりに_(アンダーバー)を入れましょう。

以上からTwitterボタン(正確にはImageにEvent Triggerをつけたものですけど)を押したときの処理はこのように書けます。

public void OnClickTwitterButton()
{
    //urlの作成
    string esctext = UnityWebRequest.EscapeURL("テスト Unity\nhttp://総務省.jp//");
    string esctag = UnityWebRequest.EscapeURL("総務省_HP");
    string url = "https://twitter.com/intent/tweet?text=" + esctext + "&hashtags=" + esctag;

    //Twitter投稿画面の起動
    Application.OpenURL(url);

    //ここに報酬の処理を記載
    clickflag = 1;
}

■報酬の発生
関数を呼び出すとブラウザ(スマホならアプリ)が起動して、Twitterの入稿画面が表示されます。

ブラウザ起動のすぐ後に次の処理が走っているので、報酬はツイートしなくてももらえることになります。最近のゲームでこの形式をとっているのを見かけますが、アプリやサーバでTwitterのアカウント管理をしなくてよいことや、投稿完了のステータスを取得しなくてよいことがメリットです。

デメリットはツイートしていないのに報酬を与えてしまうことですね。10人中1人でもツイートしてくれれば、ゲーム情報を拡散してくれるので、お手軽実装なのとツイート率のトレードオフですね。

11
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
8