Questo documento elenca e descrive i tipi di notifiche in tempo reale per lo sviluppatore che puoi ricevere da Google Play.
Codifica
Ogni pubblicazione effettuata in un argomento Cloud Pub/Sub contiene un singolo campo di dati con codifica base64.
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
Dopo aver decodificato il campo dati codificato in Base64, DeveloperNotification
contiene i seguenti campi:
{
"version": string,
"packageName": string,
"eventTimeMillis": long,
"oneTimeProductNotification": OneTimeProductNotification,
"subscriptionNotification": SubscriptionNotification,
"voidedPurchaseNotification": VoidedPurchaseNotification,
"testNotification": TestNotification
}
Questi campi sono descritti nella tabella seguente.
Nome della proprietà | Valore | Descrizione |
versione | stringa | La versione di questa notifica. Inizialmente, questo valore è "1.0". Questa versione è diversa dagli altri campi della versione. |
packageName | stringa | Il nome del pacchetto dell'applicazione a cui si riferisce questa notifica (ad esempio, `com.some.thing`). |
eventTimeMillis | lunghi | Il timestamp in cui si è verificato l'evento, in millisecondi dal periodo. |
subscriptionNotification | SubscriptionNotification | Se questo campo è presente, la notifica è correlata a un abbonamento e questo campo contiene informazioni aggiuntive relative all'abbonamento. Tieni presente che questo campo si esclude a vicenda con oneTimeProductNotification, voidedPurchaseNotification e testNotification. |
oneTimeProductNotification | OneTimeProductNotification | Se questo campo è presente, la notifica è relativa a un acquisto una tantum e questo campo contiene informazioni aggiuntive relative all'acquisto. Tieni presente che questo campo si esclude a vicenda con subscriptionNotification, voidedPurchaseNotification e testNotification. |
voidedPurchaseNotification | VoidedPurchaseNotification | Se questo campo è presente, la notifica è correlata a un acquisto annullato e questo campo contiene informazioni aggiuntive relative all'acquisto annullato. Tieni presente che questo campo si esclude a vicenda con oneTimeProductNotification, subscriptionNotification e testNotification. |
testNotification | TestNotification | Se questo campo è presente, la notifica è correlata a una pubblicazione di test. Questi vengono inviati solo tramite la Google Play Developer Console. Tieni presente che questo campo si esclude a vicenda con oneTimeProductNotification, subscriptionNotification e voidedPurchaseNotification. |
SubscriptionNotification
Un SubscriptionNotification
contiene i seguenti campi:
{
"version": string,
"notificationType": int,
"purchaseToken": string
}
Nome della proprietà | Valore | Descrizione |
versione | stringa | La versione di questa notifica. Inizialmente, questo valore è "1.0". Questa versione è diversa dagli altri campi della versione. |
notificationType | int | Il valore di notificationType per un abbonamento può essere uno dei seguenti:
|
purchaseToken | stringa | Il token fornito al dispositivo dell'utente al momento dell'acquisto dell'abbonamento. |
Esempio
Ecco un esempio di notifica per l'acquisto di un nuovo abbonamento:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN"
}
}
OneTimeProductNotification
Un OneTimeProductNotification
contiene i seguenti campi:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
Nome proprietà | Valore | Descrizione |
versione | stringa | La versione di questa notifica. Inizialmente, sarà "1.0". Questa versione è diversa dagli altri campi della versione. |
notificationType | int | Il tipo di notifica. Può avere i seguenti valori:
|
purchaseToken | stringa | Il token fornito al dispositivo dell'utente al momento dell'acquisto. |
sku | stringa | L'ID prodotto a pagamento singolo acquistato (ad esempio, "sword_001") |
Esempio
Ecco un esempio di notifica per un nuovo acquisto una tantum:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"oneTimeProductNotification":
{
"version":"1.0",
"notificationType":1,
"purchaseToken":"PURCHASE_TOKEN",
"sku":"my.sku"
}
}
VoidedPurchaseNotification
Un VoidedPurchaseNotification
contiene i seguenti campi:
Nome proprietà |
Valore |
Descrizione |
|
|
Il token associato all'acquisto annullato. Queste informazioni vengono fornite allo sviluppatore quando viene effettuato un nuovo acquisto. |
|
|
L'ID ordine univoco associato alla transazione che è stata annullata. Per gli acquisti una tantum, questo rappresenta l'unico ID ordine generato per l'acquisto. Per gli abbonamenti con rinnovo automatico, viene generato un nuovo ID ordine per ogni transazione di rinnovo. |
|
|
Il
|
|
|
Il
Tieni presente che quando viene rimborsata la quantità totale rimanente di un acquisto con più quantità, l' |
Esempio
Ecco un esempio di notifica per un nuovo acquisto annullato:
{
"version":"1.0",
"packageName":"com.some.app",
"eventTimeMillis":"1503349566168",
"voidedPurchaseNotification":
{
"purchaseToken":"PURCHASE_TOKEN",
"orderId":"GS.0000-0000-0000",
"productType":1
"refundType":1
}
}
Utilizzo di VoidedPurchaseNotification
Quando il client RTDN riceve un VoidedPurchaseNotification
, prendi nota delle
seguenti informazioni:
packageName
: identifica l'app.eventTimeMillis
: indica l'ora in cui è avvenuto il cambio di stato.purchaseToken
: il token fornito al dispositivo dell'utente al momento dell'acquisto del prodotto.orderId
: identifica l'ordine associato alla transazione annullata.productType
: indica se l'acquisto annullato era un acquisto in-app o un abbonamento.refundType
: Specifica il tipo di rimborso che ha annullato l'acquisto.
TestNotification
Un TestNotification
contiene i seguenti campi:
{
"version": string
}
Nome della proprietà | Valore | Descrizione |
versione | stringa | La versione di questa notifica. Inizialmente, questo valore è "1.0". Questa versione è diversa dagli altri campi della versione. |
Esempio
Ecco un esempio di notifica di test:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}