Menangani Error SDK Konsumen
Consumer SDK mengirim error update perjalanan ke aplikasi konsumen menggunakan callback
mekanisme atensi. Parameter callback adalah jenis nilai yang ditampilkan khusus platform (
TripUpdateError
di Android, dan
NSError
di iOS).
Mengekstrak kode status
Error yang diteruskan ke callback biasanya merupakan error gRPC, dan Anda juga dapat mengekstrak informasi tambahan dari mereka dalam bentuk kode status. Untuk daftar lengkap kode status, lihat Kode status dan penggunaannya di gRPC.
Menafsirkan kode status
Kode status mencakup dua jenis kesalahan: kesalahan server dan jaringan, dan {i>client-side<i}.
Error server dan jaringan
Kode status berikut ditujukan untuk kesalahan jaringan atau server, dan Anda tidak perlu mengambil tindakan apa pun untuk menyelesaikannya. Consumer SDK secara otomatis pulih dari serangan tersebut.
Kode Status | Deskripsi |
---|---|
ABORTED | Server berhenti mengirim respons. Hal ini biasanya disebabkan oleh masalah server. |
DIBATALKAN | Server menghentikan respons keluar. Hal ini biasanya
terjadi ketika
aplikasi dikirim ke latar belakang, atau saat ada perubahan status pada Aplikasi konsumen. |
INTERRUPTED | |
DEADLINE_EXCEEDED | Server membutuhkan waktu terlalu lama untuk merespons. |
UNAVAILABLE | Server tidak tersedia. Hal ini biasanya disebabkan oleh jaringan masalah. |
Error klien
Kode status berikut ditujukan untuk error klien, dan Anda harus mengambil tindakan untuk menyelesaikannya. Consumer SDK terus mencoba memuat ulang perjalanan hingga Anda berbagi perjalanan akhir, tetapi hal ini tidak akan dipulihkan sampai Anda mengambil tindakan.
Kode Status | Deskripsi |
---|---|
INVALID_ARGUMENT | Aplikasi Konsumen menentukan nama perjalanan yang tidak valid; Nama perjalanan harus
ikuti format providers/{provider_id}/trips/{trip_id} .
|
NOT_FOUND | Perjalanan tidak pernah dibuat. |
PERMISSION_DENIED | Aplikasi Konsumen tidak memiliki izin yang memadai. Error ini terjadi saat:
|
RESOURCE_EXHAUSTED | Kuota resource nol, atau laju aliran traffic melebihi batas kecepatan. |
TIDAK DIAUTENTIKASI | Autentikasi permintaan gagal karena token JWT tidak valid. Ini terjadi baik ketika token JWT ditandatangani tanpa ID perjalanan, atau saat token JWT kedaluwarsa. |