Bu belgede, Google Play'den alabileceğiniz anlık geliştirici bildirimlerinin türleri listelenmekte ve açıklanmaktadır.
Kodlama
Cloud Pub/Sub konusuna yapılan her yayın, tek bir base64 kodlu veri alanı içerir.
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
Base64 kodlu veri alanının kodunu çözdükten sonra DeveloperNotification
aşağıdaki alanları içerir:
{
"version": string,
"packageName": string,
"eventTimeMillis": long,
"oneTimeProductNotification": OneTimeProductNotification,
"subscriptionNotification": SubscriptionNotification,
"voidedPurchaseNotification": VoidedPurchaseNotification,
"testNotification": TestNotification
}
Bu alanlar aşağıdaki tabloda açıklanmıştır.
Mülk adı | Değer | Açıklama |
sürüm | dize | Bu bildirimin sürümü. Başlangıçta bu değer "1.0" olur. Bu sürüm, diğer sürüm alanlarından farklıdır. |
packageName | dize | Bu bildirimle ilgili uygulamanın paket adı (örneğin, "com.some.thing"). |
eventTimeMillis | uzun | Etkinliğin gerçekleştiği zaman damgası (dönemden bu yana geçen milisaniye cinsinden). |
subscriptionNotification | SubscriptionNotification | Bu alan varsa bildirim bir abonelikle ilgilidir ve bu alan, abonelikle ilgili ek bilgiler içerir. Bu alanın oneTimeProductNotification, voidedPurchaseNotification ve testNotification ile aynı anda kullanılamadığını unutmayın. |
oneTimeProductNotification | OneTimeProductNotification | Bu alan varsa bildirim tek seferlik bir satın alma işlemiyle ilgilidir ve bu alan, satın alma işlemiyle ilgili ek bilgiler içerir. Bu alanın subscriptionNotification, voidedPurchaseNotification ve testNotification ile aynı anda kullanılamadığını unutmayın. |
voidedPurchaseNotification | VoidedPurchaseNotification | Bu alan varsa bildirim, geçersiz kılınan bir satın alma işlemiyle ilgilidir ve bu alan, geçersiz kılınan satın alma işlemiyle ilgili ek bilgiler içerir. Bu alanın oneTimeProductNotification, subscriptionNotification ve testNotification ile aynı anda kullanılamadığını unutmayın. |
testNotification | TestNotification | Bu alan varsa bildirim, test yayınıyla ilgilidir. Bu mesajlar yalnızca Google Play Console üzerinden gönderilir. Bu alanın oneTimeProductNotification, subscriptionNotification ve voidedPurchaseNotification ile aynı anda kullanılamadığını unutmayın. |
SubscriptionNotification
SubscriptionNotification
aşağıdaki alanları içerir:
{
"version": string,
"notificationType": int,
"purchaseToken": string
}
Mülk adı | Değer | Açıklama |
sürüm | dize | Bu bildirimin sürümü. Başlangıçta bu değer "1.0" olur. Bu sürüm, diğer sürüm alanlarından farklıdır. |
notificationType | int | Abonelik için notificationType şu değerlere sahip olabilir:
|
purchaseToken | dize | Abonelik satın alındığında kullanıcının cihazına sağlanan jeton. |
Örnek
Yeni bir abonelik satın alma işlemiyle ilgili bildirim örneğini aşağıda bulabilirsiniz:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN"
}
}
OneTimeProductNotification
OneTimeProductNotification
aşağıdaki alanları içerir:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
Mülk Adı | Değer | Açıklama |
sürüm | dize | Bu bildirimin sürümü. Başlangıçta bu değer "1.0" olacaktır. Bu sürüm, diğer sürüm alanlarından farklıdır. |
notificationType | int | Bildirimin türü. Aşağıdaki değerleri içerebilir:
|
purchaseToken | dize | Satın alma işlemi yapıldığında kullanıcının cihazına sağlanan jeton. |
sku | dize | Satın alınan tek seferlik ürün kimliği (örneğin, "sword_001") |
Örnek
Yeni bir tek seferlik satın alma işlemine ilişkin bildirim örneğini aşağıda bulabilirsiniz:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"oneTimeProductNotification":
{
"version":"1.0",
"notificationType":1,
"purchaseToken":"PURCHASE_TOKEN",
"sku":"my.sku"
}
}
VoidedPurchaseNotification
VoidedPurchaseNotification
aşağıdaki alanları içerir:
Mülk Adı |
Değer |
Açıklama |
|
|
İptal edilen satın alma işlemiyle ilişkili jeton. Bu bilgiler, yeni bir satın alma işlemi gerçekleştiğinde geliştiriciye sağlanır. |
|
|
İptal edilen işlemle ilişkili benzersiz sipariş kimliği. Tek seferlik satın alma işlemlerinde bu, satın alma işlemi için oluşturulan tek sipariş kimliğini temsil eder. Otomatik yenilenen aboneliklerde, her yenileme işlemi için yeni bir sipariş kimliği oluşturulur. |
|
|
Geçersiz kılınan bir satın alma işlemi için
|
|
|
Geçersiz kılınan bir satın alma işlemi için
Çoklu satın alma işleminde kalan toplam miktar iade edildiğinde |
Örnek
Aşağıda, yeni bir geçersiz kılınan satın alma işlemiyle ilgili bildirime bir örnek verilmiştir:
{
"version":"1.0",
"packageName":"com.some.app",
"eventTimeMillis":"1503349566168",
"voidedPurchaseNotification":
{
"purchaseToken":"PURCHASE_TOKEN",
"orderId":"GS.0000-0000-0000",
"productType":1
"refundType":1
}
}
VoidedPurchaseNotification'ı kullanma
RTDN istemciniz bir VoidedPurchaseNotification
aldığında aşağıdaki bilgileri not edin:
packageName
: Uygulamayı tanımlar.eventTimeMillis
: Durum değişikliğinin gerçekleştiği zamanı bildirir.purchaseToken
: Ürün satın alındığında kullanıcının cihazına sağlanan jeton.orderId
: Geçersiz kılınan işlemle ilişkili siparişi tanımlar.productType
: İptal edilen satın alma işleminin uygulama içi satın alma mı yoksa abonelik mi olduğunu gösterir.refundType
: Satın alma işlemini geçersiz kılan geri ödeme türünü belirtir.
TestNotification
TestNotification
aşağıdaki alanları içerir:
{
"version": string
}
Mülk adı | Değer | Açıklama |
sürüm | dize | Bu bildirimin sürümü. Başlangıçta bu değer "1.0" olur. Bu sürüm, diğer sürüm alanlarından farklıdır. |
Örnek
Aşağıda test bildirimiyle ilgili bir örnek verilmiştir:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}