Protokol HTTP Firebase Cloud Messaging

Dokumen ini menyediakan referensi untuk sintaksis HTTP yang digunakan untuk meneruskan pesan dari server aplikasi Anda ke aplikasi klien melalui Firebase Cloud Messaging.

Saat menggunakan protokol HTTP lama, server aplikasi Anda harus mengarahkan semua permintaan HTTP ke endpoint ini:

https://fcm.googleapis.com/fcm/send

Parameter dan opsi yang tersedia tercakup ke dalam dua kategori besar berikut ini:

Sintaksis pesan downstream

Bagian ini memberikan sintaksis untuk mengirim pesan downstream dan menafsirkan Respons HTTP dari Firebase Cloud Messaging.

Pesan HTTP downstream (JSON)

Tabel berikut ini berisi daftar target, opsi, dan payload untuk pesan HTTP JSON.

Tabel 1. Target, opsi, dan payload untuk pesan HTTP downstream (JSON).

Parameter Penggunaan Deskripsi
Target
to Opsional, string

Parameter ini menetapkan penerima pesan.

Nilainya dapat berupa token pendaftaran perangkat, kunci notifikasi grup perangkat, atau topik tunggal (diawali dengan /topics/). Untuk mengirim ke beberapa topik, gunakan parameter condition.

registration_ids
Opsional, array string

Parameter ini menentukan penerima pesan multicast, yakni pesan yang dikirim ke lebih dari satu token pendaftaran.

Nilainya harus berupa array token pendaftaran yang akan menjadi tujuan pengiriman pesan multicast. Array harus memuat minimal 1 dan maksimal 1.000 token pendaftaran. Untuk mengirim pesan ke satu perangkat, gunakan parameter to.

Pesan multicast hanya diperbolehkan menggunakan format HTTP JSON.

condition Opsional, string

Parameter ini menetapkan ekspresi logis kondisi yang menentukan target pesan.

Kondisi yang didukung: Topik, yang diformat sebagai "'yourTopic' in topic". Nilai ini tidak peka huruf besar/kecil.

Operator yang didukung: &&, ||. Maksimum dua operator per pesan topik yang didukung.

notification_key
Tidak digunakan lagi
Opsional, string

Parameter ini tidak digunakan lagi. Sebaliknya, gunakan to untuk menentukan penerima pesan. Untuk mengetahui informasi lebih lanjut mengenai cara mengirimkan pesan ke beberapa perangkat, baca dokumentasi untuk platform Anda.

Opsi
collapse_key Opsional, string

Parameter ini mengidentifikasi grup pesan (misalnya, dengan collapse_key: "Updates Available") yang dapat diciutkan, sehingga hanya pesan terakhir yang akan dikirim ketika pengiriman dapat dilanjutkan. Hal ini dimaksudkan untuk mencegah pengiriman terlalu banyak pesan yang sama ketika perangkat kembali online atau aktif.

Perlu diperhatikan bahwa urutan pesan yang akan dikirim tidak dijamin.

Catatan: Maksimum 4 kunci penciutan berbeda diizinkan pada waktu tertentu. Artinya, FCM dapat menyimpan empat pesan berbeda secara bersamaan per aplikasi klien. Jika Anda melebihi jumlah ini, tidak ada jaminan manakah dari empat kunci penciutan ini yang akan disimpan oleh FCM.

priority Opsional, string

Menetapkan prioritas pesan. Nilai yang valid adalah "normal" dan "high". Di platform Apple, hal ini sesuai dengan prioritas APN 5 dan 10.

Secara default, pesan notifikasi dikirim dengan prioritas tinggi dan pesan data dikirim dengan prioritas normal. Prioritas normal mengoptimalkan konsumsi baterai aplikasi klien dan sebaiknya digunakan kecuali jika diperlukan pengiriman dengan segera. Untuk pesan dengan prioritas normal, aplikasi dapat menerima pesan dengan penundaan yang tidak ditetapkan.

Jika dikirim dengan prioritas tinggi, pesan akan dikirim dengan segera dan aplikasi dapat menampilkan notifikasi.

content_available Opsional, boolean

