啟用 EMM 推播通知

本指南假設您已手動建立 ESA,並提供 瞭解如何設定這項功能,以便與 EMM 推播通知搭配使用。工作已完成 使用 Google API 控制台

1. 在 Google API 控制台中啟用 Google Cloud Pub/Sub API 存取權,以便 雲端專案

2. 授予 ESA 編輯者權限。

3. 設定接收 EMM 通知的專案。

4. 傳送測試 EMM 通知。

5. 訂閱主題。

下文將進一步說明相關步驟。

1. 為專案啟用 Cloud Pub/Sub API 存取權

如要為專案啟用 Cloud Pub/Sub API,請按照下列步驟操作:

  1. 在 API 控制台中,開啟 API 程式庫。選取 或視需要建立新專案API 程式庫會列出 可用的 API,按照產品系列和熱門程度分組。
  2. 在「Google Cloud API」下方,找到 Cloud Pub/Sub API。(如果不是, 如要查看,請使用搜尋功能。)
  3. 選取「Cloud Pub/Sub API」,然後按一下「啟用」

啟用 API 之後「服務」選單,按一下 資訊主頁會列出所有已啟用的 API。採用雲端技術之前 Pub/Sub API 可用來傳送訊息給客戶,但你必須授予編輯者 該客戶服務帳戶 (其 ESA) 的權限。

2. 將編輯者權限授予 ESA

在 API 控制台授予必要權限:

  1. 透過 API 與服務選單,然後按一下憑證。請 「服務帳戶金鑰」下方會列出客戶的 ESA。
  2. 按一下「管理服務帳戶」,開啟所有服務帳戶 與專案相關聯
  3. 在清單中選取適當的 ESA 帳戶,然後按一下 權限
  4. 在「Add members」(新增成員) 欄位中:
    • 請輸入與 ESA 相關聯的電子郵件地址。
    • 在下拉式選取器中,選擇「編輯器」 (位於 輸入欄位)。
  5. 按一下「新增」儲存權限。

3. 設定接收 EMM 通知的專案

啟用 Cloud Pub/Sub API,並透過編輯器設定 ESA 權限,您可以設定專案接收 EMM 通知, 詳見集合 EMM 推播通知簡單來說,設定程序需要設定 將通知推送給訂閱者的 HTTP 伺服器端點。

EMM 通知的傳送方式為 protobufs (通訊協定緩衝區,一種序列化結構化資料的簡易格式) 並封裝為 位於 JSON 封包中的 byte64 編碼位元組陣列訊息。在程式碼中,您必須 剖析此 JSON,並將通訊協定緩衝區內容解碼範例如下 NewPermissionsEvent 的 Base64 網址安全編碼通訊協定緩衝區 通知:


CglDMTIzNDU2NzgQgM-C6sMqOooBChdhcHA6Y29tLmZha2VhcHAuZXhhbXBsZRIpYW5kcm9pZ
C5wZXJtaXNzaW9uLldSSVRFX0VYVEVSTkFMX1NUT1JBR0UaKGFuZHJvaWQucGVybWlzc2lvbi5SRUF
EX0VYVEVSTkFMX1NUT1JBR0UaGmFuZHJvaWQucGVybWlzc2lvbi5WSUJSQVRF

解碼後會執行以下程式碼:


{
 enterprise_id: "C12345678"
 event_notification_sent_timestamp_millis: 1461316528000 # 1.33Ti;
    [as milliseconds]: 2016-04-22 10:15:28 +0100
 new_permissions_event: {
   product_id: "app:com.fakeapp.example"
   requested_permissions: [ "android.permission.WRITE_EXTERNAL_STORAGE" ]
   approved_permissions : [ "android.permission.READ_EXTERNAL_STORAGE",
    "android.permission.VIBRATE" ]
  }
}

如要解碼 protobuf 格式的 EMM 通知,您可以使用 emm_pubsub.proto 個檔案位於 google/play-work 存放區使用新通知類型時 系統就會以新的類型擴充該檔案,並更新程式碼範例。 這些變更應能回溯相容,但請確認程式碼可以正常運作 優雅地接收不明類型的通知 列在 .proto 檔案中

4. 傳送測試 EMM 通知

傳送測試通知,您就能確認是否已成功完成 設定系統以接收 Google Play 的 EMM 通知,並且 也能讓您瞭解主題名稱 (系統會提供相同的主題名稱 Google Play EMM 通知)。

使用 Play EMM API,對 Enterprises 資源呼叫 sendTestPushNotification 方法。

叫用這項作業會導致系統傳送測試 EMM 通知。如果 EMM 通知已正確設定,API 會傳回下列內容:

    {
        topic_name: "/projects/project-name/topics/play-work-012345",
        message_id: "128976912439"
    }

5. 訂閱主題

使用執行 發布商測試程式碼 (位於設定 EMM 推送 通知指南),訂閱指定主題。您應該會收到 EMM 測試通知,以及 。