Google Firebaseを使用して複数のデバイスにプッシュ通知を送信しようとしていますが、「InvalidRegistration」というエラーが表示されます。 マルチプルデバイスにプッシュを送信する際に無効な登録
この
は、私が「へ」:json_encode($tokensPerEvent):
["eV9g4oTwjZs:APA91bF3YLGtDkCDekvR6eahbVAn-jIY0sVGjxMWyBEyR-
3AB9q6RBhw4fyeqE4ZkZxQs0TsYhUee9Txy_exAGxtrBPV_-
sjKlWcV3z3nDYXOcVSVwlpPyGzUJKxGMU16drMR41bLI4t"]
に送信されたトークンであり、これは応答である:
{
"multicast_id":***,
"success":0,
"failure":1,
"canonical_ids":0,
"results":[
{
"error":"InvalidRegistration"
}
]
}
別の質問:トークンの一つはもう、この存在しない場合他のすべてのトークンに効果があるか、あるいは唯一の古いトークンが有効になりますか?
これは私のコードです:
<?php
require_once '../CommonFunctions.php';
ignore_user_abort();
ob_start();
$url = 'https://fcm.googleapis.com/fcm/send';
//GET TOKENS FROM DB
$db = new Database();
$db->query("SELECT push_token FROM User");
$db1 = new Database();
$db1->query("SELECT phone FROM invite_list where event_id = 137");
$response = $db->resultset();
$response1 = $db1->resultset();
$arr2 = array_column($response1, 'phone');
$phones = join("','",$arr2);
$db2 = new Database();
$db2->query("SELECT push_token FROM User WHERE phone IN ('$phones')");
$tokensPerEvent = array();
$tokensrr = $db2->resultset();
$tokensPerEvent = array_column($tokensrr, 'push_token');
echo json_encode($tokensPerEvent);
$fields = array('to' => json_encode($tokensPerEvent),
'notification' => array('body' => 'HI', 'title' => ':)'));
define('GOOGLE_API_KEY', '***********');
$headers = array(
'Authorization:key='.GOOGLE_API_KEY,
'Content-Type: application/json'
);
$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_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if($result === false)
die('Curl failed ' . curl_error());
curl_close($ch);
return $result;
?>
私はそれを受け取りました - >フィールド "to"はJSON文字列でなければなりません:****** – Yakir
@ Yakir Okey ...プッシュ通知をそれらの登録IDで多くのクライアントに送信したいですか? 次に、 'to'の代わりに' registration_ids'を使う必要があります これはドキュメントで見つけることができます...これを見つけることを試みますが、これは確かです。 編集:オキー、私はそれを見つけた。 2番目のパラメータhttps://firebase.google.com/docs/cloud-messaging/http-server-ref –
私の一日を節約する!!!!ありがとう男!!!! – Yakir