本主题列出并描述了您可以从 Google Play 收到的实时开发者通知的类型。
编码
发布到 Cloud Pub/Sub 主题的每条消息都包含一个以 base64 编码的数据字段。
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
对以 base64 编码的数据字段进行解码后,DeveloperNotification
包含以下字段:
{
"version": string,
"packageName": string,
"eventTimeMillis": long,
"oneTimeProductNotification": OneTimeProductNotification,
"subscriptionNotification": SubscriptionNotification,
"testNotification": TestNotification
}
下表对这些字段进行了说明。
属性名称 | 值 | 说明 |
version | string | 此通知的版本。最初,此值为“1.0”。此版本与其他版本字段不同。 |
packageName | string | 与此通知相关的应用的软件包名称(例如“com.some.thing”)。 |
eventTimeMillis | long | 事件发生的时间戳,以从公元纪年开始计算的毫秒数表示。 |
subscriptionNotification | SubscriptionNotification | 如果此字段存在,则此通知与订阅相关,并且此字段包含与订阅相关的其他信息。请注意,此字段与 testNotification 和 oneTimeProductNotification 互斥。 |
oneTimeProductNotification | OneTimeProductNotification | 如果此字段存在,则此通知与一次性购买相关,并且此字段包含与购买交易相关的其他信息。请注意,此字段与 testNotification 和 subscriptionProductNotification 互斥。 |
testNotification | TestNotification | 如果此字段存在,则此通知与测试发布相关。这些只通过 Google Play 管理中心发送。请注意,此字段与 subscriptionNotification 和 oneTimeProductNotification 互斥。 |
SubscriptionNotification
SubscriptionNotification
包含以下字段:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
属性名称 | 值 | 说明 |
version | string | 此通知的版本。最初,此值为“1.0”。此版本与其他版本字段不同。 |
notificationType | int | 订阅的 notificationType 可以具有以下值:
|
purchaseToken | string | 购买订阅时向用户设备提供的令牌。 |
subscriptionId | string | 所购买订阅的商品 ID(例如“monthly001”)。 |
示例
下面是新订阅购买的通知示例:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN",
"subscriptionId":"monthly001"
}
}
OneTimeProductNotification
OneTimeProductNotification
包含以下字段:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
属性名称 | 值 | 说明 |
version | string | 此通知的版本。最初,此值为“1.0”。此版本与其他版本字段不同。 |
notificationType | int | 通知的类型。它可以具有以下值:
|
purchaseToken | string | 购买时向用户设备提供的令牌。 |
sku | string | 购买的一次性商品的商品 ID(例如“sword_001”)。 |
示例
下面是新一次性购买的通知示例:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"oneTimeProductNotification":
{
"version":"1.0",
"notificationType":1,
"purchaseToken":"PURCHASE_TOKEN",
"sku":"my.sku"
}
}
TestNotification
TestNotification
包含以下字段:
{
"version": string
}
属性名称 | 值 | 说明 |
version | string | 此通知的版本。最初,此值为“1.0”。此版本与其他版本字段不同。 |
示例
下面是测试通知的示例:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}