あくまで個人的なメモ

あくまで個人的なメモ

Firebase Cloud Messaging でpush通知をしていたのだが俺はもうダメかもしれない

APNs証明書を設定していたが証明書の期限切れが近づいてきた。証明書どうやって作ったんだっけ…?
と古い記憶を掘り起こしながらググってたら「APNs 認証キー使え」という情報に行き当たったので調べた。

プッシュ通知送信時にAPNs接続の認証が必要。元々は証明書を使う方式だったがごく最近から認証トークンを使う方式が使えるようになった。

手順

画面構成はすぐ変わるので参考までに。
Apple Developer Program の契約云々の話は各位ググってください。今回の話の主題ではない。

Apple Developer Member Center 側の設定

  1. Apple Developer Member Center にアクセスし、ログイン。
  2. Membership の Team ID を何処かに記録しておく。
  3. Certificates, Identifiers & Profiles にアクセスし、Keys > Allを開く。
  4. 右上の「+」をクリック。
  5. Nameにわかり易い名前を。「Key Services」からAPNsにチェックを入れる。
  6. Continue で継続し完了させる。
  7. 完了画面で p8 ファイルがダウンロードできるのでダウンロードする。このタイミングを逃すと他でファイルダウンロード出来ない。
  8. Key ID を何処かに記録しておく。

Firebase Console側の設定

  1. Firebase Console にアクセスし、ログイン
  2. 対象プロジェクト選択。Project Overview 横の歯車マークから「プロジェクトの設定」を選択。
  3. クラウドメッセージングを選択
  4. 「APNs 認証キー」の「アップロード」を選択。
  5. APNs 認証キーに上記でダウンロードした .p8 ファイルをアップロード。キーIDは上記で記録したKey ID。「App ID Prefix」は上記で記録したTeam IDを入力。
  6. アップロードボタンをクリック。
  7. APNs 認証キーをアップロードするとAPNs 証明書が無効化され認証キーが有効になる。

雑感、他

  • 証明書は無効化される。削除も出来なくなるので放置する。
  • push通知の実装などは別途ググれ。
  • Firebaseを使うことでFirebase側の設定変更のみでアプリの改修などは不要。その点は直接APNsと通信するようなプログラム書くより便利だなぁと思う。

参考