Pada platform Apple, gunakan kolom ini untuk mewakili content-available dalam payload APN. Saat notifikasi atau pesan dikirim dan parameter ini disetel ke true, aplikasi klien yang tidak aktif akan diaktifkan, serta pesan akan dikirim melalui APN sebagai notifikasi diam dan tidak melalui FCM. Perhatikan bahwa notifikasi diam pada APN tidak dijamin akan dikirim, dan dapat bergantung pada faktor-faktor seperti apakah pengguna mengaktifkan Mode Daya Rendah atau tidak, menghentikan aplikasi secara paksa, dll. Pada Android, pesan data akan mengaktifkan aplikasi secara default. Pada Chrome, saat ini belum didukung.

mutable_content Opsional, boolean JSON

Di platform Apple, gunakan kolom ini untuk mewakili mutable-content dalam payload APN. Jika notifikasi dikirim dan parameter ini ditetapkan ke true, isi notifikasi dapat dimodifikasi sebelum ditampilkan dengan menggunakan ekstensi aplikasi Notification Service. Parameter ini akan diabaikan untuk Android dan web.

time_to_live Opsional, angka

Parameter ini menetapkan berapa lama (dalam detik) pesan harus disimpan dalam penyimpanan FCM jika perangkat sedang offline. Waktu aktif maksimum yang didukung adalah 4 minggu, dan nilai defaultnya adalah 4 minggu. Untuk informasi lebih lanjut, lihat Menetapkan masa aktif pesan.

restricted_package_
name
(Khusus Android)
Opsional, string Parameter ini menetapkan nama paket aplikasi yang harus sesuai dengan token pendaftaran agar bisa menerima pesan.
dry_run Opsional, boolean

Jika disetel ke true, parameter ini memungkinkan developer untuk menguji permintaan tanpa benar-benar mengirim pesan.

Nilai defaultnya adalah false.

Payload
data Opsional, objek

Parameter ini menetapkan key-value pair kustom pada payload pesan.

Misalnya, dengan data:{"score":"3x1"}:

Pada platform Apple, jika pesan dikirim melalui APN, pesan tersebut mewakili kolom data kustom. Jika dikirim melalui FCM, pesan akan direpresentasikan sebagai kamus nilai kunci dalam AppDelegate application:didReceiveRemoteNotification:.

Pada Android, ini akan menghasilkan ekstra intent bernama score dengan nilai string 3x1.

Kunci tidak boleh berupa kata yang telah digunakan ("from" atau "message_type", atau kata apa pun yang dimulai dengan "google" atau "gcm"). Jangan gunakan kata apa pun yang didefinisikan dalam tabel ini (seperti collapse_key).

Nilai dalam jenis string direkomendasikan. Anda harus mengonversi nilai dalam objek atau jenis data non-string lainnya (misalnya, bilangan bulat atau boolean) menjadi string.

notification Opsional, objek Parameter ini menetapkan key-value pair setelan awal yang terlihat oleh pengguna pada payload notifikasi. Lihat Dukungan payload notifikasi untuk mengetahui detailnya. Untuk informasi lebih lanjut mengenai opsi pesan notifikasi dan pesan data, lihat Jenis pesan. Jika payload notifikasi disediakan, atau opsi content_available ditetapkan ke true untuk pesan ke perangkat Apple, pesan tersebut akan dikirim melalui APN. Sebaliknya, pesan akan dikirim melalui FCM.

Dukungan payload notifikasi

Tabel di bawah ini mencantumkan kunci yang telah ditetapkan sebelumnya yang tersedia untuk mem-build pesan notifikasi untuk iOS dan Android.

Tabel 2a. iOS — kunci untuk pesan notifikasi

Parameter Penggunaan Deskripsi
title Opsional, string

Judul notifikasi.

Kolom ini tidak ditampilkan di ponsel dan tablet.

body Opsional, string

Teks isi notifikasi.

sound Opsional, string

Suara yang diputar saat perangkat menerima notifikasi.

String yang menentukan file suara dalam paket utama aplikasi klien atau dalam folder Library/Sounds di container data aplikasi. Lihat Library Developer iOS untuk informasi selengkapnya.

badge Opsional, string

Nilai badge pada ikon aplikasi layar utama.

Jika tidak ditentukan, badge tidak diubah.

Jika disetel ke 0, badge dihapus.

click_action Opsional, string

Tindakan yang terkait dengan klik pengguna pada notifikasi.

Terkait dengan category dalam payload APN.

subtitle Opsional, string

Subjudul notifikasi.

body_loc_key Opsional, string

Kunci ke string isi di dalam resource string aplikasi yang akan digunakan untuk melokalkan teks isi ke bahasa pengguna saat ini.

Terkait dengan loc-key dalam payload APN.

