Настроить уведомления Pub/Sub,Настроить уведомления Pub/Sub

Уведомления Pub/Sub позволяют получать оповещения о новых зарегистрированных устройствах, отчетах об устройствах и недавно выполненных командах .

Чтобы настроить уведомления Pub/Sub, вам необходимо включить Pub/Sub API и создать тему . Чтобы получать сообщения, опубликованные в теме, создайте подписку на эту тему. Подписка подключает тему к приложению-подписчику, которое получает и обрабатывает сообщения, опубликованные в теме. После создания подписки вам необходимо предоставить Политике устройств Android разрешение на публикацию в вашей теме.

1. Включите API Pub/Sub для вашего проекта.

Инструкции по включению Pub/Sub API см. в кратком руководстве по консоли . Убедитесь, что вы выбрали тот же проект , для которого включен Android Management API .

2. Создать тему

После включения API вам необходимо создать тему, в которой Android Device Policy сможет публиковать уведомления. Создать тему можно двумя способами:

а. Вручную в консоли Google Cloud Platform .
б. Использование API Pub/Sub (см. метод создания темы ).

После создания темы обратите внимание на ее название.

3. Создайте подписку

Подписка фиксирует поток сообщений, опубликованных по заданной теме. Создать подписку можно двумя способами:

а. Вручную в консоли Google Cloud Platform .
б. Использование API Pub/Sub (см. метод создания подписки ).

4. Предоставьте Android Device Policy право публиковать сообщения в вашей теме.

Вам необходимо предоставить android-cloud-policy@system.gserviceaccount.com разрешение на публикацию в вашей теме. Предоставить права на публикацию можно двумя способами:

а. Вручную в консоли Google Cloud Platform .

  • Добавьте android-cloud-policy@system.gserviceaccount.com в качестве участника в свою тему.
  • Нажмите «Выбрать роль» > «Pub/Sub» > «Pub/Sub Publisher» .

б. Использование Pub/Sub API (см. Контроль доступа через Google Cloud Pub/Sub IAM API )

  • Добавьте serviceAccount:android-cloud-policy@system.gserviceaccount.com к members .
  • Установите role roles/pubsub.publisher .

5. Обновите предприятие для поддержки уведомлений.

Чтобы подключить уведомления о предприятии к созданной вами теме, вызовите enterprises.patch и укажите следующие параметры:

  • pubsubTopic : название вашей публикации/подтемы в форме projects/{project}/topics/{topic} .
  • enabledNotificationTypes : включите все типы уведомлений, которые вы хотите получать. Выберите ENROLLMENT , STATUS_REPORT и COMMAND .

6. Используйте API Pub/Sub для получения уведомлений.

Подписка может использовать механизм push или pull для доставки сообщений. Рекомендации и указания о том, как получать уведомления с помощью обоих этих механизмов, доступны в Руководстве для подписчиков Pub/Sub .

Формат сообщения

Сообщения принимают форму PubsubMessage . Поле attributes сообщения содержит атрибут с ключевым notificationType и значением, установленным для типа уведомления, которое инициировало сообщение (например, ENROLLMENT ). Поле data сообщения содержит JSON-представление обновленного ресурса, закодированное как строка UTF-8. Уведомления и соответствующие им типы ресурсов следующие:

  • Уведомления COMMAND используют тип ресурса Operation .
  • Уведомления USAGE_LOGS используют тип ресурса UsageLogEvent .
  • Уведомления ENROLLMENT и STATUS_REPORT используют тип ресурса Device .

При настройке pubsubTopic на предприятии исходное сообщение будет опубликовано с notificationType установленным на test . Это сообщение отправляется для проверки того, что Android Device Policy имеет разрешение на публикацию этой темы и его следует игнорировать.