Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Gestione Amazon SNS degli endpoint Firebase Cloud Messaging
Gestione e manutenzione dei token dei dispositivi
Puoi garantire la recapitabilità delle notifiche push della tua applicazione mobile seguendo questi passaggi:
-
Memorizza tutti i token del dispositivo, i corrispondenti ARN degli endpoint Amazon SNS e i timestamp sul tuo server delle applicazioni.
-
Rimuovi tutti i token obsoleti ed elimina i corrispondenti ARN degli endpoint Amazon SNS.
All'avvio iniziale dell'app, riceverai un token del dispositivo (noto anche come token di registrazione) per il dispositivo. Questo token del dispositivo viene emesso dal sistema operativo del dispositivo ed è collegato all'applicazione FCM. Dopo aver ricevuto questo token del dispositivo, puoi registrarlo con Amazon SNS come endpoint della piattaforma. Ti consigliamo di memorizzare il token del dispositivo, l'ARN dell'endpoint della piattaforma Amazon SNS e il timestamp salvandoli sul tuo server delle applicazioni o su un altro archivio permanente. Per configurare l'applicazione FCM per recuperare e archiviare i token del dispositivo, consulta Recupera e archivia i token di registrazione nella documentazione Firebase di Google.
È importante mantenere i token aggiornati. I token del dispositivo dell'utente possono cambiare nelle seguenti condizioni:
-
L'applicazione mobile viene ripristinata su un nuovo dispositivo.
-
L'utente disinstalla o aggiorna l'applicazione.
-
L'utente cancella i dati dell'applicazione.
Quando il token del dispositivo cambia, ti consigliamo di aggiornare l'endpoint Amazon SNS corrispondente con il nuovo token. Ciò consente ad Amazon SNS di continuare la comunicazione con il dispositivo registrato. Puoi farlo implementando il seguente pseudo codice all'interno della tua applicazione mobile. Descrive una pratica consigliata per la creazione e la manutenzione di endpoint di piattaforma abilitati. Questo approccio può essere eseguito ogni volta che le applicazioni mobili vengono avviate o come processo pianificato in background.
Pseudocodice
Utilizza il seguente pseudo codice FCM per gestire e mantenere i token dei dispositivi.
retrieve the latest token from the mobile OS if (endpoint arn not stored) # first time registration call CreatePlatformEndpoint store returned endpoint arn endif call GetEndpointAttributes on the endpoint arn if (getting attributes encountered NotFound exception) #endpoint was deleted call CreatePlatformEndpoint store returned endpoint arn else if (token in endpoint does not match latest) or (GetEndpointAttributes shows endpoint as disabled) call SetEndpointAttributes to set the latest token and enable the endpoint endif endif
Per saperne di più sui requisiti di aggiornamento dei token, consulta Update Tokens on a Regular Basis
Rilevamento di token non validi
Quando un messaggio viene inviato a un endpoint FCM v1 con un token di dispositivo non valido, Amazon SNS riceverà una delle seguenti eccezioni:
-
UNREGISTERED(HTTP 404): quando Amazon SNS riceve questa eccezione, riceverai un evento di mancata consegna con un token of e un tokenFailureTypeFailureMessageof Platform associato all'InvalidPlatformTokenendpoint non è valido. Amazon SNS disabiliterà l'endpoint della tua piattaforma quando una consegna fallisce con questa eccezione. -
INVALID_ARGUMENT(HTTP 400): quando Amazon SNS riceve questa eccezione, significa che il token del dispositivo o il payload del messaggio non è valido. Per ulteriori informazioni, consulta la documentazione ErrorCodeFirebase di Google.
Poiché INVALID_ARGUMENT può essere restituito in entrambi i casi, Amazon SNS restituirà un valore off e il corpo FailureType FailureMessage di InvalidNotification notifica non è valido. Quando ricevi questo errore, verifica che il payload sia corretto. Se è corretto, verifica che il token del dispositivo sia aggiornato. Amazon SNS non disabiliterà l'endpoint della tua piattaforma in caso di mancata consegna, con questa eccezione.
Un altro caso in cui si verifica un evento di mancata InvalidPlatformToken consegna è quando il token del dispositivo registrato non appartiene all'applicazione che tenta di inviare quel messaggio. In questo caso, Google restituirà un errore SENDER_ID_MISMATCH. Amazon SNS disabiliterà l'endpoint della tua piattaforma quando una consegna fallisce con questa eccezione.
Tutti i codici di errore osservati ricevuti dall'API FCM v1 sono disponibili CloudWatch quando configuri la registrazione dello stato di consegna per la tua applicazione.
Per ricevere gli eventi di consegna per la tua applicazione, consulta. Eventi applicazione disponibili
Rimozione dei token obsoleti
I token vengono considerati obsoleti una volta che le consegne dei messaggi al dispositivo endpoint iniziano a fallire. Amazon SNS imposta questi token obsoleti come endpoint disattivati per l'applicazione della tua piattaforma. Quando pubblichi su un endpoint disabilitato, Amazon SNS restituirà un EventDeliveryFailure evento con il valore of e un endpoint FailureType of EndpointDisabled è disabilitato. FailureMessage Per ricevere gli eventi di consegna per la tua applicazione, consulta. Eventi applicazione disponibili
Quando ricevi questo errore da Amazon SNS, devi rimuovere o aggiornare il token obsoleto nell'applicazione della tua piattaforma.