Verwalten von FCM-Gerätegruppen

Ich versuche herauszufinden, wie FCM-Gerätegruppen von einem Anwendungsserver mithilfe der REST-API verwaltet werden.

AFAIK Dies sind die aktualisierten Dokumente: https://firebase.google.com/docs/cloud-messaging/android/device-group#managing_device_groups

Folgendes kann ich schon machen:

  • Erstellen Sie eine neue Gerätegruppe mit einigen Geräte-Token
  • Fügen Sie Gerätetoken zu einer vorhandenen Gerätegruppe hinzu

Und das ist, was ich einfach nicht herausfinden kann, da es in den Dokumenten nicht erwähnt wird:

  • Abfrage, ob eine Gerätegruppe basierend auf ihrem notification_key_name bereits existiert.

    Workaround 1: Wenn ich versuche, eine Gruppe mit einem notification_key_name erstellen, der bereits existiert, bekomme ich einen Fehler, der mir das sagt, aber das scheint ein sehr hacky Weg zu sein, das herauszufinden.

    Problemumgehung 2: Speichern Sie diese Informationen selbst woanders.

  • Herausfinden, welche Geräte-Tokens ( registration_id ID) zu einer Gerätegruppe gehören.

    Problemumgehung: Speichern Sie diese Informationen wie zuvor an anderer Stelle.

  • Entfernen Sie Geräte-Token ( registration_id ID) aus einer Gerätegruppe.

    Problemumgehung: Keine.

  • Entfernen Sie eine Gerätegruppe.

    Problemumgehung: Keine.

Vielen Dank!

  • Abfrage, ob eine Gerätegruppe basierend auf ihrem notification_key_name bereits existiert.

Ihre zweite Problemumgehung ist der Weg zu gehen. Sie sollten es in Ihrem App-Server speichern, wo Sie auch die Registrierungstokens speichern.


  • Herausfinden, welche Geräte-Tokens ( registration_id ID) zu einer Gerätegruppe gehören.

Genau wie die obige Problemumgehung. Sie müssen diese Details auf Ihrem App Server verwalten. Es liegt in der Verantwortung des Entwicklers, diese Details zu verwalten. Wenn Sie die Aktionen nach dem Entfernen des Registrierungsgeräts anpassen, müssen Sie es ebenfalls von Ihrem App Server entfernen.


  • Entfernen Sie Geräte-Token ( registration_id ID) aus einer Gerätegruppe.

Ich bin mir nicht sicher, was du hier brauchst. Die Dokumentation enthält Details zum Entfernen von Registrierungstoken aus der Gerätegruppe:

Hinzufügen und Entfernen von Geräten aus einer Gerätegruppe

Um Geräte aus einer vorhandenen Gruppe hinzuzufügen oder zu entfernen, senden Sie eine POST-Anforderung mit dem operation zum add oder remove und stellen Sie die Registrierungstoken zum Hinzufügen oder Entfernen bereit.

Hinweis : Wenn Sie alle vorhandenen Registrierungstoken aus einer Gerätegruppe entfernen, löscht FCM die Gerätegruppe.

HTTP-POST-Anfrage

Um zum Beispiel ein Gerät mit der Registrierungs-ID 51 zu appUser-Chris hinzuzufügen, senden Sie diese Anfrage:

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

Antwortformat

Eine erfolgreiche Anfrage zum Hinzufügen oder Entfernen eines Geräts gibt einen Benachrichtigungsschlüssel wie folgt zurück:

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

Hinweis : notification_key_name ist nicht für das Hinzufügen / Entfernen von Registrierungstoken erforderlich, schützt Sie jedoch davor, versehentlich den falschen notification_key zu verwenden .


  • Entfernen Sie eine Gerätegruppe.

Aus der Notiz in den Dokumenten oben:

Hinweis : Wenn Sie alle vorhandenen Registrierungstoken aus einer Gerätegruppe entfernen, löscht FCM die Gerätegruppe.

Um der ersten Frage eine weitere Option hinzuzufügen, ist nicht sicher, ob dies von FCM nach der akzeptierten Antwort hinzugefügt wurde, aber im Abschnitt Verwalten von Gerätegruppen auf dem App-Server in der Android- (und IOS-) Dokumentation gibt es einen Teil beim Abrufen einer Benachrichtigung Schlüssel mit einer GET-Anfrage an

https://fcm.googleapis.com/fcm/notification?notification_key_name=appUser-Chris

Dies kehrt zurück

{ "error": "notification_key not found" }

wenn die Gerätegruppe nicht existiert oder andernfalls der Benachrichtigungsschlüssel.