私はiOSアプリをリリースしていてPUSH通知を導入しています。
いつものようにPUSH通知しようとしたら
こういうふうに
PUSH通知を送信しても毎回40件しか送信されないという症状になっていたんですよね。
かなり困っていたのですが結構単純な問題でした。
私の場合はAPNs証明書の期限が切れていたことが原因でした。
丁寧ではありませんが少し解説します。
Firebaseのプロジェクトの設定→CloudMessagingのタブ
ここが赤くなってたらダメです。
Certificateを更新する必要があります。
まずキーチェーンアクセスを起動して
上のバーのキーチェーンアクセス→証明書アシスタント→認証局に証明書を要求
→メールアドレス入力して
→ディスクに保存にチェック
→OK
FCMを実装したことのある方なら知っていると思います。
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から先ほど作った
このファイルを指定します。
それから
Download
→ダウンロードしたものをダブルクリックします。
するとキーチェーンが立ち上がり、新しく証明書ができていると思うのでそれを右クリック
~を書き出すを選択
そうすると.p12ファイルが出来上がります
これを先ほどの赤くなっていた
Firebaseプロジェクト設定のCloudMessagingの場所に
開発用
本番用
両方に割り当てましょう。
両方同じもので大丈夫だと思います。
それから通知をすればちゃんとできるようになっています。
※アプリのアップデートを提出しなくても本番通知もできました。
丁寧な説明はできませんでしたが誰かの参考になれば幸いです。