启用 EMM 推送通知

本指南假定您已有手动创建的 ESA,并向您展示 如何配置该功能以与 EMM 推送通知搭配使用。任务已完成 由 ESA 所有者(您、作为 EMM 解决方案提供商或您的客户)使用 Google API 控制台

1. 在 Google API 控制台中为 Cloud 项目中。

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 和服务菜单中,点击 信息中心:查看所有已启用 API 的列表。采用云技术之前 Pub/Sub API 可用于发送给客户的消息,您必须授予编辑者 该客户服务账号(其 ESA)的权限。

2. 向 ESA 授予编辑者权限

在 API 控制台中,授予必要的权限:

  1. API 和服务菜单中,点击凭据。您应该 服务账号密钥下列出了您的客户 ESA。
  2. 点击 Manage service accounts(管理服务账号)以打开所有服务账号 与项目相关联。
  3. 从列表中选择相应的 ESA 账号,然后点击 权限
  4. 添加成员字段中: <ph type="x-smartling-placeholder">
      </ph>
    • 输入与 ESA 关联的电子邮件地址。
    • 从下拉选择器中选择编辑器( )。
  5. 点击添加以保存权限。

3. 设置项目以接收 EMM 通知

启用 Cloud Pub/Sub API 并使用编辑器配置了 ESA 权限,您可以将项目配置为接收 EMM 通知, 详见设置 EMM 推送通知。简而言之,设置过程涉及配置 用于向订阅者推送通知的 HTTP 服务器端点。

EMM 通知的递送方式是 protobufs (协议缓冲区,一种用于对结构化数据进行序列化的简单格式),打包为 JSON 数据包内的 byte64 编码字节数组消息。在代码中,您必须 解析此 JSON 并解码协议缓冲区内容。以下是一个示例 NewPermissionsEvent 的 base64 网址安全编码 protobuf 通知:


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 文件位于 <ph type="x-smartling-placeholder"></ph> GitHub 上的 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 推送中 通知指南),请订阅指定的主题。您应该会获得 以及收到的所有实际通知 。