Gestire gli errori dell'SDK consumer
L'SDK consumer invia errori di aggiornamento della corsa all'app consumer utilizzando un callback
meccanismo di attenzione. Il parametro di callback è un tipo restituito specifico della piattaforma (
TripUpdateError
su Android
NSError
su iOS).
Estrarre i codici di stato
Gli errori passati al callback sono in genere errori gRPC e puoi anche estrarre informazioni aggiuntive sotto forma di codice di stato. Per per l'elenco completo dei codici di stato, consulta Codici di stato e loro utilizzo in gRPC.
Interpretare i codici di stato
I codici di stato coprono due tipi di errori: quelli relativi al server e alla rete, mentre lato client.
Errori del server e della rete
I seguenti codici di stato riguardano errori di rete o del server e non occorre fare nulla per risolverli. L'SDK consumer viene li recupera.
Codice di stato | Descrizione |
---|---|
INTERROTTO | Il server ha smesso di inviare la risposta. Questo è causato di solito da un problema con il server. |
CANCELLATO | Il server ha terminato la risposta in uscita. Questa operazione normalmente
si verifica quando
l'app viene inviata in background o quando si verifica un cambiamento di stato App consumer. |
INTERROTTO | |
DEADLINE_EXCEEDED | Il server ha impiegato troppo tempo per rispondere. |
UNAVAILABLE | Il server non era disponibile. Questo è causato di solito da una rete problema. |
Errori client
I seguenti codici di stato riguardano gli errori del client e devi intervenire per risolverle. L'SDK consumer continua a riprovare ad aggiornare il percorso finché condivisione del percorso, ma non si recupererà finché non intervieni.
Codice di stato | Descrizione |
---|---|
INVALID_ARGUMENT | L'app consumer ha specificato un nome di viaggio non valido. Il nome della corsa deve
sono nel formato providers/{provider_id}/trips/{trip_id} .
|
NOT_FOUND | Il viaggio non è mai stato creato. |
PERMISSION_DENIED | L'app consumer non ha autorizzazioni sufficienti. Questo errore si verifica quando:
|
RESOURCE_EXHAUSTED | La quota di risorse è pari a zero o la velocità del flusso di traffico supera la limite di velocità. |
NON AUTENTICATO | La richiesta non è riuscita a eseguire l'autenticazione a causa di un token JWT non valido. Questo si verifica quando il token JWT è firmato senza un ID trip oppure quando il token JWT è scaduto. |