Pakiet SDK Consumer SDK wysyła do aplikacji konsumenta błędy aktualizacji podróży za pomocą mechanizmu wywołania zwrotnego. Parametr wywołania zwrotnego to specyficzny dla danej platformy typ zwracany (TripUpdateError
na Androidzie i NSError
na iOS).
Wyodrębnianie kodów stanu
Błędy przekazywane do wywołania zwrotnego są zwykle błędami gRPC, ale można też wyodrębnić z nich dodatkowe informacje w postaci kodu stanu. Pełną listę kodów stanu znajdziesz w sekcji Kody stanu i ich użycie w gRPC.
Java
Możesz wyodrębnić kod stanu gRPC, który zawiera szczegółowe informacje o błędzie z TripUpdateError
zwróconego przez onTripUpdateError()
.
// Called when there is a trip update error.
@Override
public void onTripUpdateError(TripInfo tripInfo, TripUpdateError error) {
Status.Code code = error.getStatusCode();
}
Kotlin
Możesz wyodrębnić kod stanu gRPC, który zawiera szczegółowe informacje o błędzie z TripUpdateError
zwróconego przez onTripUpdateError()
.
// Called when there is a trip update error.
override fun onTripUpdateError(tripInfo: TripInfo, error: TripUpdateError) {
val code = error.getStatusCode()
}
Swift
Urządzenie NSError
zostanie odwołane za tripModel(_:didFailUpdateTripWithError:)
.
// Called when there is a trip update error.
func tripModel(_ tripModel: GMTCTripModel, didFailUpdateTripWithError error: Error?) {
// Check to see if the error comes from gRPC.
if let error = error as NSError?, error.domain == "io.grpc" {
let gRPCErrorCode = error.code
...
}
}
Objective-C
Urządzenie NSError
zostanie odwołane za tripModel:didFailUpdateTripWithError:
.
// Called when there is a trip update error.
- (void)tripModel:(GMTCTripModel *)tripModel didFailUpdateTripWithError:(NSError *)error {
// Check to see if the error comes from gRPC.
if ([error.domain isEqualToString:@"io.grpc"]) {
NSInteger gRPCErrorCode = error.code;
...
}
}
Interpretowanie kodów stanu
Kody stanu obejmują 2 rodzaje błędów: błędy związane z serwerem i siecią oraz błędy po stronie klienta.
Błędy serwera i sieci
Poniższe kody stanu wskazują błędy sieci lub serwera. Nie musisz nic robić, aby je naprawić. Pakiet SDK Consumer SDK automatycznie pobiera z nich dane.
Kod stanu | Opis |
---|---|
PRZERWANE | Serwer przestał wysyłać odpowiedź. Zwykle jest to spowodowane problemem z serwerem. |
ANULOWANY | Serwer zakończył odpowiedź wychodzącą. Zwykle dzieje się tak, gdy aplikacja jest wysyłana w tle lub gdy zmienia się stan w aplikacji Consumer. |
PRZERWIONO | |
PRZEKROCZONO_TERMIN | Serwer potrzebował zbyt wiele czasu na odpowiedź. |
PRODUKT NIEDOSTĘPNY | Serwer był niedostępny. Zwykle jest to spowodowane problemem z siecią. |
Błędy klienta
Poniższe kody stanu dotyczą błędów klienta. Musisz podjąć działania, aby je naprawić. Pakiet SDK Consumer SDK będzie ponawiał próby odświeżania trasy, dopóki nie zakończysz udostępniania ścieżki, ale nie wróci do niej, dopóki nie podejmiesz odpowiednich działań.
Kod stanu | Opis |
---|---|
NIEPRAWIDŁOWY_ARG | Aplikacja konsumenta określiła nieprawidłową nazwę podróży. Nazwa podróży musi mieć format providers/{provider_id}/trips/{trip_id} .
|
NIE ZNALEZIONO | Podróż nigdy nie została utworzona. |
UPRAWNIENIA_ODRZUCONO | Aplikacja dla klientów indywidualnych nie ma wystarczających uprawnień. Ten błąd występuje, gdy:
|
MATERIAŁY WYKRYWANE | Limit zasobów wynosi zero lub prędkość przepływu ruchu przekracza ograniczenie. |
NIE UWIERZYTELNIOWA | Żądanie nie powiodło się z powodu nieprawidłowego tokena JWT. Ten błąd występuje, gdy token JWT został podpisany bez identyfikatora podróży lub token JWT wygasł. |