ErrorCode

Kode kesalahan untuk kondisi kegagalan FCM.

Kode Kesalahan Deskripsi dan Langkah Penyelesaian
UNSPECIFIED_ERROR Tidak ada informasi lebih lanjut yang tersedia tentang kesalahan ini. Tidak ada.
INVALID_ARGUMENT (kode kesalahan HTTP = 400) Parameter permintaan tidak valid. Ekstensi jenis google.rpc.BadRequest dikembalikan untuk menentukan bidang mana yang tidak valid. Penyebab potensial antara lain registrasi tidak valid, nama paket tidak valid, pesan terlalu besar, kunci data tidak valid, TTL tidak valid, atau parameter tidak valid lainnya.
Registrasi tidak valid : Periksa format token registrasi yang Anda berikan ke server. Pastikan token tersebut cocok dengan token pendaftaran yang diterima aplikasi klien dari pendaftaran dengan FCM. Jangan memotong token atau menambahkan karakter tambahan.
Nama paket tidak valid : Pastikan pesan ditujukan ke token pendaftaran yang nama paketnya cocok dengan nilai yang diteruskan dalam permintaan.
Pesan terlalu besar : Pastikan ukuran total data payload yang disertakan dalam pesan tidak melebihi batas FCM: 4.096 byte untuk sebagian besar pesan, atau 2.048 byte untuk pesan ke topik. Ini mencakup kunci dan nilainya.
Kunci data tidak valid : Pastikan data payload tidak berisi kunci (seperti dari, atau gcm, atau nilai apa pun yang diawali oleh google) yang digunakan secara internal oleh FCM. Perhatikan bahwa beberapa kata (seperti runtuh_kunci) juga digunakan oleh FCM tetapi diizinkan dalam payload, dalam hal ini nilai payload akan diganti dengan nilai FCM.
TTL tidak valid : Periksa apakah nilai yang digunakan dalam ttl adalah bilangan bulat yang mewakili durasi dalam detik antara 0 dan 2.419.200 (4 minggu).
Parameter tidak valid : Periksa apakah parameter yang diberikan memiliki nama dan jenis yang benar.
UNREGISTERED (Kode kesalahan HTTP = 404) Mesin virtual aplikasi tidak terdaftar dari FCM. Biasanya ini berarti token yang digunakan sudah tidak valid dan harus digunakan yang baru. Kesalahan ini dapat disebabkan oleh hilangnya token pendaftaran, atau token yang tidak terdaftar.
Registrasi Hilang : Jika target pesan adalah nilai token , periksa apakah permintaan berisi token registrasi.
Tidak terdaftar : Token pendaftaran yang ada mungkin tidak lagi valid dalam beberapa skenario, termasuk:
- Jika aplikasi klien membatalkan pendaftaran dengan FCM.
- Jika aplikasi klien secara otomatis dibatalkan pendaftarannya, hal ini dapat terjadi jika pengguna mencopot pemasangan aplikasi tersebut. Misalnya, di iOS, jika Layanan Masukan APN melaporkan token APN sebagai tidak valid.
- Jika masa berlaku token pendaftaran telah habis (misalnya, Google mungkin memutuskan untuk memperbarui token pendaftaran, atau masa berlaku token APN untuk perangkat iOS telah habis).
- Jika aplikasi klien diperbarui tetapi versi baru tidak dikonfigurasi untuk menerima pesan.
Untuk semua kasus ini, hapus token pendaftaran ini dari server aplikasi dan berhenti menggunakannya untuk mengirim pesan.
SENDER_ID_MISMATCH (kode kesalahan HTTP = 403) ID pengirim yang diautentikasi berbeda dengan ID pengirim untuk token pendaftaran. Token pendaftaran terikat pada kelompok pengirim tertentu. Saat aplikasi klien mendaftar ke FCM, aplikasi tersebut harus menentukan pengirim mana yang diizinkan mengirim pesan. Anda harus menggunakan salah satu ID pengirim tersebut saat mengirim pesan ke aplikasi klien. Jika Anda beralih ke pengirim lain, token pendaftaran yang ada tidak akan berfungsi.
QUOTA_EXCEEDED (kode kesalahan HTTP = 429) Batas pengiriman melebihi target pesan. Ekstensi jenis google.rpc.QuotaFailure dikembalikan untuk menentukan kuota mana yang terlampaui. Kesalahan ini dapat disebabkan oleh melebihi kuota kecepatan pesan, melebihi kuota kecepatan pesan perangkat, atau melebihi kuota kecepatan pesan topik.
Kecepatan pesan terlampaui : Kecepatan pengiriman pesan terlalu tinggi. Anda harus mengurangi kecepatan pengiriman pesan secara keseluruhan. Gunakan backoff eksponensial dengan penundaan awal minimal 1 menit untuk mencoba kembali pesan yang ditolak.
Tingkat pesan perangkat terlampaui : Tingkat pesan ke perangkat tertentu terlalu tinggi. Lihat batas kecepatan pesan untuk satu perangkat . Kurangi jumlah pesan yang dikirim ke perangkat ini dan gunakan backoff eksponensial untuk mencoba mengirim lagi.
Tingkat pesan topik terlampaui : Tingkat pesan ke pelanggan untuk topik tertentu terlalu tinggi. Kurangi jumlah pesan yang dikirim untuk topik ini dan gunakan backoff eksponensial dengan penundaan awal minimal 1 menit untuk mencoba pengiriman ulang.
UNAVAILABLE (Kode kesalahan HTTP = 503) Server kelebihan beban. Server tidak dapat memproses permintaan tepat waktu. Coba lagi permintaan yang sama, tetapi Anda harus:
- Hormati header Retry-After jika disertakan dalam respons dari Server Koneksi FCM.
- Terapkan back-off eksponensial dalam mekanisme percobaan ulang Anda. (misalnya jika Anda menunggu satu detik sebelum percobaan ulang pertama, tunggu setidaknya dua detik sebelum percobaan berikutnya, lalu 4 detik dan seterusnya). Jika Anda mengirim banyak pesan, pertimbangkan untuk menerapkan jittering. Untuk informasi lebih lanjut, lihat Menangani percobaan ulang . Pengirim yang menyebabkan masalah berisiko ditolak.
INTERNAL (kode kesalahan HTTP = 500) Terjadi kesalahan internal yang tidak diketahui. Server mengalami kesalahan saat mencoba memproses permintaan. Anda dapat mencoba kembali permintaan yang sama dengan mengikuti saran di Menangani percobaan ulang . Jika kesalahan terus berlanjut, hubungi dukungan Firebase.
THIRD_PARTY_AUTH_ERROR (kode kesalahan HTTP = 401) Sertifikat APN atau kunci autentikasi push web tidak valid atau hilang. Pesan yang ditargetkan ke perangkat iOS atau pendaftaran web push tidak dapat dikirim. Periksa validitas kredensial pengembangan dan produksi Anda.