Mit dem Gerätegruppen-Messaging können Sie mehrere Geräte zu einer Gruppe hinzufügen. Dies ähnelt dem Topic Messaging, beinhaltet jedoch eine Authentifizierung, um sicherzustellen, Die Gruppenmitgliedschaft wird nur von Ihren Servern verwaltet. Wenn Sie zum Beispiel unterschiedliche Nachrichten an verschiedene Telefonmodelle senden, können Ihre Server Registrierungen an die entsprechenden Gruppen an und senden die entsprechende Nachricht an jede Gruppe. Die Nachrichten an Gerätegruppen unterscheiden sich von Themennachrichten dadurch, dass sie Gerätegruppen über Ihre Server und nicht direkt in Ihrem .
Die maximal zulässige Anzahl von Mitgliedern für einen Benachrichtigungsschlüssel beträgt 20.
Gerätegruppen verwalten
Bevor Sie Nachrichten an eine Gerätegruppe senden, müssen Sie Folgendes tun:
-
Sie erhalten Registrierungstokens für jedes Gerät, das Sie hinzufügen möchten an die Gruppe gesendet.
-
Erstellen Sie die
notification_key
, die identifiziert Gerätegruppe durch Zuordnen einer bestimmten Gruppe (in der Regel Nutzer) zu allen verknüpften Registrierungstokens der Gruppe. Sie können Benachrichtigungsschlüssel auf dem Anwendungsserver erstellen.
Grundlegende Verwaltung von Gerätegruppen – Gruppen erstellen und entfernen und das Hinzufügen oder Entfernen von Geräten – erfolgt über die HTTP v1 API, mit kurzlebigen Tokens, Sendeanfragen autorisieren. Weitere Informationen finden Sie unter . Verwaltungsschlüssel für Geräteverwaltung finden Sie in der Liste der unterstützten Schlüssel.
Gerätegruppen auf dem Anwendungsserver verwalten
Gerätegruppe erstellen
Wenn du eine Gerätegruppe erstellen möchtest, sende eine POST-Anfrage mit einem Namen
für die Gruppe und eine Liste von Registrierungstokens für die Geräte.
FCM gibt eine neue notification_key
zurück
der die Gerätegruppe darstellt.
HTTP-POST-Anfrage
Senden Sie eine Anfrage wie die folgende an
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
ist ein Name oder eine Kennung
(z.B. ein Nutzername), der für eine bestimmte Gruppe eindeutig ist. Die
notification_key_name
und
notification_key
sind für eine Gruppe von Registrierungen eindeutig.
Tokens. notification_key_name
muss unbedingt
eindeutig pro Client-App, wenn Sie mehrere Client-Apps für dieselbe
Absender-ID aus.
Dadurch wird sichergestellt, dass Nachrichten nur an die gewünschte Ziel-App gesendet werden.
Antwortformat
Bei einer erfolgreichen Anfrage wird notification_key
wie folgt zurückgegeben:
Folgendes:
{ "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ" }
Speichern Sie die notification_key
und die entsprechenden
notification_key_name
zur Verwendung in nachfolgenden Vorgängen.
Benachrichtigungsschlüssel abrufen
Wenn Sie einen vorhandenen Benachrichtigungsschlüssel abrufen müssen, verwenden Sie die Methode
notification_key_name
in einer GET-Anfrage, wie hier gezeigt:
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 {}
Für jede GET-Anfrage für einen bestimmten Benachrichtigungsschlüsselnamen gibt der Server gibt einen eindeutigen codierten String zurück. Auch wenn jede Zeichenfolge ist ein gültiger Wert für "notification_key".
Geräte zu einer Gerätegruppe hinzufügen oder daraus entfernen
Sende eine POST-Anfrage, um Geräte einer bestehenden Gruppe hinzuzufügen oder von ihr zu entfernen.
mit dem Parameter operation
auf
add
oder remove
und geben Sie
zum Hinzufügen oder Entfernen von Registrierungs-Tokens.
HTTP-POST-Anfrage
Wenn du beispielsweise appUser-Chris
ein Gerät mit dem Registrierungstoken bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...
hinzufügen möchtest, sendest du diese Anfrage:
{
"operation": "add",
"notification_key_name": "appUser-Chris",
"notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
"registration_ids": ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."]
}
Antwortformat
Eine erfolgreiche Anfrage zum Hinzufügen oder Entfernen eines Geräts gibt eine
notification_key
wie hier:
{ "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ" }
Verwaltungsschlüssel für Geräteverwaltung
In der folgenden Tabelle sind die Schlüssel zum Erstellen von Gerätegruppen sowie zum Hinzufügen und Entfernen von Mitgliedern aufgeführt.
Parameter | Nutzung | Beschreibung |
---|---|---|
operation |
Erforderlich, String | Der auszuführende Vorgang.Gültige Werte sind create ,
add und remove . |
notification_key_name |
Erforderlich, String | Der benutzerdefinierte Name der zu erstellenden oder zu ändernden Gerätegruppe. |
notification_key |
Erforderlich (mit Ausnahme des create -Vorgangs, String |
Eindeutige Kennung der Gerätegruppe. Dieser Wert wird in der Antwort für einen erfolgreichen create -Vorgang zurückgegeben und ist für alle nachfolgenden Vorgänge für die Gerätegruppe erforderlich. |
registration_ids |
Erforderliches String-Array | Die Gerätetokens, die hinzugefügt oder entfernt werden sollen. Wenn Sie alle vorhandenen Registrierungstokens aus einer Gerätegruppe löschen, löscht FCM die Gerätegruppe. |
Nachrichten an Gerätegruppen senden
Verwenden Sie die HTTP v1 API, um Nachrichten an Gerätegruppen zu senden. Wenn Sie derzeit Senden an Gerätegruppen über die veralteten alten Sende-APIs für HTTP oder XMPP oder eine der älteren Versionen des Firebase Admin SDK für Node.js auf Basis der Legacy-Protokolle, empfehlen wir Ihnen dringend, zur HTTP v1 API migrieren so schnell wie möglich zu erhalten. Die Legacy-Sende-APIs wird im Juni 2024 deaktiviert und entfernt.
Das Senden von Nachrichten an eine Gerätegruppe funktioniert ähnlich wie das Senden von Nachrichten an eine Gerätegruppe
Nachrichten an ein einzelnes Gerät zu senden, und zwar mit derselben Methode,
Sendeanfragen autorisieren. token
festlegen
dem Schlüssel für Gruppenbenachrichtigungen zu:
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-Befehl
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