初めてiOSでPush通知を実装したときに、結構苦労したので、忘れないように残しておこうと思います。
全体の流れとしては、以下の通りです。
- Apple IDの作成
- Apple Developer Programへの登録
- Certificates 関係
- Xcodeで変えるべきところを変える
この記事の方法は、FCMを利用します。
それでは、見ていきましょう。
Apple IDの作成
まずは、Apple IDを作成しましょう。
Apple ID 作成と検索すると、沢山記事が出てくると思いますが、公式から飛ぶのが一番わかりやすいと思うので、公式から行きましょう。
新しいApple IDの作成方法ページのmacの場合をクリックすると、macでApple IDを作成するまで移動します。
そこから下にスクロールしていくと、別のデバイスでApple IDを作成するの見出しのところでWeb上でApple IDを作成するがあるので、そこのリンクをクリックします。
そうすると、Apple IDのページに遷移するので、下の方にあるApple IDを作成をクリックします。
色々と入力する必要があるので、基本的には間違いがないように入力していきます。
あとは、画面の指示通り操作を行なって登録完了です。
Apple Developer Programへの登録
続いて、Apple Developer Programへの登録です。
その前に、D-U-N-S番号を調べておきましょう。
Apple Developer のD-U-N-S番号ページに行って、D-U-N-S番号の取得申請から調べられます。
住所等、間違いがないよう入力してください。
D-U-N-S番号を知らせるメールが届いたら準備完了です。
Apple Developer Programのページに行って登録しましょう。
ここでも、入力することがありますが、できるだけ正しい情報を入力しましょう。
次の画面にいくと、メンバーシップの購入画面にいくので、クレジットカードを登録して購入完了です。
そうすると、購入画面に行けるようになると思います。(私が作成したときも、何度も助けてもらいました。)
Certificates関係
続いて、Push通知に必要な証明書関係の登録を行っていきましょう。
macのアプリケーションの中のユーティリティの中のキーチェーンアクセスを起動してください。
画面左上のメニューのキーチェーンアクセスから証明書アシスタントの中にある認証局に証明書を要求をクリックしてください。
要求の処理をディスクに保存、鍵ペア情報を指定して、続けるをクリック。
自分のわかる場所に保存します。
続いて、Apple Developerにログインして、「Certificates, Identifiers & Profiles」を選択します。
左のメニューにある次のものを登録していきます。
・Certificates
・Identifiers
・Devices
・Profiles
・Keys
1. Keysの登録
左のメニューにあるKeysをクリックして「+」をクリックします。
Descriptionのところには何を記入しても大丈夫です(APNS key等わかりやすいものがいいかもしれません)。
下の「Key Services」のところの「APN」のところにチェックを入れてContinueをクリックします。
ダウンロードして、わかりやすい場所に保存してください(Firebaseのプロジェクトにアプリを追加するときに使用します)。
2. Identifierの登録
左のメニューにあるIdentifierの「+」をクリックします。
Descriptionにはわかりやすいものを記入します(sample app等)。
Team IDにはMembershipのチームIDと同じものを入力してください。
Bundle IDはXcodeを起動して、「Runner」の「TARGETS」の「Identifier」の「Bundle Identifier」と同じものを入力して「Explicit」にチェックを入れます(エラーが出た場合、Bundle Identifierを変更する必要があります)。
下にスクロールして「Capabilities」の「Push Notifications」にチェックを入れて「Continue」をクリック。
確認画面で問題なければ「Register」をクリックしてIdentifierの登録は完了です。
3. Devicesの登録
左のメニューにあるDevicesの「+」をクリックします。
「Platform」は「iOS, tvOS, WatchOS」を選択します。
「Device Name」は自由で大丈夫です(iPone8等)。
「Device ID(UDID)」はXcodeを起動し、macに端末を接続して確認します。
「Window」の「Devices and Simulators」をクリックし、「Identifier」に書かれている値が「Device ID(UDID)」です。
確認画面で問題なければ「Register」をクリックして登録完了です。
4. Certificatesの登録
ここでは2つ登録します。
左のメニューにあるCertificatesの「+」をクリックします。
◯開発用の場合
「iOS App Development」にチェックをいれ、右上の方の「Continue」をクリックします。
◯配布用(本番用)の場合
「iOS Distribution」にチェックをいれ、右上の方の「Continue」をクリックします。
「Choose File」をクリックして、最初の証明書のところで作成したCSRファイルを選択し、「Continue」をクリックします。
ダウンロードしたファイルをクリックして、キーチェーンアクセスに反映させます。
続いて、もう一度Certificatesの「+」をクリックします。
◯開発用の場合
下にスクロールし、「Service」の「Apple Push Notification service SSL (Sandbox)」にチェックを入れます。
◯配布用(本番用)の場合
下にスクロールし、「Service」の「Apple Push Notification service SSL (Sandbox & Production)」にチェックを入れます。
App IDはIdentifierで作成したものを選択し、「Continue」をクリックします。
「Choose File」をクリックして、最初の証明書のところで作成したCSRファイルを選択し、「Continue」をクリックします。
ダウンロードしてクリックして反映しておきます。
5. Profilesの登録
左のメニューにあるProfilesの「+」をクリックします。
◯開発用の場合
「iOS App Development」を選択し、「Continue」をクリックします。
◯配布用(本番用)の場合
「App Store」を選択し、「Continue」をクリックします。
それぞれ今回作成した、App ID、Certificates、Devicesを選択して「Provisioning Profile Name」にファイル名を入力します(開発用と配布用(本番用)でわかるようにしておいた方がいいです)。
ダウンロードしてクリックして反映しておきます。
Xcodeの設定
「Runner」の「TARGETS」の「Runner」をクリックし、「Signing & Capabilities」をクリックします。
左上の「Capability」をクリックして、「Background Modes」と「Push Notifications」を選択します。
「Background Modes」の「Background fetch」と「Remote notifications」にチェックを入れます。
以上で設定は完了です。
最後に
なかなか設定することが多く、結構簡易度が高かったです。
他にも書くことがあるので、編集するか、新しい記事に書こうと思います。