Come posso risolvere i problemi relativi alle notifiche push per dispositivi mobili di Firebase Cloud Messaging (FCM) su Amazon SNS?

Ultimo aggiornamento: 06/10/2021

Le notifiche push per dispositivi mobili di My Firebase Cloud Messaging (FCM) non vengono inviate tramite Amazon Simple Notification Service (Amazon SNS). In che modo posso risolvere questo errore?

Risoluzione

Configura e visualizza gli attributi dello stato di consegna delle notifiche push per Amazon CloudWatch Logs

Verifica se riesci a ricevere notifiche direttamente da FCM

Per verificare se il problema riguarda il lato dell'endpoint Amazon SNS o quello dell'applicazione client, invia un messaggio di prova sulla console FCM. Per istruzioni, consulta Invia un messaggio di notifica (per iOS) o Invia un messaggio di notifica di prova (per Android) nella documentazione di FCM.

Dopo aver inviato la notifica di test, la console FCM visualizza un pannello che fornisce i risultati della notifica del test. Se non ricevi la notifica, segui le istruzioni nella sezione Conferma che stai utilizzando il tipo di messaggio FCM corretto di questo articolo.

Verifica se l'endpoint della piattaforma associato al dispositivo che non riceve le notifiche push è attivato

1.    Controlla i registri dello stato di consegna per le consegne di notifiche push non riuscite ("status": "FAILURE").

2.    Controlla i registri di consegna delle notifiche push non riuscite per il seguente valore: "providerResponse": "Endpoint is disabled". Se vedi questo valore nei registri di consegna non riusciti, l'endpoint della piattaforma associato al dispositivo che non riceve le notifiche push viene disattivato.

3.    Se l'endpoint della piattaforma è disattivato, riattivalo eseguendo l'operazione API SetEndpointAttributes. L'esecuzione dell'operazione API SetEndpointAttributes associa l'endpoint al token di dispositivo valido più recente.

Nota: per ulteriori informazioni, consulta Riattivazione di un endpoint di piattaforma associato a un token di dispositivo non valido nella sezione Risoluzione dei problemi di Creazione di un endpoint di piattaforma.

Esempio di evento del registro CloudWatch per la consegna delle notifiche push FCM non riuscite

{
  "notification": {
    "messageMD5Sum": "c8c339cf07dc39c9388253dgc81f257",
    "messageId": "fg207f98-0244-6767-96e2-45b1fg451gg8",
    "timestamp": "2021-05-25 22:27:51.889"
  },
  "delivery": {
    "deliveryId": "76ab7dcd-f444-5b4f-9d1b-24ea8863d9bc",
    "destination": "arn:aws:sns:us-east-1:123456789101:endpoint/GCM/MyAndroidApp/682dc992-a47f-45f7-b980-97727cce0a9c",
    "providerResponse": "Endpoint is disabled",
    "dwellTimeMs": 28,
    "attempts": 1,
    "token": "ojnco9nc9weucn9encx9ewunc9nu9w9euncec9necn9xexnexex9encewcerve0f0o0dmco9j",
    "statusCode": 400
  },
  "status": "FAILURE"
}

Conferma di utilizzare il tipo di messaggio FCM corretto

Nota: FCM supporta due tipi di messaggi: messaggi di notifica e messaggi di dati. I messaggi di notifica vengono gestiti automaticamente dall'SDK FCM. I messaggi di dati vengono gestiti dall'app client. Per maggiori informazioni, consulta Tipi di messaggi nella documentazione FCM e Invio di messaggi specifici della piattaforma nella Guida per sviluppatori di Amazon SNS.

Se stai elaborando i dati dei messaggi sull'app client

Assicurati di utilizzare i messaggi di dati. Per ulteriori informazioni, consulta Messaggi di dati nella documentazione FCM.

Se vuoi che FCM SDK gestisca la visualizzazione delle notifiche per conto dell'app client

Assicurati di utilizzare i messaggi di notifica. Per ulteriori informazioni, consulta Messaggi di notifica nella documentazione di FCM.

Identifica e risolvi eventuali codici di risposta agli errori FCM

1.    Controlla i registri dello stato di consegna per le consegne di notifiche push non riuscite ("status": "FAILURE").

2.    Controlla i registri di consegna delle notifiche push non riuscite per qualsiasi altro codice di risposta della piattaforma. Quindi, segui l'Operazione consigliata elencata per quel codice nella sezione Codici di risposta agli errori dei messaggi a valle della documentazione FCM.

Nota: per ulteriori informazioni sui codici di errore FCM e sulle best practice per la risoluzione dei problemi, consulta ErrorCode nella documentazione di FCM.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?