Baca Referensi Kunci Payload dan Melokalkan Isi Notifikasi Jarak Jauh untuk mengetahui informasi selengkapnya.

body_loc_args Opsional, array JSON sebagai string

Nilai string variabel yang akan digunakan sebagai pengganti penentu format dalam body_loc_key untuk melokalkan teks isi ke bahasa pengguna saat ini.

Terkait dengan loc-args dalam payload APN.

Baca Referensi Kunci Payload dan Melokalkan Isi Notifikasi Jarak Jauh untuk mengetahui informasi selengkapnya.

title_loc_key Opsional, string

Kunci untuk string judul di dalam resource string aplikasi yang akan digunakan untuk melokalkan teks judul ke bahasa pengguna saat ini.

Terkait dengan title-loc-key dalam payload APN.

Baca Referensi Kunci Payload dan Melokalkan Isi Notifikasi Jarak Jauh untuk mengetahui informasi selengkapnya.

title_loc_args Opsional, array JSON sebagai string

Nilai string variabel yang akan digunakan sebagai pengganti penentu format dalam title_loc_key untuk melokalkan teks judul ke bahasa pengguna saat ini.

Terkait dengan title-loc-args dalam payload APN.

Baca Referensi Kunci Payload dan Melokalkan Isi Notifikasi Jarak Jauh untuk mengetahui informasi selengkapnya.

Tabel 2b. Android — kunci untuk pesan notifikasi

Parameter Penggunaan Deskripsi
title Opsional, string

Judul notifikasi.

body Opsional, string

Teks isi notifikasi.

android_channel_id Opsional, string

ID saluran notifikasi (baru di Android O).

Aplikasi harus membuat saluran dengan ID saluran ini sebelum menerima notifikasi apa pun dengan ID saluran ini.

Jika Anda tidak mengirim ID saluran ini pada permintaan, atau jika ID saluran yang disediakan belum dibuat oleh aplikasi, FCM akan menggunakan ID saluran yang ditentukan dalam manifes aplikasi.

icon Opsional, string

Ikon notifikasi.

Menyetel ikon notifikasi ke myicon untuk resource drawable myicon. Jika Anda tidak mengirim kunci ini dalam permintaan, maka FCM akan menampilkan ikon peluncur yang ditentukan dalam manifes aplikasi.

sound Opsional, string

Suara yang diputar saat perangkat menerima notifikasi.

Mendukung "default" atau nama file resource suara yang dipaketkan dalam aplikasi. File suara harus berada di /res/raw/.

tag Opsional, string

ID yang digunakan untuk mengganti notifikasi yang ada di panel samping notifikasi.

Jika tidak ditentukan, setiap permintaan akan membuat notifikasi baru.

Jika ditentukan dan notifikasi dengan tag yang sama telah ditampilkan, notifikasi yang baru akan menggantikan notifikasi lama di panel samping notifikasi.

color Opsional, string

Warna ikon notifikasi, dinyatakan dalam format #rrggbb.

click_action Opsional, string

Tindakan yang terkait dengan klik pengguna pada notifikasi.

Jika ditentukan, aktivitas dengan filter intent yang cocok akan diluncurkan ketika pengguna mengklik notifikasi.

body_loc_key Opsional, string

Kunci untuk string isi di dalam resource string aplikasi yang akan digunakan untuk melokalkan teks isi ke bahasa pengguna saat ini.

Lihat Resource String untuk informasi lebih lanjut.

body_loc_args Opsional, array JSON sebagai string

Nilai string variabel yang akan digunakan sebagai pengganti penentu format dalam body_loc_key untuk melokalkan teks isi ke bahasa pengguna saat ini.

Lihat Pengaturan Format dan Gaya untuk informasi lebih lanjut.

title_loc_key Opsional, string

Kunci untuk string judul di dalam resource string aplikasi yang akan digunakan untuk melokalkan teks judul ke bahasa pengguna saat ini.

Lihat Resource String untuk informasi lebih lanjut.

title_loc_args Opsional, array JSON sebagai string

Nilai string variabel yang akan digunakan sebagai pengganti penentu format dalam title_loc_key untuk melokalkan teks judul ke bahasa pengguna saat ini.

Lihat Pengaturan Format dan Gaya untuk informasi lebih lanjut.

Tabel 2c. Web (JavaScript) — kunci untuk pesan notifikasi

Parameter Penggunaan Deskripsi
title Opsional, string

