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 Cloud Pub/Sub contiene un singolo campo di dati codificato in base64.
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
Dopo aver decodificato il campo dei 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 proprietà | Conveniente | Description |
versione | string | La versione di questa notifica. All'inizio, il valore è "1.0". Questa versione è diversa dagli altri campi della versione. |
NomePacchetto | string | Il nome del pacchetto dell'applicazione a cui si riferisce la notifica (ad esempio "com.some.thing"). |
Orario eventoMillis | lunghi | Il timestamp in cui si è verificato l'evento, in millisecondi dall'epoca. |
Notifica sottoscrizione | Notifica abbonamento | Se questo campo è presente, la notifica riguarda un abbonamento e questo campo contiene informazioni aggiuntive relative all'abbonamento. Tieni presente che questo campo si escludono a vicenda con oneTimeProductNotification, voidedPurchaseNotification e testNotification. |
notifica oneTimeProduct | Notifica prodottoOneTime | Se questo campo è presente, la notifica riguarda un acquisto una tantum e contiene informazioni aggiuntive sull'acquisto. Tieni presente che questo campo si escludono a vicenda con subscriptionNotification, voidedPurchaseNotification, e testNotification. |
voidedPurchaseNotification | Notifica di acquisto non valida | Se questo campo è presente, la notifica riguarda 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 testNotification. |
testNotifica | Notifica prova | Se questo campo è presente, la notifica riguarda la pubblicazione di un test. Queste informazioni vengono inviate soltanto tramite la Google Play Developer Console. Tieni presente che questo campo si escludono a vicenda con oneTimeProductNotification, subscriptionNotification e voidedPurchaseNotification. |
Notifica abbonamento
Un elemento SubscriptionNotification
contiene i seguenti campi:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
Nome proprietà | Conveniente | Description |
versione | string | La versione di questa notifica. All'inizio, il valore è "1.0". Questa versione è diversa dagli altri campi della versione. |
NotificationType | int | Il parametro notificationType per una sottoscrizione può avere i seguenti valori:
|
purchaseToken | string | Il token fornito al dispositivo dell'utente al momento dell'acquisto dell'abbonamento. |
ID abbonamento | string | L'ID prodotto dell'abbonamento acquistato (ad esempio, "monthly001"). |
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",
"subscriptionId":"monthly001"
}
}
Notifica prodottoOneTime
Un elemento OneTimeProductNotification
contiene i seguenti campi:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
Nome proprietà | Conveniente | Description |
versione | string | La versione di questa notifica. Inizialmente il valore sarà "1.0". Questa versione è diversa dagli altri campi della versione. |
NotificationType | 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 unico 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 non valida
Un elemento VoidedPurchaseNotification
contiene i seguenti campi:
Nome proprietà |
Conveniente |
Description |
|
|
Il token associato all'acquisto che è stato annullato. Queste informazioni vengono fornite allo sviluppatore quando si verifica un nuovo acquisto. |
|
|
L'ID ordine univoco associato alla transazione che è stata annullata. Per gli acquisti una tantum, 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 la quantità totale rimanente per un acquisto di più quantità viene rimborsata, 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
}
}
Utilizzo di una notifica di acquisto annullata
Quando il tuo client RTDN riceve un VoidedPurchaseNotification
, tieni presente le seguenti informazioni:
packageName
: identifica l'app.eventTimeMillis
: indica allo sviluppatore quando si è verificata la modifica 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
: indica il tipo di rimborso che ha annullato l'acquisto.
Se tutto ciò che devi fare per gli aggiustamenti dei diritti è individuare l'acquisto e l'ordine giusti, a questo punto hai a disposizione tutte le informazioni di cui hai bisogno. Per scoprire come ottenere ulteriori informazioni sull'acquisto annullato, consulta l'API Voided Purchases di Google Play, 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
fornito da purchases.products
contiene il numero rimanente
di prodotti acquistati che non sono stati annullati.
Notifica prova
Un elemento TestNotification
contiene i seguenti campi:
{
"version": string
}
Nome proprietà | Conveniente | Description |
versione | string | La versione di questa notifica. All'inizio, il valore è "1.0". Questa versione è 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"
}
}