Bu konuda, Google Play'den alabileceğiniz Gerçek zamanlı geliştirici bildirimi türleri listelenmekte ve açıklanmaktadır.
Kodlama
Cloud Pub/Sub konusuna yapılan her yayınlama, tek bir base64 kodlu veri alanı içerir.
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
Base64 olarak kodlanmış veri alanının kodunu çözdüğünüzde, 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 | Description |
sürüm | dize | Bu bildirimin sürümü. Başlangıçta bu değer "1.0"dır. Bu sürüm, diğer sürüm alanlarından farklıdır. |
paket adı | dize | Bu bildirimin ilgili olduğu uygulamanın paket adı (örneğin, "com.some.thing"). |
etkinlikZamanıMillis | uzun | Etkinliğin gerçekleştiği zaman damgası (Epoch'tan bu yana milisaniye cinsinden). |
abonelik bildirimi | Abonelik Bildirimi | Bu alan mevcutsa bu bildirim bir abonelikle ilgilidir ve bu alan, abonelikle ilgili ek bilgiler içerir. Bu alanın oneTimeProduct Notification, voidedPurchaseNotification ve testNotification ile karşılıklı olarak hariç tutulduğunu unutmayın. |
oneTimeProductBildirim | OneTimeProductBildirim | Bu alan mevcutsa bu bildirim tek seferlik bir satın alma işlemiyle ilgilidir ve bu alan, satın almayla ilgili ek bilgiler içerir. Bu alanın subscriptionNotification, voidedPurchaseNotification ve testBildirim' olmak üzere karşılıklı olarak hariç tutulduğunu unutmayın. |
voidedSatın Alma Bildirimi | Geçersiz Satın Alma Bildirimi | Bu alan varsa bu bildirim geçersiz satın alma işlemiyle ilgilidir ve bu alan, geçersiz satın alma işlemiyle ilgili ek bilgiler içerir. Bu alanın oneTimeProduct Notification, subscriptionNotification ve testNotification ile karşılıklı olarak hariç tutulduğunu unutmayın. |
testBildirimi | Test Bildirimi | Bu alan mevcutsa bu bildirim bir test yayınıyla ilgilidir. Bunlar yalnızca Google Play Developer Console üzerinden gönderilir. Bu alanın oneTimeProductNotification, subscription Notification ve voidedPurchaseNotification ile karşılıklı olarak hariç tutulduğunu unutmayın. |
Abonelik Bildirimi
Bir SubscriptionNotification
aşağıdaki alanları içerir:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
Mülk adı | Değer | Description |
sürüm | dize | Bu bildirimin sürümü. Başlangıçta bu değer "1.0"dır. Bu sürüm, diğer sürüm alanlarından farklıdır. |
bildirimTürü | int | Bir abonelik için notificationType aşağıdaki değerlere sahip olabilir:
|
purchaseToken | dize | Abonelik satın alındığında kullanıcının cihazına sağlanan jeton. |
abonelik kimliği | dize | Satın alınan aboneliğin ürün kimliği (ör. "monthly001"). |
Örnek
Aşağıda, yeni bir abonelik satın almayla ilgili bildirim örneği verilmiştir:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN",
"subscriptionId":"monthly001"
}
}
OneTimeProductBildirim
Bir OneTimeProductNotification
aşağıdaki alanları içerir:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
Mülk Adı | Değer | Description |
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. |
bildirimTürü | int | Bildirimin türü. Değer aşağıdaki değerlere sahip olabilir:
|
purchaseToken | dize | Satın alma işlemi yapıldığında kullanıcının cihazına verilen jeton. |
SKU | dize | Tek seferlik satın alınan ürün kimliği (ör. "sword_001") |
Örnek
Tek seferlik yeni satın alma işlemi için 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"
}
}
Geçersiz Satın Alma Bildirimi
Bir VoidedPurchaseNotification
aşağıdaki alanları içerir:
Mülk Adı |
Değer |
Description |
|
|
İ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şkilendirilen benzersiz sipariş kimliği. Tek seferlik satın alımlarda bu, söz konusu 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 satın alma işlemi için
|
|
|
Geçersiz satın alma işlemi için
Çoklu miktar satın alma işleminin kalan toplam miktarı geri ödendiğinde |
Örnek
İptal edilen yeni satın alma işlemiyle ilgili bildirim örneğini aşağıda bulabilirsiniz:
{
"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
: Bu, geliştiriciyi durumda değişikliğin ne zaman gerçekleştiği konusunda bilgilendirir.purchaseToken
: Ürün satın alındığında kullanıcının cihazına sağlanan jeton.orderId
: Bu, geçersiz kılınan işlemle ilişkili sırayı tanımlar.productType
: Bu boyut, geçersiz satın alma işleminin uygulama içi satın alma işlemi mi yoksa abonelik mi olduğunu belirtir.refundType
: Satın alma işleminin iptal edilmesine neden olan geri ödeme türünü gösterir.
Yararlanma hakkı düzenlemeleri için tek yapmanız gereken doğru satın alma ve siparişi bulmaksa bu noktada ihtiyacınız olan tüm bilgilere sahipsiniz. Geçersiz satın alma işlemiyle ilgili nasıl ek bilgi alacağınızı öğrenmek için Google Play Voided Purchases API'sine göz atın. Bu API, belirli bir zaman damgası arasında geçersiz satın alma işlemleri için ek veriler sağlayan bir çekme modelidir.
Kısmen geçersiz olan çoklu miktar satın alma işlemleri için purchases.products
tarafından sağlanan refundableQuantity
alanı, iptal edilmemiş diğer satın alınmış ürün sayısını içerir.
Test Bildirimi
Bir TestNotification
aşağıdaki alanları içerir:
{
"version": string
}
Mülk adı | Değer | Description |
sürüm | dize | Bu bildirimin sürümü. Başlangıçta bu değer "1.0"dır. Bu sürüm, diğer sürüm alanlarından farklıdır. |
Örnek
Aşağıda bir test bildirimi örneği verilmiştir:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}