BY2024-03-15LINEでおなじみの、新着メッセージの知らせなどが端末に届くあれを実装します。Messagingを使用します。https://firebase.google.com/docs/cloud-messaging?hl=jaプッシュ通知は、テスト段階順に以下3通りの開発ステップを踏みます。Storeでプッシュ通知アプリをリリースできます。その前に1番2番で手元テストを終えておく、という感じです。Apple的な呼び方だとテストをSandbox、本番をProductionと言うらしいです。CenterのIdentifiersに登録されているアプリ識別子です。https://developer.apple.com/account/resources/identifiers/listここではjp.co.mycorp.MyAppがターゲットアプリであるとします。Centerで、テスト用と本番用を一気に作成して上記アプリに紐づけます。手元のMacマシンにてキーチェーンアクセスを開きます。上メニューバー→キーチェーンアクセス→証明書アシスタント→認証局に証明書を要求、を開きます。IDが望ましい、他のメアドでも可。(デフォルト)CertificateSigningRequest.certSigningRequestというCSRファイルが出力される。Centerの証明書のページを開いて「+」で証明書作成を開始する。(Sandbox)を選択、Continue。Fileで、上記Macで作成したCertificateSigningRequest.certSigningRequestファイルを指定してContinue作成が完了したので「Download」しておく。aps_development.cerファイルがダウンロードされる。続けて全く同じ手順で本番通知用証明書も以下のようにして作成・紐付けする。Production)を選択、Continue。Fileで、上記Macで作成したCertificateSigningRequest.certSigningRequestファイルを指定してContinue作成が完了したので「Download」しておく。aps.cerファイルがダウンロードされる。ターゲットアプリへのPush通知有効化と証明書紐付けを確認する上記の作業が済むと、Identifiersのアプリ情報のところで確認できる。証明書が紐づけられていることを確認する。jp.co.mycorp.MyApp」が登録され、一覧で見えています。「この証明書は信頼されていません」となってしまっていたら、マシンに中間証明書が無いのが原因なので、こちらの記事を参照してインストールすれば有効な証明書と出るはずです。jp.co.mycorp.MyAppを書き出す...」を開きます。フォーマット「個人情報交換(.p12)」のまま、「aps_development.p12」などと名前をつけて「保存」します。パスワードは無し(設定しません)これでFirebaseへ登録する用の開発証明書ができました。同じ手順にて、本番用のものも以下手順で出力しておきます。jp.co.mycorp.MyApp」が登録され、一覧で見えています。「この証明書は信頼されていません」となってしまっていたら、マシンに中間証明書が無いのが原因なので、こちらの記事を参照してインストールすれば有効な証明書と出るはずです。jp.co.mycorp.MyAppを書き出す...」を開きます。フォーマット「個人情報交換(.p12)」のまま、「aps.p12」などと名前をつけて「保存」します。パスワードは無し(設定しません)これでFirebaseへ登録する用の本番証明書ができました。開発用本番用2つのp12ファイルをFirebaseに登録するFirebaseコンソールhttps://console.firebase.google.com/を開いて、対象のプロジェクトへ移動し、左ペイン左上のホームアイコン横の設定アイコン→プロジェクトの設定を開きます。有効になっていることを確認し、Appleアプリにターゲットアプリ「jp.co.mycorp.MyApp」が居ることを確認します。証明書に、さきほどの2種類のp12ファイルを登録すればOKです。証明書」には「aps.p12」をそれぞれ「アップロード」します。p12ファイルを出力するときにパスワードを設定していたなら、ここでそのパスワードを指定します。Centerでは作成数に限りがあるため、組織で使用している場合などは気軽に作れません。当方はp12を使用しています。ドラレコ※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。※本記事内容の無断転載を禁じます。自営業プログラマーです。SERVERNOTE.NET。