本指南假設您已手動建立 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,請按照下列步驟操作:
- 在 API 控制台中,開啟 API 程式庫。選取 或視需要建立新專案API 程式庫會列出 可用的 API,按照產品系列和熱門程度分組。
- 在「Google Cloud API」下方,找到 Cloud Pub/Sub API。(如果不是, 如要查看,請使用搜尋功能。)
- 選取「Cloud Pub/Sub API」,然後按一下「啟用」。
啟用 API 之後「服務」選單,按一下 資訊主頁會列出所有已啟用的 API。採用雲端技術之前 Pub/Sub API 可用來傳送訊息給客戶,但你必須授予編輯者 該客戶服務帳戶 (其 ESA) 的權限。
2. 將編輯者權限授予 ESA
在 API 控制台授予必要權限:
- 透過 API 與服務選單,然後按一下憑證。請 「服務帳戶金鑰」下方會列出客戶的 ESA。
- 按一下「管理服務帳戶」,開啟所有服務帳戶 與專案相關聯
- 在清單中選取適當的 ESA 帳戶,然後按一下 權限:
- 在「Add members」(新增成員) 欄位中:
- 請輸入與 ESA 相關聯的電子郵件地址。
- 在下拉式選取器中,選擇「編輯器」 (位於 輸入欄位)。
- 按一下「新增」儲存權限。
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 測試通知,以及 。