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
amembers
. - Establece
role
enroles/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 formatoprojects/{project}/topics/{topic}
.enabledNotificationTypes
: Incluye todos los tipos de notificaciones que deseas recibir. Elige entreENROLLMENT
,STATUS_REPORT
yCOMMAND
.
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
ySTATUS_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.