Este tópico lista e descreve os tipos de Notificações do desenvolvedor em tempo real que podem ser recebidas do Google Play.
Codificação
Cada publicação feita em um tópico do Cloud Pub/Sub contém um único campo de dados codificado em base64.
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
Depois de que você decodifica o campo de dados codificado em base64, o DeveloperNotification
contém os seguintes campos:
{
"version": string,
"packageName": string,
"eventTimeMillis": long,
"oneTimeProductNotification": OneTimeProductNotification,
"subscriptionNotification": SubscriptionNotification,
"testNotification": TestNotification
}
Esses campos são descritos na tabela a seguir.
Nome da propriedade | Valor | Descrição |
version | string | A versão da notificação. Inicialmente, é "1.0". Essa versão é diferente dos outros campos de versão. |
packageName | string | O nome do pacote do aplicativo a que a notificação se refere (por exemplo, "com.alguma.coisa"). |
eventTimeMillis | long | Carimbo de data/hora em que o evento ocorreu, em milissegundos desde a época. |
subscriptionNotification | SubscriptionNotification | Se esse campo estiver presente, a notificação estará relacionada a uma assinatura. O campo conterá mais informações sobre a assinatura. Esse campo é mutuamente exclusivo com testNotification e oneTimeProductNotification. |
oneTimeProductNotification | OneTimeProductNotification | Se esse campo estiver presente, a notificação será relacionada a uma compra única. O campo conterá mais informações sobre a compra. Esse campo é mutuamente exclusivo com testNotification e subscriptionProductNotification. |
testNotification | TestNotification | Se esse campo estiver presente, a notificação estará relacionada a uma publicação de teste. Ele é enviado somente por meio do Google Play Console. Esse campo é mutuamente exclusivo com subscriptionNotification e oneTimeProductNotification. |
SubscriptionNotification
Um SubscriptionNotification
contém os seguintes campos:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
Nome da propriedade | Valor | Descrição |
version | string | A versão da notificação. Inicialmente, é "1.0". Essa versão é diferente dos outros campos de versão. |
notificationType | int | O notificationType de uma assinatura pode ter os seguintes valores:
|
purchaseToken | string | O token fornecido ao dispositivo do usuário quando a assinatura foi comprada. |
subscriptionId | string | O ID do produto para assinatura comprada (por exemplo, "monthly001"). |
Exemplo
Veja um exemplo de notificação para uma nova compra de assinatura:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN",
"subscriptionId":"monthly001"
}
}
OneTimeProductNotification
Uma OneTimeProductNotification
contém os seguintes campos:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
Nome da propriedade | Valor | Descrição |
version | string | A versão da notificação. Inicialmente, será "1.0". Essa versão é diferente dos outros campos de versão. |
notificationType | int | O tipo de notificação. Pode ter os seguintes valores:
|
purchaseToken | string | O token fornecido ao dispositivo do usuário quando a compra foi feita. |
sku | string | O ID do produto de aquisição única comprado (por exemplo, "sword_001") |
Exemplo
Veja um exemplo de notificação para uma nova compra única:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"oneTimeProductNotification":
{
"version":"1.0",
"notificationType":1,
"purchaseToken":"PURCHASE_TOKEN",
"sku":"my.sku"
}
}
TestNotification
Um TestNotification
contém os seguintes campos:
{
"version": string
}
Nome da propriedade | Valor | Descrição |
version | string | A versão da notificação. Inicialmente, é "1.0". Essa versão é diferente dos outros campos de versão. |
Exemplo
Veja um exemplo de notificação de teste:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}