Gerçek zamanlı geliştirici bildirimleri referans kılavuzu

Bu konuda, Google Play'den alabileceğiniz gerçek zamanlı geliştirici bildirimi türleri listelenmekte ve açıklanmaktadır.

Kodlama

Bir Cloud Pub/Sub konusuna yapılan her yayınlama, base64 kodlu tek bir 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 "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.bir.nesli").
etkinlikSaat Milis uzun Dönemden beri etkinliğin gerçekleştiği zaman damgası (milisaniye cinsinden).
abonelik Bildirimi Abonelik Bildirimi Bu alan mevcutsa bu bildirim bir abonelikle ilgilidir. Bu alan, abonelikle ilgili ek bilgiler içerir. Bu alanın, oneTimeProductBildirim, voidedPurchaseBildirimi ve testBildirimi ile birlikte kullanılamayacağını unutmayın.
oneTimeProductBildirim OneTimeProductBildirim Bu alan mevcutsa bu bildirim tek seferlik bir satın alma işlemiyle ilgilidir. Bu alan, satın almayla ilgili ek bilgiler içerir. Bu alanın subscriptionBildirim, voidedPurchasenotification ve test Notification ile birlikte kullanılamayacağını unutmayın.
geçersizSatın Alma Bildirimi Geçersiz Satın Alma Bildirimi Bu alan mevcutsa bu bildirim, geçersiz olan satın alma işlemiyle ilgilidir. Bu alan, geçersiz olan satın alma işlemiyle ilgili ek bilgiler içerir. Bu alanın, oneTimeProduct Notification, subscription Notification ve testnotification ile birlikte kullanılamayacağını unutmayın.
testBildirimi Test Bildirimi Bu alan mevcutsa bu bildirim bir test yayınıyla ilgilidir. Bunlar yalnızca Google Play Console üzerinden gönderilir. Bu alanın, oneTimeProduct Notification, subscriptionBildirim, ve voidedPurchase Notification ile birlikte kullanılamayacağını unutmayın.

Abonelik Bildirimi

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 "1, 0"dır. Bu sürüm, diğer sürüm alanlarından farklıdır.
bildirimTürü int Bir aboneliğin notificationType değeri aşağıdaki değerlere sahip olabilir:
  • (1) SUBSCRIPTION_RECOVERED - Askıya alınmış hesap durumundan bir abonelik kurtarıldı.
  • (2) SUBSCRIPTION_RENEWED - Etkin bir abonelik yenilendi.
  • (3) SUBSCRIPTION_CANCELED - Bir abonelik gönüllü olarak veya istemsiz olarak iptal edilmiştir. İsteğe bağlı iptal için, kullanıcı iptal ettiğinde gönderilir.
  • (4) SUBSCRIPTION_PURCHASED - Yeni bir abonelik satın alınmıştır.
  • (5) SUBSCRIPTION_ON_HOLD - Bir abonelik askıya alınmış hesap durumuna başladı (etkinleştirildiyse).
  • (6) SUBSCRIPTION_IN_GRACE_PERIOD - Bir abonelik için ek süre verildi (etkinse).
  • (7) SUBSCRIPTION_RESTARTED - Kullanıcı, aboneliğini Play > Hesap > Abonelikler'den geri yükledi. Abonelik iptal edilmiş ancak kullanıcı geri yüklediğinde henüz süresi sona ermemiş. Daha fazla bilgi için Restorasyonlar bölümünü inceleyin.
  • (8) SUBSCRIPTION_PRICE_CHANGE_COMPLETEED - Abonelik fiyatı değişikliği kullanıcı tarafından başarıyla onaylandı.
  • (9) SUBSCRIPTION_DEFERRED - Bir aboneliğin yineleme süresi uzatıldı.
  • (10) SUBSCRIPTION_PAPRODUCT - Bir abonelik duraklatıldı.
  • (11) SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED - Abonelik duraklatma programı değiştirildi.
  • (12) SUBSCRIPTION_REVOKED - Geçerlilik süresi sona ermeden önce kullanıcının bir aboneliği iptal edilmiştir.
  • (13) SUBSCRIPTION_EXPIRED - Bir aboneliğin süresi doldu.
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. "month001").

Ö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

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"dı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:
  • (1) ONE_TIME_PRODUCT_PURCHASED - Bir kullanıcı tarafından başarıyla satın alınan tek seferlik bir ürün.
  • (2) ONE_TIME_PRODUCT_CANCELED - Kullanıcı, beklemede olan tek seferlik bir ürün satın alma işlemini iptal etti.
purchaseToken dize Satın alma işlemi yapıldığında kullanıcının cihazına sağlanan jeton.
SKU dize Bir kerelik satın alınan ürün kimliği (ör. "sword_001")

Örnek

Aşağıda, tek seferlik yeni bir 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"
  }
}

Geçersiz Satın Alma Bildirimi

VoidedPurchaseNotification aşağıdaki alanları içerir:

Mülk Adı

Değer

Description

purchaseToken

string

İ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.

orderId

string

İptal edilen işlemle ilişkilendirilen benzersiz sipariş kimliği. Tek seferlik satın alımlarda, 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.

productType

int

İptal edilen satın alma işlemleri için productType şu değerlere sahip olabilir:

  • (1) PRODUCT_TYPE_SUBSCRIPTION - Bir abonelik satın alma işlemi iptal edildi.
  • (2) PRODUCT_TYPE_ONE_TIME - Bir kerelik satın alma işlemi geçersiz kılınmıştır.

Örnek

İptal edilen yeni bir satın alma işlemiyle ilgili bildirim örneğini burada bulabilirsiniz:

{
  "version":"1.0",
  "packageName":"com.some.app",
  "eventTimeMillis":"1503349566168",
  "voidedPurchaseNotification":
  {
    "purchaseToken":"PURCHASE_TOKEN",
    "orderId":"GS.0000-0000-0000",
    "productType":1
  }
}

VoidedSatın Alma Bildirimi Kullanma

RTDN istemciniz bir VoidedPurchaseNotification aldığında aşağıdaki bilgilere dikkat edin:

  • packageName: Uygulamayı tanımlar.
  • eventTimeMillis: Bu, geliştiriciyi durumdaki 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 alan, iptal edilen işlemle ilişkilendirilen siparişi tanımlar.
  • productType: Bu alan, iptal edilen satın alma işleminin uygulama içi satın alma işlemi mi yoksa abonelik mi olduğunu belirtir.

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 sahip olursunuz. İptal edilen satın alma işlemiyle ilgili ek bilgileri nasıl edineceğinizi öğrenmek için Google Play Voided Purchases 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 çekme modelidir.

Test Bildirimi

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 "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"
  }
}