まだどこにもないアプリを作る

アプリ開発でつまづいたところなどを中心に記事にして行きます。

Firebase Cloud Messagingで「キャンペーンで読み込みエラー」が出た場合の対処の一例

私はiOSアプリをリリースしていてPUSH通知を導入しています。

いつものようにPUSH通知しようとしたら

 

 

 

こういうふうに

PUSH通知を送信しても毎回40件しか送信されないという症状になっていたんですよね。

f:id:rils_k:20211019110234p:plain



かなり困っていたのですが結構単純な問題でした。

 

私の場合はAPNs証明書の期限が切れていたことが原因でした。

 

丁寧ではありませんが少し解説します。

 

 

 

Firebaseのプロジェクトの設定→CloudMessagingのタブ

f:id:rils_k:20211019110513p:plain

ここが赤くなってたらダメです。

 

Certificateを更新する必要があります。

 

まずキーチェーンアクセスを起動して

上のバーのキーチェーンアクセス→証明書アシスタント→認証局に証明書を要求

→メールアドレス入力して

→ディスクに保存にチェック

→OK

FCMを実装したことのある方なら知っていると思います。

 

 

Appleデベロッパーページに行って

https://developer.apple.com/account/resources/certificates/list

 

Certificates

にてプラスボタンから新規Certificateを作成します。

 

Apple Push Notification service SSL (Sandbox & Production)

Establish connectivity between your notification server, the Apple Push Notification service sandbox, and production environments to deliver remote notifications to your app. When utilizing HTTP/2, the same certificate can be used to deliver app notifications, update ClockKit complication data, and alert background VoIP apps of incoming activity. A separate certificate is required for each app you distribute.

 

を選択

Choose Fileから先ほど作った

f:id:rils_k:20211019111324p:plain

このファイルを指定します。

それから

Download

 

→ダウンロードしたものをダブルクリックします。

 

するとキーチェーンが立ち上がり、新しく証明書ができていると思うのでそれを右クリック

f:id:rils_k:20211019112247p:plain

 

~を書き出すを選択

 

そうすると.p12ファイルが出来上がります

f:id:rils_k:20211019112625p:plain

これを先ほどの赤くなっていた

Firebaseプロジェクト設定のCloudMessagingの場所に

開発用

本番用

両方に割り当てましょう。

 

両方同じもので大丈夫だと思います。

 

 

 

それから通知をすればちゃんとできるようになっています。

 

 

※アプリのアップデートを提出しなくても本番通知もできました。

 

 

丁寧な説明はできませんでしたが誰かの参考になれば幸いです。