モバイルプッシュ通知転送の設定

GS2-InGamePushNotification のモバイルプッシュ通知の処理は Google が提供している Firebase を使用して実現します。

これから説明するスクリーンショットなどは Firebase の仕様変更に伴って変更される可能性があります。ご理解ください。

まずは、Firebase コンソールにアクセスします。

https://console.firebase.google.com/u/0/?hl=ja

../../../../_images/スクリーンショット_2017-10-19_23.29.08.png

Firebaseプロジェクトを作成、または作成済みのプロジェクトを選択します。

../../../../_images/スクリーンショット_2017-10-19_23.34.29.png

サイドバーの Overview の横にある歯車を選択し、設定画面を表示します。

../../../../_images/スクリーンショット_2017-10-19_23.34.42.png

『アプリを追加』ボタンを選択し、iOS または Android を選択します。

iOS の設定

../../../../_images/スクリーンショット_2017-10-19_23.35.31.png

アプリの設定を入力します。

../../../../_images/スクリーンショット_2017-10-19_23.35.47.png

plist ファイルのダウンロードリンクが表示されますので、DLします。

../../../../_images/スクリーンショット_2017-10-19_23.35.59.png

このページの内容は後ほど説明します。

../../../../_images/スクリーンショット_2017-10-19_23.36.13.png

このページの内容は Unity から使用する際には関係ありません。

APNs認証鍵の設定

iOS で通知を出すためには APNs の認証鍵を Firebase に登録する必要があります。

APNs 認証鍵を取得するには Apple の Developers サイトにアクセスします。

https://developer.apple.com/account/

『Certificates, IDs & Profiles』を選択し、『Keys』の『All』を選択します。

../../../../_images/スクリーンショット_2017-10-19_23.40.45.png

右上の『+』を選択します。

../../../../_images/スクリーンショット_2017-10-19_23.40.58.png

APNs にチェックを入れます。

../../../../_images/スクリーンショット_2017-10-19_23.41.09.png

確認画面が表示されるので続けます。

../../../../_images/スクリーンショット_2017-10-19_23.41.27.png

認証鍵が作成されました。ダウンロードリンクからDLします。

../../../../_images/スクリーンショット_2017-10-19_23.47.05.png

一覧に鍵が増えていることを確認します。また、ここで表示されている『Key ID』を後で使用するのでメモしておきます。

../../../../_images/スクリーンショット_2017-10-19_23.46.21.png

また、『Membership』ページで確認できる 『Team ID』も後で使用するのでメモしておきます。

../../../../_images/スクリーンショット_2017-10-19_23.39.20.png

再び Firebase のマネージメントコンソールに戻って、今度は『クラウドメッセージング』のタブを選択します。

先ほど追加した iOS アプリが画面下部に表示されているはずです。

ここで『APNs認証キー』の 『アップロード』 を選択します。

../../../../_images/スクリーンショット_2017-10-19_23.47.43.png

Apple Developers サイト でダウンロードした 証明書 をアップロードし、

『キーID』 に先ほどメモした『Key ID』を入力、『App ID Prefix』に先ほどメモした『Team ID』を入力します。

以上で Firebase のマネージメントコンソールでの作業は完了です。

Android の設定

../../../../_images/スクリーンショット_2017-10-19_23.37.47.png

アプリの情報を入力します。

../../../../_images/スクリーンショット_2017-10-19_23.37.59.png

json のダウンロードリンクが表示されますので、DLします。

../../../../_images/スクリーンショット_2017-10-19_23.38.09.png

このページの内容は Unity から使用する際には関係ありません。

Unity の設定

必要な事前準備は終わったので Unity で設定を行います。

まずは Firebase の Unity SDK をダウンロードします。

https://firebase.google.com/docs/unity/setup

zip を解答すると複数の unitypackage が展開されます。

そのなかで必要なのは 『FirebaseMessaging.unitypackage』 のみです。

../../../../_images/スクリーンショット_2017-10-20_0.47.29.png

パッケージを取り込みます。

public class PushNotification : MonoBehaviour {

    public void Start() {
        Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
    }

    public void OnTokenReceived(object sender, Firebase.Messaging.TokenReceivedEventArgs token) {
        UnityEngine.Debug.Log("Received Device Token: " + token.Token);
    }

    void Update () {

    }
}

このようなコードで通知を受け取るために必要となるデバイストークンが取得できます。

取得したデバイストークンは

こちらの関数を利用して GS2 のユーザと紐付けます。

iOS のビルド

../../../../_images/スクリーンショット_2017-10-20_0.49.35.png

iOS に対応する場合はこの場所にダウンロードした plist を配置します。

../../../../_images/スクリーンショット_2017-10-20_1.01.34.png

XCode のルート階層に plist があることを確認します。なければ追加します。

任意の通知音を設定したい場合は同じくルート階層に wav ファイルを配置し、

GS2-InGamePushNotification の着信音に .wav を除いたファイル名を指定することで使用できます。

Android のビルド

../../../../_images/スクリーンショット_2017-10-20_0.49.11.png

Android に対応する場合はこの場所に ダウンロードした json を配置します。

../../../../_images/スクリーンショット_2017-10-20_1.06.09.png

任意の通知音を設定したい場合はこの場所に wav ファイルを配置し、

GS2-InGamePushNotification の着信音に .wav を除いたファイル名を指定することで使用できます。