A4 WORKS Official BLOG

A4 WORKS オフィシャルブログ

Unity AWS SDKを使って、AWS SNSでPush通知(APNs,FCM)をおくる

   

AWS Mobile SDK for Unityのサンプル SNSExample を使ってPush通知を登録&送信(AWS SNSにエンドポイント登録して、Publish to endpoint)するまでです。
iOSとAndroidの両方でPush通知を行います。
AndroidはFirebaseを使って、FCM経由で通知させます。

AWS(Cognito,SNS)の設定

AWS Cognitoおよび、AWS SNSの設定は他のサイトに詳しく説明があるので割愛しますが、ざっくり以下の対応が必要です。
・Cognitoは”フェデレーテッドアイデンティティの管理”から、”新しいIDプール”を作成する必要があります。
・AWS SNSでApplicationを追加する必要があります。SNSでApplicationを追加する場合、AndroidはAPIキー、iOSはP12ファイル(開発をプロダクションそれぞれ)が必要となります。
Applicationを登録すると降り出されるEndpoints ARN(iOS開発用、iOS商用、Android)の3つが必要です。(テストだけならiOSはテスト用のEndpoints ARNだけでOK)

公式ドキュメント&SDKダウンロード

http://docs.aws.amazon.com/mobile/sdkforunity/developerguide/setup-unity.html
↑SDKはこのページの中の”download the AWS Mobile SDK for Unity”リンクからDLできます。

http://docs.aws.amazon.com/mobile/sdkforunity/developerguide/sns.html

AWS SDKをインポートする

ダウンロードしたAWS Uniry SDKを展開し、パッケージをインポートします。

AWSSDK.SimpleNotificationService.3.3.0.20.unitypackage

インポートすると、Project/Examples/SNSExampleにサンプルのシーンがあるので開きます。

Hierarchy/SNSExample のInspectorに必要な内容を埋めます。

SNSExample_Inspector

Identity Pool IdはAWS CognitoにてIDを振り出しします。
Android/iOS Application ArnはAWS SNSでEndpointを取得します。
Google Console Project Idは Firebaseコンソールの 設定>クラウドメッセージング から確認できます。
Regionを設定する項目が2つありますが、アジアパシフィック(東京)の場合には”ap-northeast-1″を設定します。

Google Console Project Id

Firebase_console1

Firebase_console2

Unity(iOS,Android共通)の設定

Resourcesフォルダを作成します。

作成したResourcesフォルダ内にawsconfig.xml を作成します。

Resources/awsconfig.xml

同様にResources/link.xmlを作成します。

Resources/link.xml

公式ドキュメントに記載にある内容をベースに下記の様に修正するとうまく動きます。

iTunes Connect,AppleDevelopper

割愛しますが、証明書周りの準備が面倒に感じました。

GooglePlayDevelopperConsole,Firebase

割愛しますが、AWS SNSの設定時にサーバーキー(トークン)が必要となります。

Unity側でのiOS用固有の設定

とくにありません。
開発環境でのテストの際には、”Push notification platform”の選択の際にApple Developmentを指定して作成したARNを設定する必要があります。

Unity側でのAndroid用固有の設定

Plugins/Android 配下に以下の2つのファイルを追加

android-support-v4.jar
google-play-services.jar

この2つのファイルはネットでDL先を探すがみつからず、ローカルな開発環境(Mac)の中で発見したファイルを使いました。

FCMを使う為のAndroidManifest.xmlの設定

FCM(Firebase)用の設定をAndroidManifest.xmlに追記します。

AndroidManifest.xml

Xcode側での設定

Capabilitiesの設定にて、”Push Notifications”をONにするのを忘れずに。

一斉通知を行う場合

この手順で出来るのは端末(Enpoint ARN)を指定したpush通知なので、一斉通知する為にはTopicsを作成し、Topicsに取得したEnpoint ARN登録する方法などが必要です。

参考URL

http://blog.be-style.jpn.com/article/177670288.html

 - UNITY, Xcode ,

STINGERレクタングル大

STINGERレクタングル大

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  関連記事

UNITY_icon
UNITYでゲームを作る その1

以前のエントリでcocos2d-xでゲームを作るとして進めてましたがUNITYに …

unity_xcode
UnityでビルドしたXcodeのcapability設定(Push Notifications)を自動でONにする

前提条件 push通知まわりのいろいろな設定は終わっていて、ビルドするたびにXc …