このトピックでは、Google Play から受信できるリアルタイム デベロッパー通知のタイプについて説明します。
エンコード
Cloud Pub/Sub トピックに対して行われた各パブリッシュには、base64 でエンコードされたデータ フィールドが 1 つ含まれます。
{
"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 | 文字列 | この通知のバージョン。最初は「1.0」に設定されます。このバージョンは他のバージョン フィールドとは異なります。 |
packageName | 文字列 | この通知に関連するアプリのパッケージ名(例: com.some.thing)。 |
eventTimeMillis | long | イベント発生時のタイムスタンプ(エポックからのミリ秒数)。 |
subscriptionNotification | SubscriptionNotification | このフィールドが存在する場合、この通知は定期購入に関連しており、フィールドには定期購入に関連する追加情報が含まれます。このフィールドは、testNotification、oneTimeProductNotification と相互に排他的です。 |
oneTimeProductNotification | OneTimeProductNotification | このフィールドが存在する場合、この通知は 1 回だけの購入に関連しており、フィールドには購入に関する追加情報が含まれます。このフィールドは、testNotification、subscriptionProductNotification と相互に排他的です。 |
testNotification | TestNotification | このフィールドが存在する場合、この通知はテスト公開に関連しています。これは Google Play Console でのみ送信されます。このフィールドは、subscriptionNotification、oneTimeProductNotification と相互に排他的です。 |
SubscriptionNotification
SubscriptionNotification
には次のフィールドがあります。
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
プロパティ名 | 値 | 説明 |
version | 文字列 | この通知のバージョン。最初は「1.0」に設定されます。このバージョンは他のバージョン フィールドとは異なります。 |
notificationType | int | 定期購入の notificationType には、次の値を指定できます。
|
purchaseToken | 文字列 | 定期購入の購入時にユーザーのデバイスに提供されたトークン。 |
subscriptionId | 文字列 | 購入された定期購入のアイテム 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 | 文字列 | この通知のバージョン。最初は「1.0」に設定されます。このバージョンは他のバージョン フィールドとは異なります。 |
notificationType | int | 通知のタイプ。以下のいずれかの値が設定されます。
|
purchaseToken | 文字列 | 購入時にユーザーのデバイスに提供されたトークン。 |
sku | 文字列 | 購入した 1 回限りのアイテムの ID(例: sword_001)。 |
例
新しい 1 回だけの購入の通知の例を次に示します。
{
"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 | 文字列 | この通知のバージョン。最初は「1.0」に設定されます。このバージョンは他のバージョン フィールドとは異なります。 |
例
テスト通知の例を次に示します。
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}