PUSH通知が届かない
Firebaseではよくあること
- Firebaseに登録した証明書・鍵がおかしい(パスコードが違う・KeyIDが異なるなど)
- 端末側のtokenが取得できていない
など考えればいくらでも出てくる
調査方法
pushが実際に送られている確認する。
ブラウザから送るとエラーなどは表示されないので原因がわからないのでCURLで検証することをお勧めする。
curl -X POST --header "Authorization: key={server_key}" \
--Header "Content-Type: application/json" \
https://fcm.googleapis.com/fcm/send \
-d @- << EOF
{
"to":"{device_token}",
"notification": {
"title": "xxxxx",
"body": "yyyyy"
},
}
EOF
のような通知を送ると
{"multicast_id":xxxx,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidApnsCredential"}]}%
上記のようなレスポンスが来ることがある
に記載されている通り、「登録されているAPNSの情報が不正」である。
ただこれは他のケースでも表示される。
BundleIDがおかしい
想定して準備したBundleIdのアプリケーションがない場合もこれが出ることが調査で分かった。
私の場合、検証環境のアプリを {BUNDLE_ID}.stg
にしていたが、これがどこかで{BUNDLE_ID}.stg.stg
になっていたので問題が起きた。
エラーメッセージ変えてくれ・・・