Configurar notificações do Pub/Sub

Com as notificações do Pub/Sub, você recebe alertas sobre dispositivos recém-registrados, relatórios sobre dispositivos e comandos emitidos recentemente.

Para configurar as 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 permissão ao Android Device Policy para publicar no seu tópico.

1. Ativar a API Pub/Sub no 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ê precisa 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. Com 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 Criar método de assinatura.

4. Conceder ao Android Device Policy o direito de publicar no seu tópico

É preciso permitir que android-cloud-policy@system.gserviceaccount.com publique no seu 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 um membro ao seu tópico.
  • Clique em Selecionar papel > Pub/Sub > Editor do Pub/Sub.

b. Com a API Pub/Sub (consulte Controle de acesso pela API Google Cloud Pub/Sub IAM)

  • serviceAccount:android-cloud-policy@system.gserviceaccount.com foi adicionado a members.
  • Defina role como roles/pubsub.publisher.

5. Atualizar o Enterprise para permitir notificações

Para conectar as notificações de 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 formato projects/{project}/topics/{topic}.
  • enabledNotificationTypes: inclua todos os tipos de notificação que você quer receber. Escolha entre ENROLLMENT, STATUS_REPORT e COMMAND.

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. As diretrizes e as instruções sobre como receber notificações por esses dois mecanismos estão disponíveis no Guia do assinante do Pub/Sub.

Formato de mensagem

As mensagens têm o formato de uma PubsubMessage. O campo attributes da mensagem contém um atributo com chave notificationType e o valor definido para 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, codificado 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 e STATUS_REPORT usam o tipo de recurso Dispositivo.

Ao definir o pubsubTopic em um Enterprise, uma mensagem inicial será 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 ignorado.