設定 Pub/Sub 通知

Pub/Sub 通知可讓您接收新註冊裝置、裝置報告和最近發出指令的相關快訊。

如要設定 Pub/Sub 通知,請啟用 Pub/Sub API 並建立主題。若要接收發布至某個主題的訊息,請為該主題建立訂閱項目。訂閱項目會將主題連結至訂閱者應用程式,訂閱者應用程式會接收及處理發布至該主題的訊息。建立訂閱項目後,必須授予 Android Device Policy 權限,才能發布至主題。

1. 為專案啟用 Pub/Sub API

如需啟用 Pub/Sub API 的操作說明,請參閱控制台快速入門指南。請務必選取已啟用 Android Management API專案

2. 建立主題

啟用 API 後,您需要建立 Android Device Policy 可發布通知的主題。建立主題的方式有兩種:

a. 在 Google Cloud 控制台中手動建立。
b.使用 Pub/Sub API (請參閱建立主題方法)。

建立主題後,請記下主題名稱。

3. 建立訂閱項目

訂閱項目會擷取發布至指定主題的訊息串。建立訂閱項目的方法有兩種:

a. 在 Google Cloud 控制台中手動建立。
b.使用 Pub/Sub API (請參閱建立訂閱方法)。

4. 授權 Android Device Policy 發布至您的主題

您需要授予 android-cloud-policy@system.gserviceaccount.com 權限,才能發布至主題。您可以透過兩種方式授予發布權利:

a. 在 Google Cloud 控制台中手動操作。

  • 將 android-cloud-policy@system.gserviceaccount.com 新增為主題的成員。
  • 依序點選「選取角色」 >「Pub/Sub」 >「Pub/Sub 發布者」

b. 使用 Pub/Sub API (請參閱透過 IAM API 控管存取權)

  • serviceAccount:android-cloud-policy@system.gserviceaccount.com 新增至 members
  • role 設為 roles/pubsub.publisher

5. 更新 Enterprise 以支援通知功能

如要將企業的通知連結至您建立的主題,請呼叫 enterprises.patch 並指定下列參數:

  • pubsubTopic:Pub/Sub 主題的名稱,格式為 projects/{project}/topics/{topic}
  • enabledNotificationTypes:加入您要接收的所有通知類型。你可以選擇「ENROLLMENT」、「STATUS_REPORT」和「COMMAND」。

6. 使用 Pub/Sub API 接收通知

訂閱可以使用推送或提取機制傳送訊息。如要瞭解如何透過這兩種機制接收通知,請參閱 Pub/Sub 訂閱者指南中的指南和說明。

郵件格式

訊息會採用 PubsubMessage 的形式。訊息的 attributes 欄位含有含有索引鍵 notificationType 的屬性和設為觸發訊息的通知類型 (例如 ENROLLMENT)。訊息的 data 欄位包含以 UTF-8 字串編碼的已更新資源的 JSON 表示法。通知及其對應的資源類型如下:

  • COMMAND 通知使用資源類型 Operation
  • USAGE_LOGS 通知使用資源類型 UsageLogEvent
  • ENROLLMENTSTATUS_REPORT 通知使用資源類型裝置

在 Enterprise 中設定 pubsubTopic 時,系統會發布初始訊息,並將 notificationType 設為 test。這則訊息是用於驗證 Android Device Policy 具有主題的發布權限,因此應忽略。

預期延遲時間

快速連續發生的本機裝置事件會以單一 Pub/Sub 訊息進行批次處理,並回報給 EMM。

事件類型 裝置端事件與相應 EMM 通知之間的預期延遲時間1
高優先順序索引鍵應用程式狀態 立即,每分鐘最多需要一份報表
標準優先順序的索引鍵應用程式狀態 一分鐘內
佈建期間的應用程式相關事件 (適用於由 IT 管理員定義安裝狀態的應用程式)2 除了其他相關佈建事件外 一分鐘內
佈建後的應用程式相關事件,適用於由 IT 管理員定義安裝狀態的應用程式。 5 分鐘內
佈建期間或佈建後的應用程式相關事件,適用於具有員工定義的安裝狀態的應用程式3 60 分鐘內
其他裝置端應用程式事件 60 分鐘內

  1. 盡可能根據受控情況調整的最佳努力目標。實際延遲時間可能會因各種裝置和環境因素而異。 

  2. 這項政策中強制執行的 InstallType 應用程式:FORCE_INSTALLEDBLOCKEDREQUIRED_FOR_SETUPPREINSTALLEDKIOSK

  3. 可用的 InstallType 應用程式:AVAILABLEINSTALL_TYPE_UNSPECIFIED