In diesem Thema werden die Arten von Entwicklerbenachrichtigungen in Echtzeit die Sie von Google Play erhalten können.
Codierung
Jede Veröffentlichung in einem Cloud Pub/Sub-Thema enthält base64-codiertes Datenfeld.
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
Nachdem Sie das base64-codierte Datenfeld decodiert haben, wird der DeveloperNotification
enthält die folgenden Felder:
{
"version": string,
"packageName": string,
"eventTimeMillis": long,
"oneTimeProductNotification": OneTimeProductNotification,
"subscriptionNotification": SubscriptionNotification,
"voidedPurchaseNotification": VoidedPurchaseNotification,
"testNotification": TestNotification
}
Diese Felder werden in der folgenden Tabelle beschrieben.
Property-Name | Wert | Beschreibung |
Version | string | Die Version dieser Benachrichtigung. Anfangs ist dies „1.0“. Dieses „version“ unterscheidet sich von anderen Versionsfeldern. |
Paketname | string | Der Paketname der Anwendung, auf die sich diese Benachrichtigung bezieht an (z. B. „com.some.thing“). |
EventTimeMillis | long | Der Zeitstempel des Ereignisses, in Millisekunden seit der Epoche. |
Abobenachrichtigung | Abobenachrichtigung | Wenn dieses Feld vorhanden ist, bezieht sich diese Benachrichtigung auf Abonnement. Dieses Feld enthält zusätzliche Informationen zum für das Abo. Beachten Sie, dass sich dieses Feld mit oneTimeProductNotification, voidedPurchaseNotification und testNotification angeben. |
oneTimeProductNotification | Einmalige Produktbenachrichtigung | Wenn dieses Feld vorhanden ist, bezieht sich diese Benachrichtigung auf einmaligen Kauf. Dieses Feld enthält zusätzliche Informationen, die mit dem Kauf in Verbindung stehen. Beachten Sie, dass sich dieses Feld gegenseitig ausschließen kann. mit „subscriptionNotification“, „voidedPurchaseNotification“, und testNotification. |
voidedPurchaseNotification | Ungültige Kaufbenachrichtigung | Wenn dieses Feld vorhanden ist, bezieht sich diese Benachrichtigung auf Kauf storniert. Dieses Feld enthält zusätzliche Informationen zum auf den ungültigen Kauf hinzu. Beachten Sie, dass sich dieses Feld gegenseitig ausschließen kann. mit oneTimeProductNotification, subscriptionNotification und testNotification angeben. |
testNotification (Testbenachrichtigung) | Testbenachrichtigung | Wenn dieses Feld vorhanden ist, bezieht sich diese Benachrichtigung auf Testveröffentlichung. Sie werden nur über den Google Play Developer Konsole. Beachten Sie, dass sich dieses Feld mit oneTimeProductNotification, subscriptionNotification und voidedPurchaseNotification. |
Abobenachrichtigung
Ein SubscriptionNotification
enthält die folgenden Felder:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
Property-Name | Wert | Beschreibung |
Version | string | Die Version dieser Benachrichtigung. Anfangs ist dies „1.0“. Dieses „version“ unterscheidet sich von anderen Versionsfeldern. |
Benachrichtigungstyp | int | Der messageType für ein Abo kann die folgenden Werte haben:
<ph type="x-smartling-placeholder">
|
Kauftoken | string | Das Token, das dem Nutzergerät beim Abschluss des Abos bereitgestellt wurde gekauft. |
Abo-ID | string | Die Produkt-ID des gekauften Abos, z. B. „monthly001“). |
Beispiel
Hier ist ein Beispiel für eine Benachrichtigung zum Kauf eines neuen Abos:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN",
"subscriptionId":"monthly001"
}
}
Einmalige Produktbenachrichtigung
Ein OneTimeProductNotification
enthält die folgenden Felder:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
Property-Name | Wert | Beschreibung |
Version | string | Die Version dieser Benachrichtigung. Anfangs ist dies „1.0“. Dieses „version“ unterscheidet sich von anderen Versionsfeldern. |
Benachrichtigungstyp | int | Die Art der Benachrichtigung. Folgende Werte sind möglich:
<ph type="x-smartling-placeholder">
|
Kauftoken | string | Das Token, das dem Nutzer beim Kauf bereitgestellt wurde. |
Artikelnummer | string | Die ID des einmalig gekauften Produkts, z. B. „sword_001“ |
Beispiel
Hier ein Beispiel für eine Benachrichtigung zu einem neuen einmaligen Kauf:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"oneTimeProductNotification":
{
"version":"1.0",
"notificationType":1,
"purchaseToken":"PURCHASE_TOKEN",
"sku":"my.sku"
}
}
Ungültige Kaufbenachrichtigung
Ein VoidedPurchaseNotification
enthält die folgenden Felder:
Property-Name |
Wert |
Beschreibung |
|
|
Das Token, das mit dem Kauf verknüpft ist, der ungültig wurde. Dieses Informationen, die dem Entwickler bei einem neuen Kauf zur Verfügung gestellt werden, erfolgt. |
|
|
Die eindeutige Bestell-ID, die der Transaktion zugeordnet ist, für die für ungültig erklärt wurde. Bei einmaligen Käufen ist dies die einzige Bestell-ID. die für den Kauf generiert wurden. Bei sich automatisch verlängernden Abos Auftrags-ID für jede Verlängerungstransaktion generiert wird. |
|
|
|
|
|
Beachten Sie, dass die verbleibende Gesamtmenge eines Kaufs mit variabler Stückzahl
erstattet, werden |
Beispiel
Hier ein Beispiel für eine Benachrichtigung über einen neuen ungültigen Kauf:
{
"version":"1.0",
"packageName":"com.some.app",
"eventTimeMillis":"1503349566168",
"voidedPurchaseNotification":
{
"purchaseToken":"PURCHASE_TOKEN",
"orderId":"GS.0000-0000-0000",
"productType":1
"refundType":1
}
}
VoidedPurchaseNotification verarbeiten
Wenn dein RTDN-Client eine VoidedPurchaseNotification
erhält, beachte das
folgende Informationen:
packageName
: Hiermit wird die App identifiziert.eventTimeMillis
: Hiermit wird der Entwickler über die Zeit informiert, zu der die Änderung Status aufgetreten ist.purchaseToken
: Das Token, das auf dem Gerät des Nutzers bereitgestellt wird, wenn das Produkt wurde gekauft.orderId
: Gibt die Bestellung an, die mit der ungültigen Aktion verknüpft ist. Transaktion.productType
: Gibt an, ob der ungültige Kauf ein In-App-Kauf war oder ein Abo abzuschließen.refundType
: Gibt die Art der Erstattung an, durch die der Kauf ungültig gemacht wurde.
Wenn du für eine Berechtigungsanpassung nur den richtigen Kauf finden musst haben Sie alle Informationen, die Sie brauchen. Weitere Informationen Weitere Informationen zum ungültigen Kauf findest du in der Google Play Voided Purchases API Dabei handelt es sich um ein Pull-Modell, das zusätzliche Daten zu ungültigen Käufen liefert. zwischen einem bestimmten Zeitstempel.
Bei teilweise ungültigen Käufen mit variabler Stückzahl wird das Feld refundableQuantity
angegeben.
bereitgestellt von purchases.products
enthält die verbleibenden
Anzahl der gekauften Produkte, die nicht ungültig gemacht wurden.
Testbenachrichtigung
Ein TestNotification
enthält die folgenden Felder:
{
"version": string
}
Property-Name | Wert | Beschreibung |
Version | string | Die Version dieser Benachrichtigung. Anfangs ist dies „1.0“. Dieses „version“ unterscheidet sich von anderen Versionsfeldern. |
Beispiel
Hier ist ein Beispiel für eine Testbenachrichtigung:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}