Gestione dei gruppi di dispositivi FCM

Sto cercando di capire come gestire i gruppi di dispositivi FCM da un server di app utilizzando l’API REST.

AFAIK questi sono i documenti aggiornati: https://firebase.google.com/docs/cloud-messaging/android/device-group#managing_device_groups

Ecco cosa posso già fare:

  • Crea un nuovo gruppo di dispositivi con alcuni token dispositivo
  • Aggiungi token dispositivo a un gruppo di dispositivi esistente

E questo è quello che non riesco a capire come fare dato che non ci sono menzioni nei documenti:

  • Indica se esiste già un gruppo di dispositivi in ​​base al suo notification_key_name .

    Soluzione 1: se provo a creare un gruppo con un notification_key_name che esiste già, ricevo un errore che mi dice così, ma questo sembra un modo molto hacky per scoprirlo.

    Soluzione 2: archiviare le informazioni personali da qualche altra parte.

  • Individuazione dei token dispositivo ( registration_id ) appartenenti a un gruppo di dispositivi.

    Soluzione: come prima, memorizza le informazioni da solo da qualche altra parte.

  • Rimuovi i token dispositivo ( registration_id ) da un gruppo di dispositivi.

    Soluzione: nessuna.

  • Rimuovi un gruppo di dispositivi.

    Soluzione: nessuna.

Grazie!

  • Indica se esiste già un gruppo di dispositivi in ​​base al suo notification_key_name .

La tua seconda soluzione è la strada da percorrere. Dovresti memorizzarlo nel tuo server delle app, lo stesso in cui hai archiviato anche i token di registrazione.


  • Individuazione dei token dispositivo ( registration_id ) appartenenti a un gruppo di dispositivi.

Come la soluzione sopra descritta. Devi gestire questi dettagli sul tuo App Server. È responsabilità dello sviluppatore gestire questi dettagli. Abbinando le azioni se il dispositivo di registrazione viene rimosso, dovrai rimuoverlo anche dal tuo App Server.


  • Rimuovi i token dispositivo ( registration_id ) da un gruppo di dispositivi.

Non sono sicuro di cosa hai bisogno qui. La documentazione contiene dettagli sulla rimozione dei token di registrazione dal gruppo di dispositivi:

Aggiunta e rimozione di dispositivi da un gruppo di dispositivi

Per aggiungere o rimuovere dispositivi da un gruppo esistente, inviare una richiesta POST con il parametro operation impostato per add o remove e fornire i token di registrazione per l’aggiunta o la rimozione.

Nota : se si rimuovono tutti i token di registrazione esistenti da un gruppo di dispositivi, FCM elimina il gruppo di dispositivi.

Richiesta POST HTTP

Ad esempio, per aggiungere un dispositivo con l’ID di registrazione 51 a appUser-Chris, invierai questa richiesta:

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

Formato di risposta

Una richiesta riuscita di aggiungere o rimuovere un dispositivo restituisce un tasto notification_key simile al seguente:

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

Nota : notification_key_name non è richiesto per aggiungere / rimuovere i token di registrazione, ma includendoli ti protegge contro l’utilizzo accidentale del tasto notification_key errato.


  • Rimuovi un gruppo di dispositivi.

Dalla nota nei documenti sopra:

Nota : se si rimuovono tutti i token di registrazione esistenti da un gruppo di dispositivi, FCM elimina il gruppo di dispositivi.

Per aggiungere un’altra opzione alla prima domanda, non è sicuro se questa sia stata aggiunta da FCM dopo la risposta accettata ma, nella sezione Gestione dei gruppi di dispositivi nella sezione del server delle applicazioni nella documentazione Android (e IOS), c’è una parte su Recupero di una notifica chiave utilizzando una richiesta GET a

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

Questo ritorna

{ "error": "notification_key not found" }

se il gruppo di dispositivi non esiste, o la chiave di notifica, altrimenti.