Configurare le notifiche Pub/Sub

Le notifiche Pub/Sub ti consentono di ricevere avvisi sui dispositivi appena registrati, sui report relativi ai dispositivi e sui comandi emessi di recente.

Per configurare le notifiche Pub/Sub, devi abilitare l'API Pub/Sub e creare un argomento. Per ricevere i messaggi pubblicati in un argomento, crea una sottoscrizione all'argomento in questione. La sottoscrizione connette l'argomento a un'applicazione del sottoscrittore che riceve ed elabora i messaggi pubblicati nell'argomento. Dopo aver creato un abbonamento, devi concedere ad Android Device Policy l'autorizzazione a pubblicare contenuti nell'argomento.

1. Abilita l'API Pub/Sub per il tuo progetto

Per istruzioni su come abilitare l'API Pub/Sub, consulta la guida rapida alla console. Assicurati di selezionare lo stesso progetto per cui è abilitata l'API Android Management.

2. Crea un argomento

Dopo aver abilitato l'API, devi creare un argomento in cui Android Device Policy può pubblicare le notifiche. Esistono due modi per creare un argomento:

a. Manualmente nella console di Google Cloud Platform.
b. Utilizzando l'API Pub/Sub (vedi create topicmethod).

Dopo aver creato un argomento, prendi nota del nome.

3. Crea una sottoscrizione

Una sottoscrizione acquisisce il flusso di messaggi pubblicati in un determinato argomento. Esistono due modi per creare un abbonamento:

a. Manualmente nella console di Google Cloud Platform.
b. Tramite l'API Pub/Sub (vedi Creare un metodo di abbonamento).

4. Concedi ad Android Device Policy il diritto di pubblicare sul tuo argomento

Devi autorizzare android-cloud-policy@system.gserviceaccount.com a pubblicare l'argomento. Esistono due modi per concedere i diritti di pubblicazione:

a. Manualmente nella console di Google Cloud Platform.

  • Aggiungi android-cloud-policy@system.gserviceaccount.com come membro del tuo argomento.
  • Fai clic su Seleziona un ruolo > Pub/Sub > Publisher Pub/Sub.

b. Utilizzo dell'API Pub/Sub (vedi Controllo dell'accesso tramite l'API Google Cloud Pub/Sub IAM)

  • Aggiungi serviceAccount:android-cloud-policy@system.gserviceaccount.com a members.
  • Imposta role su roles/pubsub.publisher.

5. Aggiorna Enterprise per supportare le notifiche

Per collegare le notifiche relative a un'azienda all'argomento che hai creato, chiama enterprises.patch e specifica i seguenti parametri:

  • pubsubTopic: il nome dell'argomento Pub/Sub nel formato projects/{project}/topics/{topic}.
  • enabledNotificationTypes: includi tutti i tipi di notifiche che vuoi ricevere. Scegli tra ENROLLMENT, STATUS_REPORT e COMMAND.

6. Utilizzare l'API Pub/Sub per ricevere le notifiche

Una sottoscrizione può utilizzare il meccanismo push o pull per la consegna dei messaggi. Linee guida e indicazioni su come ricevere le notifiche tramite entrambi i meccanismi sono disponibili nella Guida per gli abbonati Pub/Sub.

Formato del messaggio

I messaggi assumono il formato di PubsubMessage. Il campo attributes del messaggio contiene un attributo con chiave notificationType e un valore impostato sul tipo di notifica che ha attivato il messaggio (ad es. ENROLLMENT). Il campo data del messaggio contiene la rappresentazione JSON della risorsa aggiornata, codificata come stringa UTF-8. Di seguito sono riportate le notifiche e i corrispondenti tipi di risorse:

  • Le notifiche COMMAND utilizzano il tipo di risorsa Operazione.
  • Le notifiche USAGE_LOGS utilizzano il tipo di risorsa UsageLogEvent.
  • Le notifiche ENROLLMENT e STATUS_REPORT utilizzano il tipo di risorsa Dispositivo.

Quando imposti pubsubTopic in Enterprise, viene pubblicato un messaggio iniziale con notificationType impostato su test. Questo messaggio viene inviato per verificare che Android Device Policy disponga dell'autorizzazione di pubblicazione sull'argomento e deve essere ignorato.