Bu konuda, Google Play'den alabileceğiniz gerçek zamanlı geliştirici bildirimlerinin türleri listelenip 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 olarak kodlanmış 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ü. Bu değer başlangıçta "1.0" olur. Bu sürüm, diğer sürüm alanlarından farklıdır. |
packageName | dize | Bu bildirimin ilişkili olduğu uygulamanın paket adı (örneğin, `com.bir.şey`). |
eventTimeMillis | uzun | Etkinliğin gerçekleştiği zaman damgası (sıfır zamandan itibaren milisaniye cinsinden). |
subscriptionNotification | SubscriptionNotification | Bu alan mevcutsa bildirim bir abonelikle ilgilidir ve bu alan, abonelikle ilgili ek bilgiler içerir. Bu alanın oneTimeProductNotification, voidedPurchaseNotification ve testNotification ile aynı anda kullanılamayacağını unutmayın. |
oneTimeProductNotification | OneTimeProductNotification | Bu alan varsa bu 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ılamayacağını unutmayın. |
voidedPurchaseNotification | VoidedPurchaseNotification | Bu alan mevcutsa bu bildirim, iptal edilmiş bir satın alma işlemiyle ilgilidir ve bu alan, iptal edilmiş satın alma işlemiyle ilgili ek bilgiler içerir. Bu alanın oneTimeProductNotification, subscriptionNotification ve testNotification ile aynı anda kullanılamayacağını unutmayın. |
testNotification | TestNotification | Bu alan mevcutsa bu bildirim, test yayınıyla ilgilidir. Bu bildirimler yalnızca Google Play Developer Console üzerinden gönderilir. Bu alanın oneTimeProductNotification, subscriptionNotification ve voidedPurchaseNotification ile aynı anda kullanılamayacağı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ü. Bu değer başlangıçta "1.0" olur. Bu sürüm, diğer sürüm alanlarından farklıdır. |
notificationType | int | Bir aboneliğin notificationType özelliği aşağıdaki değerlere sahip olabilir:
|
purchaseToken | dize | Abonelik satın alındığında kullanıcının cihazına sağlanan jeton. |
Örnek
Aşağıda, yeni abonelik satın alma bildirimi örneği verilmiştir:
{
"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" olur. Bu sürüm, diğer sürüm alanlarından farklıdır. |
notificationType | int | Bildirim 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 (ör. "sword_001") |
Örnek
Aşağıda, yeni bir tek seferlik satın alma işlemiyle ilgili bildirim örneği verilmiştir:
{
"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şlemleri için bu, satın alma işlemi için oluşturulan tek sipariş kimliğini temsil eder. Otomatik olarak yenilenen aboneliklerde her yenileme işlemi için yeni bir sipariş kimliği oluşturulur. |
|
|
İptal edilen bir satın alma işlemi için
|
|
|
İptal edilen bir satın alma işlemi için
Çok miktarlı bir satın alma işleminin kalan toplam miktarı geri ödendiğinde |
Örnek
Aşağıda, iptal edilen yeni bir satın alma işlemiyle ilgili bildirim örneği 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 VoidedPurchaseNotification
aldığında aşağıdaki bilgileri not edin:
packageName
: Uygulamayı tanımlar.eventTimeMillis
: Bu, geliştiriciyi durum değişikliğinin gerçekleştiği zaman hakkında bilgilendirir.purchaseToken
: Ürün satın alındığında kullanıcının cihazına sağlanan jeton.orderId
: İptal edilen işlemle ilişkili siparişi tanımlar.productType
: İptal edilen 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şlemini geçersiz kılan geri ödemenin türünü belirtir.
Uygunluk düzenlemeleri için tek yapmanız gereken doğru satın alma işlemini ve siparişi bulmaksa bu aşamada ihtiyacınız olan tüm bilgilere sahipsiniz demektir. İptal edilen satın alma işlemi hakkında nasıl ek bilgi edineceğinizi öğrenmek için Google Play İptal Edilen Satın Alma İşlemleri API'sine göz atın. Bu API, belirli bir zaman damgası arasındaki iptal edilen satın alma işlemleri için ek veriler sağlayan bir alma modelidir.
Kısmen iptal edilen çok miktarlı satın alma işlemleri için purchases.products
tarafından sağlanan refundableQuantity
alanı, iptal edilmemiş kalan satın alınan ürün sayısını içerir.
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ü. Bu değer başlangıçta "1.0" olur. Bu sürüm, diğer sürüm alanlarından farklıdır. |
Örnek
Aşağıda test bildirimine bir örnek verilmiştir:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}