Nachrichten an Gerätegruppen auf Unity senden

Mit dem Gerätegruppen-Messaging können Sie mehrere Geräte zu einer Gruppe hinzufügen. Dies ähnelt der themenbezogenen Kommunikation, 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:

  1. Rufen Sie Registrierungstokens für jedes Gerät ab, das Sie der Gruppe hinzufügen möchten.

  2. 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.

Die grundlegende Verwaltung von Gerätegruppen – Erstellen und Entfernen von Gruppen sowie Hinzufügen oder Entfernen von Geräten – erfolgt über die HTTP v1 API. Dabei werden kurzlebige Tokens verwendet, um Sendanfragen zu autorisieren. Eine Liste der unterstützten Schlüssel finden Sie unter Schlüssel für die Gerätegruppenverwaltung.

Gerätegruppen auf dem Anwendungsserver verwalten

Gerätegruppe erstellen

Wenn Sie eine Gerätegruppe erstellen möchten, senden Sie eine POST-Anfrage mit einem Namen für die Gruppe und einer Liste der 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 für jede Client-App eindeutig sein, wenn Sie mehrere Client-Apps für dieselbe Absender-ID haben. So 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 notification_key und die entsprechende notification_key_name für die nachfolgenden Vorgänge.

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

Wenn Sie Geräte zu einer vorhandenen Gruppe hinzufügen oder daraus entfernen möchten, senden Sie eine POST-Anfrage, bei der der Parameter operation auf add oder remove festgelegt ist. Geben Sie die Registrierungstokens für das Hinzufügen oder Entfernen an.

HTTP-POST-Anfrage

Um beispielsweise einen Gerät mit dem Registrierungstoken „bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...“ an appUser-Chris senden Sie folgende 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.

Tabelle 10. Verwaltungsschlüssel für Gerätegruppen

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 eine erfolgreiche create-Anfrage zurückgegeben. Operation und ist ist für alle nachfolgenden Vorgänge in der 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.

Downstream-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 ähnelt dem Senden von Nachrichten an ein einzelnes Gerät. Dabei wird dieselbe Methode verwendet, um Sendeanfragen zu 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

Upstream-Nachrichten an Gerätegruppen senden

Client-Apps können Nachrichten an Gerätegruppen senden, indem sie Targeting von Nachrichten an den entsprechenden Benachrichtigungsschlüssel im to.

Der folgende Aufruf von FCM sendet einen Upstream an einen Benachrichtigungsschlüssel.

Firebase.Messaging.Message message;
message.To = notification_key;
message.MessageId = a_unique_message_id;
message.Data["hello"] = "world";
Firebase.Messaging.FirebaseMessaging.Send(message);