LoginSignup
28

More than 5 years have passed since last update.

Firebase(FCMのtopic)をcurlで実行してもiPhoneアプリにプッシュ通知がでない時の対処方法

Last updated at Posted at 2016-06-28

FCM Server経由でiPhoneアプリとAndroidアプリにtopicを利用したpush通知を送りたくて、curlで確認したところかなりハマってしまったのでメモとして残しておきます。

前提として、両アプリともFirebase Cloud Messaging(FCM)を組み込んでいて、Firebase ConsoleからNotificationsが送れるものとします。

Firebaseによるプッシュ通知のハマりどころ」を参考にして作ってますが、自分のところではiPhoneアプリで手こずりました。Androidアプリはさすがにすんなり動作しました。

以下が動作したパターンです。

 curl --header "Authorization: key=$api_key" \
     --header Content-Type:"application/json" \
     https://fcm.googleapis.com/fcm/send \
     -d "{\"to\": \"/topics/info\",\"priority\":\"high\",\"content_available\":true,\"notification\": {\"body\": \"お知らせ\",\"badge\": \"1\"}}"

私の間違ったポイントは以下です。
* api_keyはFirebase Settings -> CLOUD MESSAGING -> Server key を利用する。でないと認証で失敗する。
* priorityをhighにする (iPhoneで必要)
* content_availableをtrueする (最終的に必要かどうか分からない)
* notificationにbodyを指定する(これがないとiPhoneに表示されない。最後までハマった)

何かのお役に立てれば幸いです

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28