どうもおはようございます、こんにちは、こんばんは。
ちるたろうです。
はじめに
現場でFirebaseを使っているのですが、ナレッジとしてまとめる機会があったのでこちらに投稿します。
興味があってこれからやりたい方、一応サービス概要は知っておきたい方の参考になれば幸いです。
Firebase Cloud Messagingとは 独自にサーバーを立てずにリモートプッシュ通知ができるサービスです。
リモートプッシュ通知を実現するためには、
iOSであればAPNs(Apple Push Notification Service)という機構に則り、
独自にサーバー構築をする必要ありましたが、(→色々面倒)
Firebase Cloud Messagingを使えば、サーバーを用意せずに、APNs証明書(またはAPNsキー)を用意するだけでリモートプッシュ通知を実現できるようになります。
できること
Firebaseコンソールから、カスタムしたメッセージをリモートプッシュ通知配信。
User Properties などターゲティングした通知。
スケジュール配信。
プッシュ通知配信からのイベントコンバージョントラッキング。 通知音ON/OFF設定、バッジ設定、カスタムパラメータ送信など。 ※それぞれコンソールのスクショを下記貼ります。
- Firebaseコンソールから、カスタムしたメッセージをリモートプッシュ通知配信。
2.User Properties などターゲティングした通知。
3.スケジュール配信。
4.プッシュ通知からのイベントコンバージョントラッキング。
5.通知音ON/OFF設定、バッジ設定、カスタムパラメータ送信など。
料金
無料。
https://firebase.google.com/pricing
- Firebaseはモバイルアプリ向けのリモートプッシュ通知特化。
- Firebaseはモバイルネイティブアプリ側、実装簡単。
- Firebaseはサーバー側の実装不要。
実装方法(iOS)
詳しくは公式ドキュメント 参照してください。
以下、ざっくり書きます。
Firebaseコンソールでのやること
- Firebaseコンソール上でアプリを登録して、GoogleService-Info.plist をダウンロードする。
https://firebase.google.com/docs/cloud-messaging/ios/client#register-app
Apple Developer ConsoleのCertificates, Identifiers & Profilesから、該当アプリのKeysを作成し、ダウンロード。
そしてそれをFirebase Console上でアップロードする。
https://firebase.google.com/docs/cloud-messaging/ios/client#upload_your_apns_authentication_key
アプリ側の実装(Xcode上)
https://firebase.google.com/docs/cloud-messaging/ios/client#add-sdks
- CocoaPodsを使ってFirebaseをiOSアプリプロジェクトにインストール
- GoogleService-Info.plistを組み込み
- アプリプロジェクトの設定>Targets>Signing&Capablitiesから「+」ボタンを押してPush Notificationsを追加
- コードを書く
https://firebase.google.com/docs/cloud-messaging/ios/client#initialize_firebase_in_your_app
まとめ
今回は従来からあるAPNs証明書を使用しましたが、
更新をする必要がないことからAPNsキーを使用したやり方のほうが良いと思います。
今回は、3月末まででサービス終了するアプリだったので証明書でやりました。
ブログの投稿は基本毎日19時頃する予定です。
コメントいただけると嬉しいです!