Come faccio a risolvere gli errori di notifica push FCM per dispositivi mobili in Amazon SNS?

4 minuti di lettura
0

Le mie notifiche push mobili di Firebase Cloud Messaging (FCM) non vengono inviate tramite Amazon Simple Notification Service (Amazon SNS).

Risoluzione

Configurare e visualizzare gli attributi dello stato di consegna delle notifiche push per Amazon CloudWatch Logs

Segui le istruzioni in Come faccio ad accedere ai log di consegna degli argomenti di Amazon SNS per le notifiche push?

Verifica che il dispositivo sia in grado di connettersi ai server di notifica push

Se il problema si verifica solo su un dispositivo specifico, assicurati che il dispositivo possa connettersi ai server di notifica push. Ad esempio, il firewall potrebbe limitare il traffico che consente ai dispositivi mobili di connettersi con FCM sulla rete. Per ulteriori informazioni, consulta Porte FCM e firewall sul sito Web di Firebase.

Verifica se l'endpoint della piattaforma associato al dispositivo sia attivato

Controlla i log di consegna delle notifiche push non riuscite per il valore "ProviderResponse": l'endpoint è disabilitato".

Esempio:

{  "notification": {
    "messageMD5Sum": "c8c339cf07dc39c9388253dgc81f257",
    "messageId": "fg207f98-0244-6767-96e2-45b1fg451gg8",
    "timestamp": "2023-06-23 16: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"
}

Se visualizzi il valore "ProviderResponse": "L'endpoint è disabilitato" nei log di consegna non riuscita, allora l'endpoint della piattaforma associato al dispositivo è disabilitato. Per risolvere questo problema, consulta Perché il mio endpoint di notifica push non è attivo?

Per ulteriori informazioni, consulta Reinizializzazione di un endpoint della piattaforma associato a un token di dispositivo non valido.

Verifica di poter ricevere notifiche direttamente da FCM

Per determinare se il problema riguarda gli endpoint Amazon SNS o l'applicazione client, invia un messaggio di prova sulla console FCM. Per istruzioni, consulta Inviare un messaggio di notifica di prova sul sito Web di Firebase.

Assicurati di utilizzare il tipo di messaggio FCM corretto

FCM supporta messaggi di notifica e messaggi di dati. L'SDK FCM gestisce automaticamente i messaggi di notifica. L'app client gestisce i messaggi di dati. Per ulteriori informazioni, consulta Tipi di messaggi sul sito Web di Firebase. Inoltre, consulta Inviare messaggi specifici per la piattaforma.

Impostare la chiave dati per elaborare i dati dei messaggi sulla tua app client

Assicurati di impostare la chiave dati con le coppie chiave-valore personalizzate per inviare un payload di dati all'app client. Per ulteriori informazioni, consulta Messaggi di dati sul sito Web di Firebase.

Usa l'SDK FCM per visualizzare le notifiche per la tua app client

Assicurati di utilizzare la chiave di notifica con il set predefinito di opzioni chiave-valore per il messaggio di notifica. Per ulteriori informazioni, consulta Messaggi di notifica sul sito Web di Firebase.

Identificare e risolvere i codici di risposta agli errori delle notifiche push

Completa i seguenti passaggi:

  1. Controlla i log dello stato della spedizione per eventuali consegne di notifiche push non riuscite ("status": "FAILURE").
  2. Controlla i log di consegna delle notifiche push non riuscite per eventuali altri codici di risposta della piattaforma.
  3. Segui l'azione consigliata indicata per i codici nella sezione Codici di risposta agli errori dei messaggi Downstream sul sito Web di Firebase.

Per ulteriori informazioni sui codici di errore FCM e sulle best practice per la risoluzione dei problemi, consulta ErrorCode sul sito Web di Firebase.

Risolvi i problemi relativi ai messaggi che indicano che il messaggio è stato consegnato, ma questo non viene visualizzato sul dispositivo

Il dispositivo non ha ricevuto la notifica oppure la notifica non viene visualizzata nella barra delle notifiche del sistema. Per determinare la causa, includi le istruzioni dei log nel gestore dei messaggi dell'applicazione.

Se i messaggi vengono ricevuti come payload di notifica ma non come payload di dati, esamina il gestore dei messaggi nel codice dell'applicazione client. Solo il codice dell'applicazione client gestisce le notifiche dei dati. Assicurati che la notifica venga inserita nella barra delle notifiche del sistema.

Per ulteriori informazioni, consulta Gestione dei messaggi sul sito Web di Firebase.

Risolvere i problemi relativi ai dispositivi Android

Per i dispositivi Android, utilizza la pagina di diagnostica Android di FCM per verificare lo stato della consegna e risolvere ulteriormente il problema. Per aprire la pagina di diagnostica FCM, digita***#*#426#*#*** dal dialer di Google. Per ulteriori informazioni, consulta la sezione Diagnostica Android di FCM sul sito Web di Firebase.

Informazioni correlate

Come faccio a creare un'applicazione per la piattaforma Android in Amazon SNS per le notifiche push?

Monitoraggio degli argomenti di Amazon SNS tramite CloudWatch

Notifiche push per dispositivi mobili

Come faccio a creare un'applicazione per la piattaforma APNs per l'invio di notifiche push in Amazon SNS utilizzando l'interfaccia a riga di comando di AWS?

AWS UFFICIALE
AWS UFFICIALEAggiornata 8 mesi fa