Judul notifikasi.

body Opsional, string

Teks isi notifikasi.

icon Opsional, string

URL yang akan digunakan untuk ikon notifikasi.

click_action Opsional, string

Tindakan yang terkait dengan klik pengguna pada notifikasi.

Untuk semua nilai URL, HTTPS diwajibkan.

Pesan HTTP downstream (Teks Biasa)

Tabel berikut berisi daftar sintaksis untuk target, opsi, dan payload dalam pesan HTTP downstream teks biasa.

Tabel 3. Target, opsi, dan payload untuk pesan HTTP downstream teks biasa.

Parameter Penggunaan Deskripsi
Target
registration_id Wajib, string

Parameter ini menetapkan aplikasi klien (token pendaftaran) yang menerima pesan.

Pengiriman pesan multicast (mengirim ke lebih dari 1 token pendaftaran) hanya diizinkan menggunakan format HTTP JSON.

Opsi
collapse_key Opsional, string Lihat tabel 1 untuk detailnya.
time_to_live Opsional, angka Lihat tabel 1 untuk detailnya.
restricted_package_name Opsional, string Lihat tabel 1 untuk detailnya.
dry_run Opsional, boolean Lihat tabel 1 untuk detailnya.
Payload
data.<key> Opsional, string

Parameter ini menetapkan key-value pair payload pesan. Tidak ada batas jumlah pada parameter nilai kunci, tetapi ada batas ukuran pesan total sebesar 4.096 byte.

Misalnya, pada Android, "data.score"."3x1" akan menghasilkan ekstra intent bernama score dengan nilai string 3x1.

Kunci tidak boleh berupa kata yang telah digunakan ("from" atau "message_type", atau kata apa pun yang dimulai dengan "google" atau "gcm"). Jangan gunakan kata apa pun yang didefinisikan dalam tabel ini (seperti collapse_key).

Menafsirkan respons pesan downstream

Server aplikasi harus mengevaluasi header respons atau isi pesan untuk menafsirkan respons pesan yang dikirim dari FCM. Tabel berikut menjelaskan kemungkinan respons.

Tabel 4. Header respons pesan HTTP downstream.

Respons Deskripsi
200 Pesan berhasil diproses. Isi respons akan berisi detail lebih lanjut tentang status pesan, tetapi formatnya akan bergantung pada apakah permintaannya JSON atau teks biasa. Lihat tabel 5 untuk informasi selengkapnya.
400 Hanya berlaku untuk permintaan JSON. Menunjukkan bahwa permintaan tersebut tidak dapat diurai sebagai JSON, atau permintaan tersebut berisi kolom tidak valid (misalnya, meneruskan string padahal seharusnya angka). Penyebab pasti kegagalan dijelaskan dalam respons, dan masalah tersebut harus ditangani sebelum permintaan dapat dicoba lagi.
401 Terjadi error saat mengautentikasi akun pengirim.
5xx Error dalam rentang 500-599 (misalnya 500 atau 503) menunjukkan bahwa ada error internal dalam server koneksi FCM saat mencoba memproses permintaan, atau server untuk sementara tidak tersedia (misalnya, karena waktu tunggu). Pengirim harus mencoba lagi nanti, dengan mematuhi header Retry-After apa pun yang termasuk dalam respons. Server aplikasi harus mengimplementasikan backoff eksponensial.

Tabel berikut berisi daftar kolom dalam isi respons pesan downstream (JSON).

Tabel 5. Isi respons pesan HTTP downstream (JSON).

Parameter Penggunaan Deskripsi
multicast_id Wajib, angka ID unik (angka) yang mengidentifikasi pesan multicast.
success Wajib, angka Jumlah pesan yang diproses tanpa error.
failure Wajib, angka Jumlah pesan yang tidak bisa diproses.
results Wajib, array objek Array objek yang mewakili status pesan yang diproses. Objek tersebut tercantum dalam urutan yang sama dengan permintaan (misalnya, untuk setiap ID pendaftaran dalam permintaan, hasilnya dicantumkan dalam indeks yang sama dalam respons).
  • message_id: String yang menetapkan ID unik untuk setiap pesan yang berhasil diproses.
  • error: String yang menetapkan kesalahan yang terjadi ketika memproses pesan untuk penerima. Kemungkinan nilai dapat dilihat di tabel 9.

Tabel 6. Isi respons HTTP pesan topik (JSON).

