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。ENROLLMENT
和STATUS_REPORT
通知使用資源類型裝置。
在 Enterprise 中設定 pubsubTopic
時,系統會發布初始訊息,並將 notificationType
設為 test
。這則訊息是用於驗證 Android Device Policy 具有主題的發布權限,因此應忽略。
預期延遲時間
快速連續發生的本機裝置事件會以單一 Pub/Sub 訊息進行批次處理,並回報給 EMM。
事件類型 | 裝置端事件與相應 EMM 通知之間的預期延遲時間1 |
---|---|
高優先順序索引鍵應用程式狀態 | 立即,每分鐘最多需要一份報表 |
標準優先順序的索引鍵應用程式狀態 | 一分鐘內 |
佈建期間的應用程式相關事件 (適用於由 IT 管理員定義安裝狀態的應用程式)2 | 除了其他相關佈建事件外 一分鐘內 |
佈建後的應用程式相關事件,適用於由 IT 管理員定義安裝狀態的應用程式。 | 5 分鐘內 |
佈建期間或佈建後的應用程式相關事件,適用於具有員工定義的安裝狀態的應用程式3 | 60 分鐘內 |
其他裝置端應用程式事件 | 60 分鐘內 |
-
盡可能根據受控情況調整的最佳努力目標。實際延遲時間可能會因各種裝置和環境因素而異。 ↩
-
這項政策中強制執行的
InstallType
應用程式:FORCE_INSTALLED
、BLOCKED
、REQUIRED_FOR_SETUP
、PREINSTALLED
和KIOSK
。↩ -
可用的
InstallType
應用程式:AVAILABLE
、INSTALL_TYPE_UNSPECIFIED
。↩