Las notificaciones de Pub/Sub te permiten recibir alertas sobre dispositivos inscritos recientemente, informes de dispositivos y 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 otorgar permiso a Android Device Policy para publicar en tu tema.
1. Cómo habilitar la API de Pub/Sub para tu proyecto
Si quieres 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. Existen dos maneras de crear un tema:
a. De forma manual en Google Cloud Platform Console.
b. Mediante la API de Pub/Sub (consulta crear topicmethod).
Después de crear un tema, toma nota del nombre del tema.
3. Cree una suscripción
Una suscripción captura la transmisión de mensajes publicados a un tema específico. Existen dos maneras de crear una suscripción:
a. De forma manual en Google Cloud Platform Console.
b. Mediante la API de Pub/Sub (consulta cómo crear un método de suscripción).
4. Otorga a Android Device Policy el derecho de publicar en tu tema
Debes darle permiso a android-cloud-policy@system.gserviceaccount.com para publicar en tu tema. Existen 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 un rol > Pub/Sub > Publicador de Pub/Sub.
b. Mediante la API de Pub/Sub (consulta Control de acceso a través de la API de IAM de Google Cloud Pub/Sub)
- Se agregó
serviceAccount:android-cloud-policy@system.gserviceaccount.com
amembers
. - Establece
role
enroles/pubsub.publisher
.
5. Actualiza la empresa para admitir notificaciones
Para conectar las notificaciones de una empresa con el 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 para recibir notificaciones mediante estos dos mecanismos están disponibles en la Guía para suscriptores de Pub/Sub.
Formato del mensaje
Los mensajes tienen la forma de un PubsubMessage.
El campo attributes
del mensaje contiene un atributo con la clave notificationType
y el valor establecidos para 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ó, codificada 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 Device.
Cuando se configura la pubsubTopic
en una empresa, se publicará un mensaje inicial con notificationType
establecido 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.