Ho un'applicazione che utilizza Google FCM per l'invio di notifiche push.FCM getting MismatchSenderId
Quando invio una notifica push a un gruppo di utenti, ottengo una risposta di MismatchSenderId
per alcuni di essi. Anche se tutti gli utenti hanno la stessa identica applicazione. In che modo alcuni utenti ottengono una risposta positiva e altri ottengono un MismatchSenderId?
Ho studiato molto e mi sono assicurato di aver aggiunto tutti i prerequisiti richiesti da FCM.
Qualche suggerimento?
EDIT:
risposta del campione:
{"multicast_id":5340432438815499122,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}
EDIT 2:
Ecco il codice di invio lato server (PHP):
$fields = array
(
'to' => $token,
'data' => $data
);
$headers = array
(
'Authorization: key=AIza**************************',
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, json_encode($fields));
curl_exec($ch);
curl_close($ch);
UPDATE:
Sembra che il problema sia stato risolto con gli aggiornamenti dell'SDK. Sto usando l'ultimo com.google.firebase:firebase-messaging:9.6.1
, non ho più "MismatchSenderId".
MismatchSenderId significa che il client si sta registrando con un server diverso da quello che si sta utilizzando per l'invio. Tutti i tuoi clienti si stanno registrando con lo stesso progetto? Potresti includere anche la risposta MismatchSenderId nella domanda? –
Sì, stesso progetto, stessa applicazione, stessa chiave del server. –
Puoi mostrare il codice di come hai inviato questo messaggio? Potrei sapere la causa del problema .. – AnZ