Configurare le notifiche Pub/Sub

Le notifiche Pub/Sub consentono di ricevere avvisi sui dispositivi appena registrati, sui report sui 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 a quell'argomento. 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 l'autorizzazione ad Android Device Policy per pubblicare 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 della 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 per cui Android Device Policy può pubblicare notifiche. Esistono due modi per creare un argomento:

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

Dopo aver creato un argomento, prendi nota del suo 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. Utilizzando l'API Pub/Sub (vedi Creazione del metodo di sottoscrizione).

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

Devi concedere ad android-cloud-policy@system.gserviceaccount.com l'autorizzazione per pubblicare nell'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 all'argomento.
  • Fai clic su Seleziona un ruolo > Pub/Sub > Publisher Pub/Sub.

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

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

5. Aggiorna enterprise per supportare le notifiche

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

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

6. Usa l'API Pub/Sub per ricevere notifiche

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

Formato del messaggio

I messaggi assumono la forma di PubsubMessage. Il campo attributes del messaggio contiene un attributo con chiave notificationType e 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. Le notifiche e i tipi di risorse corrispondenti sono i seguenti:

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

Quando imposti pubsubTopic su un'azienda, 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.