kiriya-systemの日記

きりやシステム技術ブログ http://www.kiriya-system.com/

unityでAmazonSNS経由でFCM使ってPUSH通知しようとしたら激ハマリしたでござるの巻 ログを見よう編

試行錯誤の中で参考にしたログなど。

 

Unity側登録時のRegID(registration Id)の確認

regIDの確認は実機デバッグで確認した。

サンプルのGCM.csの116行目、regIDこれが空でうまく取得できていなかった。

 

実機をデバッグモードでつなぎ、VisualStudioCommunity2015を起動し、

Debug->Attach Unity Debuggerを選択

machineにつないだデバイスが表示される。このときややタイムラグがあるのでやや注意。

慌てず待つべし。

 

RegIDがNULLの場合、FCM(GCM)周りの設定が間違ってないか確認すべし

 

AmazonSNS側のログ

AmazonSNSkのコンソールから

Applications->ARNを選択->Platform Application action->Delivery status

Create IAM rolesを選択

 

IAM roleを作成し、設定を保存すると、配信後

Cloud watch のログから配信ステータスを確認できるようになる。

 

参考

[Amazon SNS] 配送ステータスが CloudWatch で確認できるようになりました! | Developers.IO

 

端末側確認

通知が端末まで来ているものの、androidmanifestが間違ってると、

何も表示されない。

 

コマンドラインからadb logcatで端末のログを確認

V/NotificationService(  774): pkg=pkg.hogehoge.com canInterrupt=false intercept=true

 

こんな感じでログが出ていれば端末までは届いている

その後にActivity見つからないよとかIntentないよとか言われている場合は

AndroidManifestを確認すべし

 

実際、GCMBroadcastReceiver

GCMが大文字なのに"Gcm"と書いてて引っかかった・・・まぁ、探すの大変だった・・・

 

ステータスバーの通知を押してもIntentが起動しない

こちらもAndroidManifestの問題だった。

サンプルのAndroidManifestではUnityPlayerNativeActivityのみ記載があるがこれではだめ。

UnityPlayerProxyActivity、UnityPlayerActivityなども追記したら動いた。

このへんはUnity側のバージョンアップと関係していそう。

 

タイトル変えられない

Java側ソースを見ると