Konfigurowanie powiadomień Pub/Sub

Powiadomienia Pub/Sub umożliwiają otrzymywanie alertów o nowo zarejestrowanych urządzeniach, raportach o urządzeniach i niedawno wydanych poleceniach.

Aby skonfigurować powiadomienia Pub/Sub, musisz włączyć interfejs Pub/Sub API i utworzyć temat. Aby otrzymywać wiadomości opublikowane w temacie, utwórz jego subskrypcję. Subskrypcja łączy temat z aplikacją subskrybującą, która odbiera i przetwarza wiadomości opublikowane w temacie. Po utworzeniu subskrypcji musisz przyznać Android Device Policy uprawnienia do publikowania w Twoim temacie.

1. Włączanie interfejsu Pub/Sub API w projekcie

Instrukcje włączania interfejsu Pub/Sub API znajdziesz w krótkim przewodniku po konsoli. Wybierz ten sam projekt, w którym włączony jest interfejs Android Management API.

2. Tworzenie tematu

Po włączeniu interfejsu API musisz utworzyć temat, w którym Android Device Policy będzie mógł publikować powiadomienia. Możesz to zrobić na 2 sposoby:

a. Ręcznie w konsoli Google Cloud Platform.
b. Przy użyciu interfejsu Pub/Sub API (patrz tworzenie metody topicmethod).

Po utworzeniu tematu zapisz jego nazwę.

3. Tworzenie subskrypcji

Subskrypcja przechwytuje strumień wiadomości publikowanych w danym temacie. Subskrypcję można utworzyć na 2 sposoby:

a. Ręcznie w konsoli Google Cloud Platform.
b. Przy użyciu interfejsu Pub/Sub API (zobacz tworzenie metody subskrypcji).

4. Przyznawanie aplikacji Android Device Policy uprawnienia do publikowania w Twoim temacie

Musisz przyznać użytkownikowi android-cloud-policy@system.gserviceaccount.com uprawnienie do publikowania w Twoim temacie. Prawa do publikacji można przyznać na 2 sposoby:

a. Ręcznie w konsoli Google Cloud Platform.

  • Dodaj adres android-cloud-policy@system.gserviceaccount.com jako członka do tematu.
  • Kliknij Wybierz rolę > Pub/Sub > Pub/Sub Publishers.

b. Przy użyciu interfejsu Pub/Sub API (zobacz Kontrola dostępu za pomocą interfejsu Google Cloud Pub/Sub IAM API).

  • Dodaj serviceAccount:android-cloud-policy@system.gserviceaccount.com do members.
  • Ustaw wartość role na roles/pubsub.publisher.

5. Zaktualizuj organizację, aby obsługiwała powiadomienia

Aby połączyć powiadomienia dotyczące grupy z utworzonym tematem, wywołaj metodę enterprises.patch i podaj te parametry:

  • pubsubTopic: nazwa tematu Pub/Sub w formularzu projects/{project}/topics/{topic}.
  • enabledNotificationTypes: uwzględnij wszystkie typy powiadomień, które chcesz otrzymywać. Do wyboru masz ENROLLMENT, STATUS_REPORT lub COMMAND.

6. Otrzymywanie powiadomień przy użyciu interfejsu Pub/Sub API

Subskrypcja może dostarczać wiadomości za pomocą mechanizmu push lub pull. Wytyczne i wskazówki na temat tego, jak otrzymywać powiadomienia za pomocą obu tych mechanizmów, znajdziesz w Przewodniku dla subskrybentów Pub/Sub.

Format wiadomości

Wiadomości mają postać PubsubMessage. Pole attributes wiadomości zawiera atrybut z kluczem notificationType i wartość ustawioną na typ powiadomienia, które wywołało wiadomość (np. ENROLLMENT). Pole data wiadomości zawiera reprezentację JSON zaktualizowanego zasobu zakodowaną w formacie UTF-8. Powiadomienia i odpowiadające im typy zasobów są następujące:

  • Powiadomienia COMMAND używają typu zasobu Operacja.
  • Powiadomienia USAGE_LOGS używają typu zasobu UsageLogEvent.
  • Powiadomienia ENROLLMENT i STATUS_REPORT korzystają z typu zasobu Urządzenie.

Gdy ustawisz właściwość pubsubTopic w wersji Enterprise, na początku zostanie opublikowana początkowa wiadomość z ustawieniem notificationType ustawionym na test. Wysyłamy tę wiadomość, aby sprawdzić, czy Android Device Policy ma uprawnienia do publikowania danego tematu i należy ją zignorować.