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 bir uygulamadır.
Bildirim anahtarı için izin verilen maksimum üye sayısı 20'dir.
Cihaz gruplarını yönetme
Bir cihaz grubuna mesaj göndermeden önce:
-
Eklemek istediğiniz her cihaz için kayıt jetonu alın gruba iletiyorum.
-
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.
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. |
Cihaz gruplarına mesaj 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 Admin SDK 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
Yukarı akış mesajları cihaz gruplarına gönderiliyor
Apple uygulamalarındaki cihaz gruplarına yukarı akış mesajları göndermek için Apple istemcisi uygulamasının FIRMessaging.sendMessage:
(void)sendMessage:(nonnull NSDictionary *)message to:(nonnull NSString *)receiver withMessageID:(nonnull NSString *)messageID timeToLive:(int64_t)ttl;