firebaseの実装からGoogleログインメソッドを使用しているAndroidデバイスに通知を送信する簡単なPHPコードを作成しました。それらのトークンはすでに自分のデータベースに保存されています。私は私のPHPを実行すると、通知を送信しません。だれでも、もし私が通知トラフをfirebase通知コンソールに送ると、それは動作します。これは私のPHPコードです。Firebase FCMサーバーphp-android
function sendGCM($message, $registration_ids) {
//FCM URL
$url = "https://fcm.googleapis.com/fcm/send";
//prepare data
$fields = array (
'registration_ids' => array ($registration_ids),
'data' => array ("message" => $message)
);
$fields = json_encode ($fields);
//header data
$headers = array ('Authorization: key=<YOUR_API_KEY>', 'Content-Type: application/json');
//initiate curl request
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $fields);
// execute curl request
$result = curl_exec ($ch);
//close curl request
curl_close ($ch);
//return output
return $result;
}
エラー:私はこのエラーをスローし、このPHPファイルを実行し :
{
"multicast_id": 5359746182596118281,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "InvalidRegistration"
}
]
}
はあなたの問題をGoogleに見えることがありますか? firebaseエラーコード[here](https://firebase.google.com/docs/cloud-messaging/http-server-ref#error-codes)に関するページ全体があります。あなたはStackoverflowに投稿する前にいくつかのリサーチを試みるべきです。また、APIキーはここに表示しないでくださいが、コード内、ヘッダー内に設定されていることを確認してください。 – Nicolas
[Firebase Cloud Messagingの参照\ _Idsを見つける場所](http://stackoverflow.com/questions/41278459/where-to-find-reference-ids-for-firebase-cloud-messaging) –
可能性のある複製これは、配列IDに配列を渡しているため、配列の配列が正しくないためです。単一の文字列トークンIDを送信してみてください。うまくいくはずです。私はすでにそれが働いている。 – hablema