Parameter Penggunaan Deskripsi
message_id Opsional, angka ID pesan topik ketika FCM telah berhasil menerima permintaan dan akan mencoba mengirimkannya ke semua perangkat yang berlangganan.
error Opsional, string Error yang terjadi ketika memproses pesan. Kemungkinan nilai dapat dilihat di tabel 9.

Tabel 7. Respons sukses untuk isi respons pesan HTTP downstream (Teks Biasa).

Parameter Penggunaan Deskripsi
id Wajib, string Parameter ini menetapkan ID pesan unik yang berhasil diproses oleh FCM.
registration_id Opsional, string Parameter ini menetapkan token pendaftaran untuk aplikasi klien tempat pemrosesan dan tujuan pengiriman pesan.

Tabel 8. Respons error untuk isi respons pesan HTTP downstream (Teks Biasa).

Parameter Penggunaan Deskripsi
Error Wajib, string Parameter ini menetapkan nilai error ketika memproses pesan untuk penerima. Lihat tabel 9 untuk detailnya.

Kode respons error untuk pesan downstream

Tabel berikut berisi daftar kode respons error untuk pesan downstream.

Tabel 9. Kode respons error untuk pesan downstream.

Error Kode HTTP Tindakan yang Disarankan
Token Pendaftaran Hilang 200 + error:MissingRegistration Periksa apakah permintaan memuat token pendaftaran (pada registration_id dalam pesan teks biasa, atau pada kolom to atau registration_ids dalam JSON).
Token Pendaftaran Tidak Valid 200 + error:InvalidRegistration Periksa format token pendaftaran yang Anda teruskan ke server. Pastikan format tersebut cocok dengan token pendaftaran yang diterima oleh aplikasi klien ketika mendaftar ke Firebase Notifications. Jangan potong atau tambahi dengan karakter ekstra.
Perangkat Tidak Terdaftar 200 + error:NotRegistered Token pendaftaran yang ada bisa menjadi tidak valid dalam sejumlah skenario, termasuk:
  • Jika aplikasi klien membatalkan pendaftaran di FCM.
  • Jika pendaftaran aplikasi klien dibatalkan secara otomatis, yang bisa terjadi jika pengguna meng-uninstal aplikasi. Misalnya, pada iOS, jika Layanan Masukan APN melaporkan token APN sebagai tidak valid.
  • Jika masa berlaku token pendaftaran habis (misalnya, Google mungkin memutuskan untuk memperbarui token pendaftaran, atau masa berlaku token APN habis untuk perangkat iOS).
  • Jika aplikasi klien diupdate tetapi versi yang baru belum dikonfigurasi untuk menerima pesan.
Untuk semua kasus tersebut, hapus token pendaftaran dari server aplikasi dan jangan gunakan lagi untuk mengirim pesan.
Nama Paket Tidak Valid 200 + error:InvalidPackageName Pastikan bahwa pesan ditujukan ke token pendaftaran yang nama paketnya cocok dengan nilai yang diteruskan dalam permintaan.
Kesalahan Autentikasi 401 Akun pengirim yang digunakan untuk mengirim pesan tidak bisa diautentikasi. Kemungkinan penyebabnya sebagai berikut:
  • Header otorisasi tidak ada atau memiliki sintaksis tidak valid dalam permintaan HTTP.
  • Project Firebase yang mencakup kunci server yang ditentukan adalah project yang salah.
  • Hanya kunci server lama — permintaan berasal dari server yang tidak termasuk dalam daftar aman pada IP kunci Server.
