Questo argomento 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 di Cloud Pub/Sub contiene un singolo con codifica Base64.
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
Dopo aver decodificato il campo di dati con codifica 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 seguente tabella.
Nome proprietà | Valore | Descrizione |
versione | string | La versione di questa notifica. All'inizio, è "1.0". Questo è diversa dagli altri campi della versione. |
NomePacchetto | string | Il nome del pacchetto dell'applicazione a cui fa riferimento questa notifica (ad esempio "com.some.thing"). |
eventTimeMillis | lunghi | Il timestamp in millisecondi durante il quale si è verificato l'evento. l'epoca. |
notifica abbonamento | Notifica abbonamento | 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 oneTimeProductNotification, voidedPurchaseNotification e Notificatest. |
oneTimeProductNotification | NotificaProdottoUna tantum | Se questo campo è presente, la notifica è correlata a un una tantum e questo campo contiene informazioni aggiuntive relative all'acquisto. Tieni presente che questo campo si escludono a vicenda con subscriptionNotification, voidedPurchaseNotification, e testNotification. |
notifica di acquisto annullata | Notifica di acquisto annullata | 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 escludono a vicenda con oneTimeProductNotification, subscriptionNotification e Notificatest. |
Notificatest | NotificaTest | Se questo campo è presente, la notifica è correlata a un pubblicazione di prova. Queste vengono inviate soltanto tramite lo sviluppatore Google Play Google Cloud. Tieni presente che questo campo si esclude a vicenda oneTimeProductNotification, subscriptionNotification e voidedPurchaseNotification. |
Notifica abbonamento
Un SubscriptionNotification
contiene i seguenti campi:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
Nome proprietà | Valore | Descrizione |
versione | string | La versione di questa notifica. All'inizio, è "1.0". Questo è diversa dagli altri campi della versione. |
tipo di notifica | int | Il tipo di notifica per una sottoscrizione può avere i seguenti valori:
|
purchaseToken | string | Il token fornito al dispositivo dell'utente al momento dell'abbonamento acquistato. |
ID abbonamento | string | L'ID prodotto dell'abbonamento acquistato (ad esempio, "monthly001"). |
Esempio
Ecco un esempio di notifica relativa all'acquisto di un nuovo abbonamento:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN",
"subscriptionId":"monthly001"
}
}
NotificaProdottoUna tantum
Un OneTimeProductNotification
contiene i seguenti campi:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
Nome proprietà | Valore | Descrizione |
versione | string | La versione di questa notifica. All'inizio, sarà "1.0". Questo è diversa dagli altri campi della versione. |
tipo di notifica | int | Il tipo di notifica. Può avere i seguenti valori:
|
purchaseToken | string | Il token fornito al dispositivo dell'utente al momento dell'acquisto. |
SKU | string | L'ID prodotto a pagamento singolo acquistato (ad es. "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"
}
}
Notifica di acquisto annullata
Un VoidedPurchaseNotification
contiene i seguenti campi:
Nome proprietà |
Valore |
Descrizione |
|
|
Il token associato all'acquisto che è stato annullato. Questo vengono fornite informazioni allo sviluppatore quando un nuovo acquisto . |
|
|
L'ID ordine univoco associato alla transazione con annullato. Per gli acquisti una tantum, rappresenta l'unico ID ordine. generati per l'acquisto. Per gli abbonamenti con rinnovo automatico, viene viene generato un ID ordine per ogni transazione di rinnovo. |
|
|
|
|
|
Nota quando la quantità totale rimanente di un acquisto di più quantità è
rimborsato, l'importo di |
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 della
le seguenti informazioni:
packageName
: identifica l'app.eventTimeMillis
: consente di comunicare allo sviluppatore l'ora della modifica in .purchaseToken
: il token fornito al dispositivo dell'utente quando il prodotto è stato acquistato.orderId
: identifica l'ordine associato all'annullamento transazione.productType
: indica se l'acquisto annullato è un'app in-app un acquisto o un abbonamento.refundType
: indica il tipo di rimborso che ha annullato l'acquisto.
Se per l'aggiustamento dei diritti non devi fare altro che trovare l'acquisto giusto e in ordine, avrai tutte le informazioni di cui hai bisogno a questo punto. Per ulteriori informazioni come ottenere ulteriori informazioni sull'acquisto annullato, consulta le API Google Play Voided Purchases, un modello pull che fornisce dati aggiuntivi per gli acquisti annullati tra un determinato timestamp.
Per gli acquisti di più quantità parzialmente annullati, il campo refundableQuantity
fornita da purchases.products
contiene i restanti
numero di prodotti acquistati che non sono stati annullati.
NotificaTest
Un TestNotification
contiene i seguenti campi:
{
"version": string
}
Nome proprietà | Valore | Descrizione |
versione | string | La versione di questa notifica. All'inizio, è "1.0". Questo è diversa dagli altri campi della versione. |
Esempio
Ecco un esempio di notifica di prova:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}