ユーザにアプリの存在を思い出してもらったり、キャンペーンを通知するなど、モバイルでのプッシュ通知は重要ですよね。
Android, iOS両対応させたい場合も多いと思いますが、プラットフォームごとに仕様が違ってけっこう大変です。
特に通知を「送信する」側はサーバを実装しなければならなかったりしたので特に面倒だったのですが、高機能ないわゆるmBaaSの登場により敷居が下がってきています。
今回はGoogleのFirebaseというサービスを使って、iPhone, iPadに通知を表示させるまでをまとめてみました。
※2017/1/20時点の内容です。
・環境
macOS Sierra
Unity 5.5
Xcode 8.2.1
Firebaseとは
Googleが運営しているモバイルバックエンドサービスです。
むっちゃ高機能&多機能です。
Firebase | App success made simple
この中に、各モバイルのプッシュ通知(AppleのAPNs、GoogleのGCMを統合したFCM)を同じコンソール上から送信できるという素晴らしい機能があるのです。
しかも無料! イケメン!
AppleDeveloperProgramに登録しておく
Appleのプッシュ通知機能APNsを使うには、DeveloperProgramに登録しなければなりません。
まだやってない方は、こちらの記事を参照してください。(登録にはお金かかるので注意。)
APNsの設定
FirebaseのサーバからAPNsのサーバに暗号通信を行うための、SSL証明書を作成します。
Appleのサーバで作成した証明書をFirebaseにアップロードし、FirebaseからAPNsに証明書を使って接続するという形です。
Provisioning APNs SSL Certificates | Firebase
自PCで証明書要求を作成
Appleに証明書を作成してもらうための、要求ファイルを作成します。
Macでキーチェーンアクセスアプリを開き、メニューから「認証局に証明書を要求」をクリック。
ダイアログに「ユーザのメールアドレス」と「通称」を入力し、「ディスクに保存」を選択。さらに「鍵ペア情報を指定」にチェックを入れ、適当な場所に保存します。
MemberCenterでAppIDの作成
証明書はDeveloperProgramに加入すると見れるMember Centerで作成します。
Sign in with your Apple ID - Apple Developer
証明書を作成する前に、プッシュ通知を受け取るアプリの設定をしましょう。
ログインして「Certificates, Identifiers & Profiles」という項目を開くと下の画面になるので、
左メニューで「App IDs」をクリックし、右上の+ボタンを押します。
すると次の画面に
AppIDに好きな値を入れ、下にスクロール。
App ID SuffixはExplicit App IDを選択し、一意なBundle ID を入力。
WildcardAppIDだとPushNotificationを利用できないので注意。
さらにその下の項目で、PushNotificationにチェックを入れます。
AppIDをすでに作成済みの場合、以下のよにPushNotificationが有効になっているか確認しましょう。
MemberCenterで証明書を作成する
これで証明書を作成できます。
MemberCenterのCertificatesのAllをクリックして右上の+ボタンを押します。
次の画面でプッシュ通知を選択して進みます。
次の画面で、さきほど作成したApp IDを選択し、次に進みます。
さらに進むとCSRファイルをアップロードする画面に出るので、さきほどキーチェーンで作成したファイルをアップロードします。
すると.cerファイルをダウンロードできるのでダウンロードします。
ダウンロードしたcerファイルをダブルクリックすると、キーチェーンが立ち上がり、鍵が登録されます。
「Apple Development IOS Push Services」という名前で登録されているので分かりやすいです。
その鍵を右クリックし、「〜を書き出す」をクリックしてファイルにします。
この.p12ファイルがFirebaseにアップロードするファイルです。