ErrorCode

Kode error untuk kondisi kegagalan FCM.

Kode Error Deskripsi dan Langkah Penyelesaian
UNSPECIFIED_ERROR Informasi lebih lanjut tidak tersedia tentang error ini. Tidak ada.
INVALID_ARGUMENT (kode error HTTP = 400) Parameter permintaan tidak valid. Ekstensi jenis google.rpc.BadRequest ditampilkan untuk menentukan kolom mana yang tidak valid. Kemungkinan penyebabnya antara lain pendaftaran tidak valid, nama paket tidak valid, pesan terlalu besar, kunci data tidak valid, TTL tidak valid, atau parameter tidak valid lainnya.
Pendaftaran tidak valid: Periksa format token pendaftaran yang Anda teruskan ke server. Pastikan token tersebut sama dengan token pendaftaran yang diterima aplikasi klien ketika mendaftar ke FCM. Jangan memotong token atau menambahkan karakter lain.
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, yaitu 4.096 byte untuk sebagian besar pesan, atau 2.048 byte untuk pesan ke topik. Ini mencakup baik kunci maupun nilai.
Kunci data tidak valid: Pastikan data payload tidak berisi kunci (seperti from, atau gcm, atau nilai apa pun yang diawali oleh Google) yang digunakan secara internal oleh FCM. Perlu diperhatikan bahwa beberapa kata (seperti Ciutkan_key) juga digunakan oleh FCM, tetapi diizinkan dalam payload. Dalam hal ini, nilai payload akan diganti oleh nilai FCM.
TTL tidak valid: Pastikan nilai yang digunakan dalam ttl adalah bilangan bulat yang mewakili durasi dalam detik antara 0 dan 2.419.200 (4 minggu).
Parameter tidak valid: Pastikan parameter yang diberikan memiliki nama dan jenis yang benar.
UNREGISTERED (kode error HTTP = 404) Instance aplikasi dibatalkan pendaftarannya dari FCM. Hal ini biasanya berarti token yang digunakan tidak lagi valid dan token baru harus digunakan. Error ini dapat disebabkan oleh token pendaftaran yang hilang atau token yang tidak terdaftar.
Pendaftaran Tidak Ada: Jika target pesan adalah nilai token, pastikan permintaan berisi token pendaftaran.
Tidak terdaftar: Token pendaftaran yang ada bisa menjadi tidak valid dalam sejumlah skenario, termasuk:
- Jika aplikasi klien membatalkan pendaftaran ke FCM.
- Jika pendaftaran aplikasi klien dibatalkan secara otomatis, yang dapat terjadi jika pengguna meng-uninstal aplikasi. Misalnya, pada iOS, jika APNs Feedback Service melaporkan bahwa token APNs tidak valid.
- Jika masa berlaku token pendaftaran habis (misalnya, Google mungkin memutuskan untuk memperbarui token pendaftaran, atau masa berlaku token APNs untuk perangkat iOS telah habis).
- Jika aplikasi klien diupdate tetapi versi yang baru belum dikonfigurasi untuk menerima pesan.
Untuk semua kasus tersebut, hapus token pendaftaran ini dari server aplikasi dan jangan gunakan lagi untuk mengirim pesan.
SENDER_ID_MISMATCH (kode error HTTP = 403) ID pengirim yang diautentikasi berbeda dengan ID pengirim untuk token pendaftaran. Token pendaftaran terikat pada grup pengirim tertentu. Ketika aplikasi klien mendaftar ke FCM, aplikasi tersebut harus menetapkan pengirim mana yang diizinkan untuk 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 error HTTP = 429) Batas pengiriman untuk target pesan terlampaui. Ekstensi jenis google.rpc.QuotaFailure ditampilkan untuk menentukan kuota yang terlampaui. Error ini dapat disebabkan oleh melampaui kuota kapasitas pesan, melampaui kuota rasio pesan perangkat, atau melampaui kuota rasio pesan topik.
Tarif pesan terlampaui: Tingkat pengiriman pesan terlalu tinggi. Anda harus mengurangi frekuensi pengiriman pesan secara keseluruhan. Gunakan backoff eksponensial dengan penundaan awal minimum 1 menit untuk mencoba kembali pesan yang ditolak.
Kecepatan pesan perangkat terlampaui: Tingkat pengiriman pesan ke perangkat tertentu terlalu tinggi. Lihat batas kapasitas pesan untuk satu perangkat. Kurangi jumlah pesan yang dikirim ke perangkat ini dan gunakan backoff eksponensial untuk mencoba mengirimkan pesan lagi.
Kecepatan pesan topik terlampaui: Tingkat pengiriman pesan ke pelanggan topik tertentu terlalu tinggi. Kurangi jumlah pesan yang dikirim untuk topik ini dan gunakan backoff eksponensial dengan penundaan awal minimum 1 menit untuk mencoba mengirimkan pesan lagi.
UNAVAILABLE (kode error HTTP = 503) Server kelebihan beban. Server tidak bisa memproses permintaan secara tepat waktu. Coba lagi permintaan yang sama, tetapi Anda harus:
- Mematuhi header Retry-After jika dimasukkan dalam respons dari Server Koneksi FCM.
- Mengimplementasikan back-off eksponensial dalam mekanisme percobaan ulang. (misalnya, jika Anda menunggu satu detik sebelum percobaan ulang pertama, tunggulah minimal dua detik sebelum percobaan ulang berikutnya, lalu 4 detik dan seterusnya). Jika Anda mengirim beberapa pesan, pertimbangkan untuk menerapkan jitter. Untuk mengetahui informasi selengkapnya, lihat Menangani percobaan ulang. Pengirim yang menyebabkan masalah berisiko ditolak.
INTERNAL (kode error HTTP = 500) Terjadi error internal yang tidak diketahui. Server mengalami error ketika mencoba memproses permintaan. Anda dapat mencoba lagi permintaan yang sama dengan mengikuti saran di Menangani percobaan ulang. Jika error tetap berlanjut, hubungi dukungan Firebase.
THIRD_PARTY_AUTH_ERROR (kode error HTTP = 401) Sertifikat APN atau kunci autentikasi web push tidak valid atau hilang. Pesan yang ditargetkan ke perangkat iOS atau pendaftaran web push tidak dapat dikirim. Periksa validitas kredensial pengembangan dan produksi Anda.