Pastikan token yang Anda kirim di dalam header Autentikasi adalah kunci server yang benar yang terkait dengan project Anda. Baca artikel tentang Memeriksa validitas kunci server untuk mengetahui detailnya. Jika Anda menggunakan kunci server lama, sebaiknya upgrade ke kunci baru yang tidak memiliki batasan IP. Baca artikel Memigrasikan kunci server lama.
Pengirim Tidak Cocok 200 + error:MismatchSenderId Token pendaftaran terikat pada grup pengirim tertentu. Ketika aplikasi klien mendaftar ke FCM, aplikasi tersebut harus menetapkan pengirim mana saja yang diizinkan untuk mengirim pesan. Anda harus menggunakan salah satu ID pengirim tersebut ketika mengirim pesan ke aplikasi klien. Jika Anda beralih ke pengirim yang berbeda, token pendaftaran yang ada tidak akan berfungsi.
JSON tidak valid 400 Pastikan pesan JSON diformat dengan benar dan berisi kolom yang valid (misalnya, memastikan bahwa jenis data yang diteruskan benar).
Parameter Tidak Valid 400 + error:InvalidParameters Pastikan parameter yang dimasukkan memiliki nama dan jenis yang tepat.
Pesan Terlalu Besar 200 + error:MessageTooBig Pastikan ukuran total data payload yang disertakan dalam pesan tidak melebihi batas FCM, yaitu 4.096 byte untuk kebanyakan pesan, atau 2.048 byte untuk pesan ke topik. Ini mencakup kunci dan nilainya.
Kunci Data Tidak Valid 200 + error:
InvalidDataKey
Pastikan data payload tidak memuat kunci (misalnya from atau gcm, atau nilai apa pun yang diawali dengan google) yang digunakan secara internal oleh FCM. Perlu diperhatikan bahwa beberapa kata (misalnya collapse_key) juga digunakan oleh FCM, tetapi diizinkan dalam payload, yang dalam hal ini nilai payload akan diganti oleh nilai FCM.
Waktu untuk Aktif Tidak Valid 200 + error:InvalidTtl Pastikan nilai yang digunakan dalam time_to_live adalah bilangan bulat yang mewakili durasi dalam detik antara 0 dan 2.419.200 (4 minggu).
Waktu habis 5xx atau 200 + error:Unavailable

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.
  • Menerapkan back-off eksponensial dalam mekanisme percobaan ulang. (misalnya, jika Anda menunggu 1 detik sebelum percobaan pertama, tunggu minimal 2 detik sebelum percobaan berikutnya, kemudian 4 detik dan seterusnya). Jika Anda mengirim beberapa pesan, tunda setiap pesan secara terpisah dengan jumlah acak tambahan agar tidak mengeluarkan permintaan baru untuk semua pesan secara bersamaan.

Pengirim yang menyebabkan masalah berisiko dimasukkan ke daftar hitam.

Error Server Internal 500 atau 200 + error:InternalServerError Server mengalami error ketika mencoba memproses permintaan. Anda bisa mencoba lagi permintaan yang sama sesuai persyaratan yang tercantum dalam "Waktu Tunggu" (lihat baris di atas). Jika error tetap berlanjut, hubungi dukungan Firebase.
Rasio Pesan-Perangkat Terlampaui 200 + error:
DeviceMessageRate
Exceeded

Rasio pesan terhadap perangkat tertentu terlalu tinggi. Jika aplikasi Apple mengirim pesan dengan jumlah yang melebihi batas APN, pesan error ini mungkin akan ditampilkan.

Kurangi jumlah pesan yang dikirim ke perangkat ini dan gunakan backoff eksponensial untuk mencoba mengirimkan pesan lagi.

Rasio Pesan-Topik Terlampaui 200 + error:
TopicsMessageRate
Exceeded
Rasio pesan terhadap pelanggan topik tertentu terlalu tinggi. Kurangi jumlah pesan yang dikirim untuk topik ini dan gunakan backoff eksponensial untuk mencoba mengirimkan pesan lagi.
Kredensial APN Tidak Valid 200 + error:
InvalidApnsCredential
Pesan yang ditargetkan ke perangkat Apple tidak bisa dikirim, karena kunci autentikasi APN yang diperlukan tidak diupload atau tidak berlaku lagi. Periksa validitas kredensial pengembangan dan produksi Anda.

Pengelolaan grup perangkat

Tabel berikut ini berisi kunci untuk membuat grup perangkat dan menambah serta menghapus anggota. Untuk mengetahui informasi selengkapnya, baca panduan untuk platform Anda, iOS+ atau Android.

Tabel 10. Kunci pengelolaan grup perangkat.

Parameter Penggunaan Deskripsi
operation Wajib, string Operasi yang akan dijalankan. Nilai yang valid adalah create, add, dan remove.
notification_key_name Wajib, string Nama grup perangkat buatan pengguna yang bisa dibuat atau diubah.
notification_key Wajib (kecuali untuk operasi create), string ID unik untuk grup perangkat. Nilai ini ditampilkan sebagai respons untuk operasi create yang berhasil, dan diperlukan untuk semua operasi berikutnya pada grup perangkat.
registration_ids Opsional, array string Token perangkat yang akan ditambahkan atau dihapus. Jika Anda menghapus semua token pendaftaran yang ada dari grup perangkat, FCM akan menghapus grup perangkat tersebut.