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
domembers
. - Ustaw wartość
role
naroles/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 formularzuprojects/{project}/topics/{topic}
.enabledNotificationTypes
: uwzględnij wszystkie typy powiadomień, które chcesz otrzymywać. Do wyboru maszENROLLMENT
,STATUS_REPORT
lubCOMMAND
.
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
iSTATUS_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ć.