As notificações do Pub/Sub oferecem uma maneira de receber alertas sobre dispositivos recém-registrados, relatórios de dispositivos e comandos emitidos recentemente.
Para configurar notificações do Pub/Sub, é preciso ativar a API Pub/Sub e criar um tópico. Para receber mensagens publicadas em um tópico, crie uma assinatura nele. A assinatura conecta um tópico a um aplicativo do assinante, que recebe e processa as mensagens publicadas no tópico. Depois de criar uma assinatura, você precisa conceder ao Android Device Policy permissão para publicar no seu tópico.
1. Ativar a API Pub/Sub para seu projeto
Para instruções sobre como ativar a API Pub/Sub, consulte o guia de início rápido do console. Selecione o mesmo projeto em que a API Android Management está ativada.
2. Criar um tópico
Depois de ativar a API, você precisará criar um tópico em que o Android Device Policy possa publicar notificações. Há duas maneiras de criar um tópico:
a. Manualmente, no Console do Google Cloud Platform.
b. Usando a API Pub/Sub (consulte criar topicmethod).
Depois de criar um tópico, anote o nome dele.
3. Crie uma assinatura
Uma assinatura captura o stream de mensagens publicadas sobre determinado tópico. Há duas maneiras de criar uma assinatura:
a. Manualmente, no Console do Google Cloud Platform.
b. Usando a API Pub/Sub (consulte o método de criação de assinatura).
4. Conceder ao Android Device Policy o direito de publicar no tópico
Você precisa conceder permissão a android-cloud-policy@system.gserviceaccount.com para publicar no tópico. Há duas maneiras de conceder direitos de publicação:
a. manualmente no Console do Google Cloud Platform;
- Adicione android-cloud-policy@system.gserviceaccount.com como membro ao tópico.
- Clique em Selecionar um papel > Pub/Sub > Editor do Pub/Sub.
b. Usando a API Pub/Sub (consulte Controle de acesso pela API IAM do Google Cloud Pub/Sub)
serviceAccount:android-cloud-policy@system.gserviceaccount.com
foi adicionado amembers
.- Defina
role
comoroles/pubsub.publisher
.
5. Atualize o Enterprise para oferecer suporte às notificações
Para conectar notificações sobre uma empresa ao tópico que você criou, chame
enterprises.patch
e especifique os seguintes parâmetros:
pubsubTopic
: o nome do tópico do Pub/Sub no formatoprojects/{project}/topics/{topic}
.enabledNotificationTypes
: inclui todos os tipos de notificação que você quer receber. Escolha entreENROLLMENT
,STATUS_REPORT
eCOMMAND
.
6. Usar a API Pub/Sub para receber notificações
Uma inscrição pode usar o mecanismo de push ou pull para a entrega de mensagens. Diretrizes e instruções sobre como receber notificações por meio desses dois mecanismos estão disponíveis no Guia do assinante do Pub/Sub.
Formato de mensagem
As mensagens assumem a forma de uma PubsubMessage.
O campo attributes
da mensagem contém um atributo com a chave
notificationType
e o valor definido como o tipo de notificação que acionou a
mensagem (por exemplo, ENROLLMENT
). O campo data
da mensagem contém a representação JSON
do recurso que foi atualizado, codificada como uma string UTF-8. As
notificações e os tipos de recursos correspondentes são os seguintes:
- As notificações
COMMAND
usam o tipo de recurso Operação. - As notificações
USAGE_LOGS
usam o tipo de recurso UsageLogEvent. - As notificações
ENROLLMENT
eSTATUS_REPORT
usam o tipo de recurso Dispositivo.
Ao definir o pubsubTopic
em uma empresa, uma mensagem inicial é publicada com notificationType
definido como test
. Essa mensagem é enviada para verificar se o
Android Device Policy tem a permissão de publicação no tópico e precisa ser
ignorada.