Я пытаюсь отправить веб-push-уведомление, используя firebase в angular5 и Codeignitor. После инициализации firebase я могу получить deviceToken, которому я хочу отправить push-уведомление. Когда я пытаюсь отправить его на сервер с помощью curl. Это всегда показывает мне эту ошибку
{
"multicast_id":8778443463170192739,
"success":0,
"failure":1,
"canonical_ids":0,
"results":[
{
"error":"MismatchSenderId"
}
]
}
В запросе API бэкэнда я использую "Ключ сервера", который "AAAA8q7RESs:APA91bFrOrzgvTb0yQTqTF6huozIvgi_5xf1lY8qv5kyoDViuBYnVFr3Qfxg3DZHN_e7-AqWBIvRlQvPJkgZtxKIpCYs_aUUiYHOKuKLLJvzxAENjKmF4mCQJb94tJV8J-vBgnv0FPPY".
Но всегда показывать одну и ту же ошибку.
Мой код Php бэкэнда
public function sendpushnotification() {
$request = json_decode(file_get_contents('php://input'),true);
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array(
'registration_ids' => array($request['token']),
'data' => array( "message" => "Hello this is test push notification" ),
);
$headers = array(
'Authorization: key=AAAA8q7RESs:APA91bFrOrzgvTb0yQTqTF6huozIvgi_5xf1lY8qv5kyoDViuBYnVFr3Qfxg3DZHN_e7-AqWBIvRlQvPJkgZtxKIpCYs_aUUiYHOKuKLLJvzxAENjKmF4mCQJb94tJV8J-vBgnv0FPPY',
'Content-Type: application/json'
);
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
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, json_encode( $fields ) );
// Avoids problem with https certificate
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
// Execute post
$result = curl_exec($ch);
curl_close($ch);
echo json_encode($result);
}
Может кто-нибудь мне поможет. Я потратил много времени на это, но не нашел никакого решения.
И у меня есть запрос. Зависит ли deviceToken / deviceID от messageSenderID?