Mengirim pesan ke grup perangkat di Unity

Dengan pengiriman pesan grup perangkat, Anda dapat menambahkan beberapa perangkat ke satu grup. Metode ini serupa dengan pengiriman pesan topik, tetapi mencakup autentikasi untuk memastikan bahwa keanggotaan grup hanya dikelola oleh server Anda. Misalnya, jika Anda ingin mengirim pesan berbeda ke model ponsel berbeda, server Anda dapat menambahkan/menghapus pendaftaran ke grup yang sesuai dan mengirim pesan yang sesuai ke setiap grup. Messaging grup perangkat berbeda dengan messaging topik karena di dalamnya terdapat pengelolaan grup perangkat dari server Anda, bukan langsung di aplikasi Anda.

Anda dapat menggunakan pengiriman pesan grup perangkat melalui protokol XMPP atau HTTP lama pada server aplikasi. Firebase Admin SDK untuk Node.js berdasarkan pada protokol lama juga menyediakan kemampuan pengiriman pesan grup perangkat. Jumlah anggota maksimum yang diizinkan untuk kunci notifikasi adalah 20.

Mengelola grup perangkat

Sebelum mengirim pesan ke grup perangkat, Anda harus:

  1. Memperoleh token pendaftaran untuk setiap perangkat yang ingin Anda tambahkan ke grup.

  2. Membuat notification_key, yang mengidentifikasi grup perangkat dengan memetakan grup tertentu (biasanya pengguna) ke semua token pendaftaran terkait milik grup. Anda dapat membuat kunci notifikasi di server aplikasi atau di aplikasi klien Android.

Pengelolaan dasar grup perangkat — membuat dan menghapus grup, serta menambahkan atau menghapus perangkat — biasanya dilakukan melalui server aplikasi. Baca bagian referensi protokol HTTP lama untuk mengetahui daftar kunci yang didukung.

Secara opsional, aplikasi klien Android dapat mengelola grup perangkat dari sisi klien.

Mengelola grup perangkat di server aplikasi

Membuat grup perangkat

Untuk membuat grup perangkat, kirim permintaan POST yang memberikan nama untuk grup tersebut, dan daftar token pendaftaran untuk perangkat tersebut. FCM menampilkan notification_key baru yang mewakili grup perangkat.

Permintaan HTTP POST

Kirim permintaan seperti berikut ini ke https://fcm.googleapis.com/fcm/notification:

https://fcm.googleapis.com/fcm/notification
Content-Type:application/json
Authorization:key=API_KEY
project_id:SENDER_ID

{
   "operation": "create",
   "notification_key_name": "appUser-Chris",
   "registration_ids": ["4", "8", "15", "16", "23", "42"]
}

notification_key_name adalah nama atau ID (misalnya, dapat berupa nama pengguna) yang unik untuk grup tertentu. notification_key_name dan notification_key bersifat unik untuk grup token pendaftaran. notification_key_name harus bersifat unik untuk setiap aplikasi klien jika Anda memiliki beberapa aplikasi klien untuk ID pengirim yang sama. Hal ini untuk memastikan bahwa pesan hanya disampaikan ke aplikasi sasaran yang dimaksud.

Format respons

Permintaan yang berhasil menampilkan notification_key seperti berikut:

{
   "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ"
}

Simpan notification_key dan notification_key_name yang sesuai untuk digunakan dalam operasi berikutnya.

Mengambil kunci notifikasi

Jika Anda perlu mengambil kunci notifikasi yang ada, gunakan notification_key_name dalam permintaan GET seperti yang ditunjukkan berikut ini:

https://fcm.googleapis.com/fcm/notification?notification_key_name=appUser-Chris
Content-Type:application/json
Authorization:key=API_KEY
project_id:SENDER_ID
{}

Pada setiap permintaan GET untuk nama kunci notifikasi tertentu, server akan menampilkan string berenkode unik. Meskipun setiap string mungkin tampak sebagai kunci yang berbeda, sebenarnya ini adalah nilai `notification_key` yang valid.

Menambahkan dan menghapus perangkat dari grup perangkat

Untuk menambahkan atau menghapus perangkat dari grup yang ada, kirim permintaan POST dengan menyetel parameter operation ke add atau remove, dan berikan token pendaftaran untuk penambahan atau penghapusan.

Permintaan HTTP POST

Misalnya, untuk menambahkan perangkat yang memiliki ID pendaftaran 51 ke appUser-Chris, Anda harus mengirimkan permintaan ini:

{
   "operation": "add",
   "notification_key_name": "appUser-Chris",
   "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
   "registration_ids": ["51"]
}

Format respons

Permintaan yang berhasil untuk menambahkan atau menghapus perangkat menampilkan notification_key seperti berikut:

{
   "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ"
}