Configura notificaciones de Pub/Sub

Las notificaciones de Pub/Sub proporcionan una forma de recibir alertas sobre los dispositivos inscritos recientemente, los informes de dispositivos y los comandos emitidos recientemente.

Para configurar las notificaciones de Pub/Sub, debes habilitar la API de Pub/Sub y crear un tema. Para recibir mensajes publicados en un tema, crea una suscripción a ese tema. La suscripción conecta el tema a una aplicación de suscriptor que recibe y procesa los mensajes publicados en el tema. Después de crear una suscripción, debes otorgarle permiso a Android Device Policy para que se publique en tu tema.

1. Habilita la API de Pub/Sub para tu proyecto

Si deseas obtener instrucciones para habilitar la API de Pub/Sub, consulta la guía de inicio rápido de la consola. Asegúrate de seleccionar el mismo proyecto para el que está habilitada la API de Android Management.

2. Cómo crear un tema

Después de habilitar la API, debes crear un tema en el que Android Device Policy pueda publicar notificaciones. Hay dos maneras de crear un tema:

a. De forma manual en Google Cloud Platform Console
b. Con la API de Pub/Sub (consulta Crea un tema de tema).

Después de crear un tema, anota el nombre.

3. Cree una suscripción

Una suscripción captura la transmisión de mensajes publicados a un tema específico. Hay dos maneras de crear una suscripción:

a. De forma manual en Google Cloud Platform Console
b. Mediante la API de Pub/Sub (consulta Crea un método de suscripción)

4. Otorga a Android Device Policy el derecho de publicar en tu tema

Debes otorgar permiso a android-cloud-policy@system.gserviceaccount.com para que pueda publicar en tu tema. Hay dos maneras de otorgar derechos de publicación:

a. De forma manual en Google Cloud Platform Console

  • Agrega android-cloud-policy@system.gserviceaccount.com como miembro al tema.
  • Haz clic en Seleccionar una función > Pub/Sub > Publicador de Pub/Sub.

b. Con la API de Pub/Sub (consulta Control de acceso a través de la API de IAM de Pub/Sub de Google Cloud)

  • Agrega serviceAccount:android-cloud-policy@system.gserviceaccount.com a members.
  • Establece role en roles/pubsub.publisher.

5. Actualiza la empresa para admitir las notificaciones

Para conectar las notificaciones de una empresa al tema que creaste, llama a enterprises.patch y especifica los siguientes parámetros:

  • pubsubTopic: Es el nombre de tu tema de Pub/Sub con el formato projects/{project}/topics/{topic}.
  • enabledNotificationTypes: Incluye todos los tipos de notificaciones que deseas recibir. Elige entre ENROLLMENT, STATUS_REPORT y COMMAND.

6. Usa la API de Pub/Sub para recibir notificaciones

Una suscripción puede usar el mecanismo de envío o extracción para la entrega de mensajes. Los lineamientos y las instrucciones sobre cómo recibir notificaciones a través de estos dos mecanismos están disponibles en la Guía para suscriptores de Pub/Sub.

Formato del mensaje

Los mensajes toman la forma de un PubsubMessage. El campo attributes del mensaje contiene un atributo con la clave notificationType y el valor establecido en el tipo de notificación que activó el mensaje (p.ej., ENROLLMENT). El campo data del mensaje contiene la representación JSON del recurso que se actualizó, codificado como una string UTF-8. Las notificaciones y sus tipos de recursos correspondientes son los siguientes:

  • Las notificaciones COMMAND usan el tipo de recurso Operación.
  • Las notificaciones USAGE_LOGS usan el tipo de recurso UsageLogEvent.
  • Las notificaciones ENROLLMENT y STATUS_REPORT usan el tipo de recurso Dispositivo.

Cuando se configura el pubsubTopic en una empresa, se publica un mensaje inicial con notificationType configurado en test. Este mensaje se envía para verificar que Android Device Policy tenga el permiso de publicación sobre el tema y debe ignorarse.