Wiadomości w grupie urządzeń umożliwiają dodawanie wielu urządzeń do jednej grupy. Przypomina to przesyłanie wiadomości na tematy, ale obejmuje uwierzytelnianie, dzięki któremu Członkostwem w grupie zarządzają wyłącznie Twoje serwery. Jeśli chcesz na przykład wysyłać różne wiadomości do różnych modeli telefonów, Twoje serwery mogą dodawać/usuwać do odpowiednich grup i wysyłaj odpowiednie wiadomości grupy reklam. Wysyłanie wiadomości w grupie urządzeń różni się od wysyłania wiadomości tematycznych tym, że obejmuje i zarządzanie grupami urządzeń z poziomu serwerów, a nie bezpośrednio w aplikacji.
Maksymalna liczba użytkowników klucza powiadomień to 20.
Zarządzanie grupami urządzeń
Przed wysyłaniem wiadomości do grupy urządzeń musisz:
-
Uzyskiwanie tokenów rejestracji dla każdego urządzenia, które chcesz dodać do grupy.
-
Utwórz
notification_key
, który identyfikuje grupę urządzeń przez mapowanie konkretnej grupy (zwykle jest to użytkownika) do wszystkich powiązanych tokenów rejestracji grupy. Klucze powiadomień możesz tworzyć na serwerze aplikacji.
Podstawowe zarządzanie grupami urządzeń – tworzenie i usuwanie grup oraz dodawanie i usuwanie urządzeń – odbywa się przez interfejs API HTTP w wersji 1, za pomocą tokenów krótkotrwałych autoryzować żądania wysłania. Zobacz Klucze do zarządzania grupami urządzeń, w których znajduje się lista obsługiwanych kluczy.
Zarządzanie grupami urządzeń na serwerze aplikacji
Tworzenie grupy urządzeń
Aby utworzyć grupę urządzeń, wyślij żądanie POST z nazwą
dla grupy i listę tokenów rejestracji urządzeń.
FCM zwraca nowe: notification_key
reprezentującą grupę urządzeń.
Żądanie HTTP POST
Wyślij do https://fcm.googleapis.com/fcm/notification
prośbę o zmiany o takim brzmieniu:
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
to nazwa lub identyfikator
(np. może to być nazwa użytkownika) unikalna dla danej grupy. Wartości notification_key_name
i notification_key
są unikalne dla grupy tokenów rejestracji. Ważne jest, aby notification_key_name
był
unikalne dla każdej aplikacji klienckiej, jeśli masz kilka aplikacji klienckich dla tej samej
identyfikator nadawcy.
Dzięki temu wiadomości trafiają tylko do wybranej aplikacji docelowej.
Format odpowiedzi
Udane żądanie zwraca notification_key
polubienie
następujące:
{ "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ" }
Zapisz notification_key
i odpowiadający mu notification_key_name
, aby używać ich w kolejnych operacjach.
Pobieranie klucza powiadomienia
Jeśli chcesz pobrać istniejący klucz powiadomienia, użyj parametru notification_key_name
w żądaniu GET w ten sposób:
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 {}
W przypadku każdego żądania GET dla danego klucza powiadomienia serwer zwraca unikalny zakodowany ciąg znaków. Chociaż każdy ciąg może wyglądać jak inny klucz, jest to w rzeczywistości prawidłowa wartość parametru „notification_key”.
Dodawanie urządzeń do grupy i usuwanie ich z niej
Aby dodać urządzenia do istniejącej grupy lub je z niej usunąć, wyślij POST
z parametrem operation
ustawionym na
add
lub remove
i podaj
tokeny rejestracji do dodania lub usunięcia.
Żądanie HTTP POST
Aby na przykład dodać atrybut
urządzenie z tokenem rejestracji bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...
do: appUser-Chris
, należy wysłać to żądanie:
{
"operation": "add",
"notification_key_name": "appUser-Chris",
"notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
"registration_ids": ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."]
}
Format odpowiedzi
Pomyślne żądanie dodania lub usunięcia urządzenia zwraca odpowiedź notification_key
, która wygląda tak:
{ "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ" }
Klucze do zarządzania grupą urządzeń
W tabeli poniżej znajdziesz listę kluczy do tworzenia grup urządzeń oraz dodawanie i usuwanie członków.
Parametr | Wykorzystanie | Opis |
---|---|---|
operation |
Wymagany, ciąg znaków | Operacja do wykonania. Prawidłowe wartości to create , add i remove . |
notification_key_name |
Wymagane, ciąg znaków | Zdefiniowana przez użytkownika nazwa grupy urządzeń do utworzenia lub zmodyfikowania. |
notification_key |
Wymagany (z wyjątkiem operacji create , ciągu znaków |
Unikalny identyfikator grupy urządzeń. Ta wartość jest zwracana w odpowiedzi na operację create , która się powiodła, i jest wymagana do wszystkich kolejnych operacji na grupie urządzeń. |
registration_ids |
Wymagana tablica ciągów znaków | Tokeny urządzeń, które chcesz dodać lub usunąć. Jeśli usuniesz wszystkie istniejące tokeny rejestracji z grupy urządzeń, FCM usunie tę grupę. |
Wysyłanie wiadomości do grup urządzeń
Aby wysyłać wiadomości do grup urządzeń, użyj interfejsu HTTP v1. Jeśli obecnie wysyłania do grup urządzeń za pomocą wycofanych, starszych interfejsów API HTTP lub XMPP bądź jego starsze wersje Firebase Admin SDK dla środowiska Node.js na podstawie starszych protokołów, zdecydowanie zalecamy migracja do interfejsu API HTTP w wersji 1 przy najbliższej okazji. Starsze interfejsy API do wysyłania zostaną wyłączone i usunięte w czerwcu 2024 r.
Wysyłanie wiadomości do grupy urządzeń jest bardzo podobne do wysyłania wiadomości
na pojedyncze urządzenie, w ten sam sposób
autoryzować żądania wysłania. Ustaw token
do klucza powiadomień grupy:
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!"
}
}
}
Polecenie cURL
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
Wysyłanie wiadomości z góry do grup urządzeń
Aplikacje klienckie mogą wysyłać wiadomości do grup urządzeń, kierując je na odpowiedni klucz powiadomienia w polu to
.
Wywołanie FCM powoduje wysłanie danych nadrzędnego do klawisza powiadomień.
Firebase.Messaging.Message message; message.To = notification_key; message.MessageId = a_unique_message_id; message.Data["hello"] = "world"; Firebase.Messaging.FirebaseMessaging.Send(message);