Firebase CloudMessagingのプッシュ通知でハマった
以前、FirebaseのFireStoreを使ってデータの保存などを行いましたが、 その続きで、FirebaseのCloudMessagingを使ってプッシュ通知をやってみました。 実際に2日ほどハマってしまった箇所があったので、それについてと解決方法について書いておこうと思います。
以前のFirebase関連記事
Firebase 位置情報を保存する戸惑う場所は Apple Developer Center の設定
CloudMessagingの導入やソースコードに関しては、 公式で丁寧に説明がある為、詰まるとすると大抵の場合Apple側のプッシュ通知を許可する為の 「APN's 認証キー」周りの設定になると思います。
実際自分も「APN's 認証キー」の発行の仕方に謝りがあり、うまく行かず。 結果2日程どこが間違っているのかの調査に費やしてしまいました。
認証キーの発行
まずは Apple Developer Center にログインします。
「 Keys > All 」をクリック。 Create New Key の「+」ボタンをクリックして分かりやすい名前をつけます。
下の Key Services の項目「Apple Push Notifications service (APNs)」にチェックをつけ「Continue」をクリックします。
そのまま進み「Download」すると「p8ファイル」がダウンロードされ「KeyID」が表示されます。 そのIDをメモしておきます。
ついでに「TeamID」も確認してメモしておきます。
Firebaseに認証キーを設定する
続いて「プロジェクトの設定 > クラウド メッセージング」の画面で認証キーファイルをアップロードします。 認証キーファイルをアップロードする際に先ほどメモしておいた「KeyID」と「TeamID」を入力します。
push通知を発行する
あとは今まで通りPush通知を発行します。 するとしっかりと通知が受け取れるのが確認できました。
まとめ
既存サービスをたくさん使うとエラーログが表示されてくれなかったり、 どこで通信エラーが起きているのかがわからなくなってしまい、時に時間をさいてしまいがちです。 冷静に考えてみれば、ソースコードやCloudMessengerの設定は公式のドキュメント通りに設定していたので 間違っている可能性があるとすればApple側の設定だなとすぐに思いつけたなと反省しました。
この記事が少しでも役に立ってくれたら嬉しく思います。
0 コメント