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
amembers
. - Imposta
role
suroles/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 moduloprojects/{project}/topics/{topic}
.enabledNotificationTypes
: includi tutti i tipi di notifiche che vuoi ricevere. Scegli traENROLLMENT
,STATUS_REPORT
eCOMMAND
.
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
eSTATUS_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.