Questo documento elenca e descrive i tipi di notifiche in tempo reale per lo sviluppatore che puoi ricevere da Google Play.
Codifica
Ogni pubblicazione in un argomento di Cloud Pub/Sub contiene un singolo campo di dati con codifica in base64.
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
Dopo aver decodificato il campo di dati con codifica 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 proprietà | Valore | Descrizione |
| versione | stringa | La versione di questa notifica. Inizialmente, è "1.0". Questa versione è diversa dagli altri campi della versione. |
| packageName | stringa | Il nome del pacchetto dell'applicazione a cui si riferisce questa notifica a (ad esempio, `com.some.thing`). |
| eventTimeMillis | lunghi | Il timestamp in cui si è verificato l'evento, in millisecondi da l'epoca. |
| subscriptionNotification | SubscriptionNotification | Se questo campo è presente, la notifica è relativa a un abbonamento e contiene informazioni aggiuntive sull' abbonamento. Tieni presente che questo campo è mutuamente esclusivo con oneTimeProductNotification, voidedPurchaseNotification, e testNotification. |
| oneTimeProductNotification | OneTimeProductNotification | Se questo campo è presente, la notifica è relativa a un acquisto una tantum e contiene informazioni aggiuntive sull'acquisto. Tieni presente che questo campo è mutuamente esclusivo con subscriptionNotification, voidedPurchaseNotification, e testNotification. |
| voidedPurchaseNotification | VoidedPurchaseNotification | Se questo campo è presente, la notifica è relativa a un acquisto annullato e contiene informazioni aggiuntive relative all'acquisto annullato. Tieni presente che questo campo è mutuamente esclusivo con oneTimeProductNotification, subscriptionNotification e testNotification. |
| testNotification | TestNotification | Se questo campo è presente, la notifica è relativa a una pubblicazione di test. Questi vengono inviati solo tramite la Google Play Developer Console. Tieni presente che questo campo è mutuamente esclusivo con oneTimeProductNotification, subscriptionNotification, e voidedPurchaseNotification. |
SubscriptionNotification
Un SubscriptionNotification contiene i seguenti campi:
{
"version": string,
"notificationType": int,
"purchaseToken": string
}
| Nome proprietà | Valore | Descrizione |
| versione | stringa | La versione di questa notifica. Inizialmente, è "1.0". Questa versione è diversa dagli altri campi della versione. |
| notificationType | int | Il notificationType per un abbonamento può avere i seguenti valori:
|
| 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 del 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 si verifica un nuovo acquisto |
|
|
L'ID ordine univoco associato alla transazione che è stato annullato. Per gli acquisti singoli, 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 di più quantità, il |
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
}
}
Utilizzare VoidedPurchaseNotification
Quando il client RTDN riceve un VoidedPurchaseNotification, tieni presente le seguenti informazioni:
packageName: identifica l'app.eventTimeMillis: ti informa dell'ora in cui si è verificata la modifica dello 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 proprietà | Valore | Descrizione |
| versione | stringa | La versione di questa notifica. Inizialmente, è "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"
}
}