Web/JavaScript'te cihaz gruplarına mesaj gönderme

Cihaz grubu mesajlaşması, tek bir gruba birden fazla cihaz eklemenize olanak tanır. Bu, konu mesajlarına benzer ancak grup üyeliği yalnızca sunucularınız tarafından yönetilir. Örneğin, farklı telefon modellerine farklı mesajlar gönderirse, sunucularınız kayıtları uygun gruplara gönderebilir ve her bir grubu. Cihaz grubu mesajları, içerdikleri konu mesajlarından farklıdır. cihaz gruplarınızı doğrudan sunucularınızdan yönetmek yerine sunucularınızdan yönetmenizi kabul edersiniz.

Bildirim anahtarı için izin verilen maksimum üye sayısı 20'dir.

Cihaz gruplarını yönetme

Bir cihaz grubuna mesaj göndermeden önce:

  1. Eklemek istediğiniz her cihaz için kayıt jetonu alın gruba iletiyorum.

  2. Aşağıdakini tanımlayan notification_key oluşturun: cihaz grubunu eşlemek için kullanır (genellikle bir veya daha fazla (kullanıcı) varsayılan olarak grubun tüm ilişkili kayıt jetonlarına eklenir. Uygulama sunucusunda bildirim anahtarları oluşturabilirsiniz.

Cihaz gruplarının temel yönetimi: grup oluşturma ve kaldırma, ve cihaz ekleme veya kaldırma işlemleri HTTP v1 API üzerinden gerçekleştirilir. kısa ömürlü jetonlar kullanarak gönderme isteklerini yetkilendirin. Bkz. Desteklenen anahtarların listesi için cihaz grubu yönetim anahtarları'na gidin.

Uygulama sunucusundaki cihaz gruplarını yönetme

Cihaz grubu oluşturma

Cihaz grubu oluşturmak için ad sağlayan bir POST isteği gönderin grup için ve cihazların kayıt jetonlarının listesi. FCM, yeni bir notification_key döndürüyor temsil eder.

HTTP POST isteği

Aşağıdakine benzer bir istek gönderin: https://fcm.googleapis.com/fcm/notification:

https://fcm.googleapis.com/fcm/notification
Content-Type:application/json
access_token_auth: true
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
project_id:SENDER_ID

{
   "operation": "create",
   "notification_key_name": "appUser-Chris",
   "registration_ids": ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
                        "cR1rjyj4_Kc:APA91bGusqbypSuMdsh7jSNrW4nzsM...",
                        ... ]

notification_key_name, bir ad veya tanımlayıcı (ör. bir kullanıcı adı olabilir). İlgili içeriği oluşturmak için kullanılan notification_key_name ve notification_key, bir kayıt grubuna özgüdür jeton. notification_key_name, Aynı uygulama için birden fazla istemci uygulamanız varsa istemci uygulaması başına benzersizdir gönderen kimliği. Bu, mesajların yalnızca istenen hedef uygulamaya gitmesini sağlar.

Yanıt biçimi

Başarılı bir istek notification_key beğeni döndürüyor şu:

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

notification_key ve ilgili Sonraki işlemlerde kullanılacak notification_key_name.

Bildirim anahtarı alma

Mevcut bir bildirim anahtarını almanız gerekirse şunu kullanın: GET isteğinde gösterilen notification_key_name:

https://fcm.googleapis.com/fcm/notification?notification_key_name=appUser-Chris
Content-Type:application/json
access_token_auth: true
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
project_id:SENDER_ID
{}

Belirli bir bildirim anahtarı adına yönelik her GET isteği için sunucu değeri, benzersiz bir kodlanmış dize döndürür. Her dize kullanırsanız bu aslında geçerli bir "notification_key" değeridir.

Cihaz grubuna cihaz ekleme ve gruptan cihaz kaldırma

Mevcut bir gruba cihaz eklemek veya gruptan cihaz kaldırmak için POST gönderin operation parametresi add veya remove ve kayıt jetonları eklenir.

HTTP POST isteği

Örneğin, bir bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1... kayıt jetonuna sahip cihaz appUser-Chris adlı kullanıcıya şu isteği göndereceksiniz:

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

Yanıt biçimi

Başarılı bir cihaz ekleme veya kaldırma isteği, notification_key aşağıdakine benzer:

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

Cihaz grubu yönetimi anahtarları

Aşağıdaki tabloda, cihaz grupları oluşturma anahtarları listelenmektedir ve üye ekleyip çıkarmayı deneyin.

Tablo 10. Cihaz grubu yönetimi anahtarları.

Parametre Kullanım Açıklama
operation Zorunlu, dize Çalıştırılacak işlem.Geçerli değerler: create, add ve remove.
notification_key_name Zorunlu, dize Oluşturulacak veya değiştirilecek cihaz grubunun kullanıcı tanımlı adı.
notification_key Zorunlu (create işlemi hariç, dize Cihaz grubunun benzersiz tanımlayıcısı. Bu değer başarılı bir create için yanıtta döndürülür ve cihaz grubundaki sonraki tüm işlemler için gereklidir.
registration_ids Zorunlu, dize dizisi Eklenecek veya kaldırılacak cihaz jetonları. Mevcut tüm reklam birimlerini bir cihaz grubundaki kayıt jetonları ise FCM, cihaz grubunu siler.

Aşağı akış mesajlarını cihaz gruplarına gönderme

Cihaz gruplarına mesaj göndermek için HTTP v1 API'yi kullanın. Şu anda için desteği sonlandırılmış eski gönderme API'lerini kullanarak cihaz gruplarına gönderme HTTP veya XMPP ya da Node.js için Firebase Yönetici SDK'sı eski protokollere bağlı olarak, Google Analytics 4'te HTTP v1 API'ye geçin en erken bir aşamada belirlemeye çalışın. Eski gönderme API'leri Haziran 2024'te devre dışı bırakılacak ve kaldırılacaktır.

Bir cihaz grubuna ileti göndermek, ileti göndermeye benzer göndermek için aynı yöntemi kullanarak tek bir cihaza gönderme isteklerini yetkilendirin. token cihazını ayarlayın alanını grup bildirim anahtarına ekleyin:

REST

POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1

Content-Type: application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA

{
   "message":{
      "token":"APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
      "data":{
        "hello": "This is a Firebase Cloud Messaging device group message!"
      }
   }
}

cURL komutu

curl -X POST -H "Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA" -H "Content-Type: application/json" -d '{
"message":{
   "data":{
     "hello": "This is a Firebase Cloud Messaging device group message!"
   },
   "token":"APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ"
}}' https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send