LoginSignup
4
8

More than 5 years have passed since last update.

Firebase Messagingを始めよう

Last updated at Posted at 2017-11-22

色々躓いたので、メモ。
※Apple Developer ~への登録やgoogleアカウントの登録は終わっていることが前提

何がしたいか

iOSアプリでFirebaseを利用してPUSH通知を受信できるようにしたい

どうしたか

  • 基本的にはこの記事に従った。この記事を早く見つけていればもっと早く。。。悔やむ。
  • ただし、初級者には所どころ理解が追い付かない箇所があったので、その部分を書く

APNs証明書の登録

記事では、公式を示してくれた。
私は今回、iOSアプリの配布にtestFlightを利用したため、プロビジョニングファイルは使わなかった。
なので、Firebaseには、APNs認証キーの登録だけを行うだけで良かった。アプリIDは登録時に必要だったので作成が必須。
(プロビジョニングファイルを登録していないと、PUSH通知送信の際、FCMトークンを指定しての送信ができない。プロビジョニングファイルに端末のトークンが入っていて、それを利用してPUSH通知を送信するためだと思う。なので、最後のところでも書くがテストはユーザーセグメントで行った)

2017/11/27追記
APNs認証書をFirebaseに登録する方法が分からないという意見があったので、記載しておく。
1. Firebase Consoleへ移動する
2. 画面左側のメニューの「Project Overview」の横に表示されている歯車をクリックする。表示されるサブメニューから「プロジェクトの設定」をクリックする。
3. ページ遷移後、画面上部のタブの「Cloud Messaging」をクリックする。
4. iOSアプリの設定からAPNs認証書の設定ができます。

PUSH通知のパーミッション取得

ここからがコードだったのだが、PUSH通知について知っておかないと、理解が追い付かない。
なので、こちらの記事を参照してください。
User Notification Centerについて詳しく記載されていて、理解が進みました。

Firebase設定やデバイストークン取得

ここもパーミッション取得の時の記事を参考にすると分かりやすい。
ただし、以下の箇所は基本的に従った記事が分かりやすかった。

extension AppDelegate : UNUserNotificationCenterDelegate

これをコーディングしていないと、フォアグラウンド(アプリを画面に表示した状態)でPUSH通知を受信できない(正確には画面に通知が表示されない)ので注意が必要。

プッシュ通知の送信

APNs証明書の登録でプロビジョニングファイルをfirebaseに登録した人は「3.FCMトークンを指定」で送信可能(?)。
TestFlightでテスト用に配布しているときは、1.ユーザーセグメントを利用すると良いのではないかと思います。

終わりに

どちらの記事もとても参考になりました。
swiftマスター・職人とは言わずとも、「swiftも使えるよー」くらいは言えるように早くなりたい。

4
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
4
8