2017-09-15 7 views
0

助けてください。 firebaseに
私の要求は、次のようになります。PHP Curlでfirebaseに通知を送信すると、成功した応答が得られますが、通知はありません。

curl https://fcm.googleapis.com/fcm/send -X POST \ 
--header "Authorization: key=my-api-key" \ 
--Header "Content-Type: application/json" \ 
-d ' 
{ 
    "to": "firebase-instance-id" 
    "notification":{ 
    "title":"New Notification!", 
    "body":"Test" 
    }, 
    "priority":10 
}' 

と私は応答を取得:

{ 
    "multicast_id":7748668110190879774, 
    "success":1, 
    "failure":0, 
    "canonical_ids":0, 
    "results":[{ 
     "message_id":"0:1505463398077072%3f95c2ka3f95c2ca" 
    }] 
} 

をしかし、私はFirebaseコンソール一覧で、また電話で添加していない通知を見ません。助言がありますか?おそらく私のサーバーからカールを介して通知を送信するために変更する必要がある設定がいくつかありますか?前もって感謝します。

答えて

0

Firebaseはドキュメントによれば正しいJSONコンテンツを送信していますが、Apple's documentationには若干修正されたフォーマット、具体的にはメッセージの「aps」ラッパーが必要です。

"aps" : { 
    "alert" : { 
     "title" : "Game Request", 
     "body" : "Bob wants to play poker", 
     "action-loc-key" : "PLAY" 
    }, 
    "badge" : 5 
} 

AppleのJSON形式を現在のJSONペイロードに追加して、どのように応答するかを確認してください。そこからペイロードを調整して、Android(Firebaseのドキュメントの対象となるもの)とiOSの両方で動作することを確認できます。

0

あなたのFCMペイロードの形式が間違っていると思います。コンマがない()、優先度の値はhighである必要があります。

'{ 
    "to": "firebase-instance-id", 
    "notification":{ 
    "title":"New Notification!", 
    "body":"Test" 
    }, 
    "priority":"high" 
}' 

クリスの回答とは逆に、まずFCMから送信するので、APNのペイロードフォーマットは使用しないでください。

関連する問題