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

Bu bölümde, proje yönetiminin Gerçek zamanlı geliştirici bildirimleri Google Play'den alabileceğiniz oyunları içerir.

Kodlama

Cloud Pub/Sub konusunda yapılan her yayın, base64 kodlu veri alanını kullanın.

{
  "message": {
    "attributes": {
      "key": "value"
    },
    "data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
    "messageId": "136969346945"
  },
  "subscription": "projects/myproject/subscriptions/mysubscription"
}

base64 kodlu veri alanının kodunu çözdükten sonra DeveloperNotification şu 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"dır. Bu diğer sürüm alanlarından farklıdır.
paketAdı dize Bu bildirimin ilgili olduğu uygulamanın paket adı (örneğin, `com.some.thing`).
eventTimeMillis uzun Etkinliğin gerçekleştiği zaman damgası (milisaniye cinsinden) Epoch'ta sona eriyor.
abonelik Bildirimi AbonelikBildirimi Bu alan mevcutsa bu bildirim bir abonelik (subscription) içerir (Bu alan, abonelikle ilgili ek bilgiler içerir) abonelik için ödeme yapar. Bu alanın karşılıklı olarak birbirini dışladığını unutmayın oneTimeProductBildirim, voidedPurchaseBildirim ve testBildirim'i tıklayın.
tekZamanÜrünBildirimi OneTimeÜrünBildirimi Bu alan mevcutsa bu bildirim bir tek seferlik satın alımdır ve bu alanda ek bilgiler yer alır. ilişkili olması gerekir. Bu alanın karşılıklı olarak birbirini dışladığını unutmayın ProperNoun lexicon_v=2454846758856515851111155075555 amacıyla, ve testBildirim'i ekleyin.
geçersizSatın Alma Bildirimi Geçersiz Satın Alma Bildirimi Bu alan mevcutsa bu bildirim bir Bu alan, geçersiz satın alma işlemiyle ilgili ek bilgiler içerir. iptal edilen satın alma işlemine. Bu alanın karşılıklı olarak birbirini dışladığını unutmayın with oneTimeProduct Notification, subscription Notification ve testBildirim'i tıklayın.
testBildirimi Test Bildirimi Bu alan mevcutsa bu bildirim bir test yayını. Bunlar yalnızca Google Play Geliştirici aracılığıyla gönderilir Konsol. Bu alanın karşılıklı olarak birbirini dışladığını unutmayın oneTimeProductBildirim, abonelik Bildirimi ve voidedSatın AlmaBildirimi.

AbonelikBildirimi

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

{
  "version": string,
  "notificationType": int,
  "purchaseToken": string,
  "subscriptionId": 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"dır. Bu diğer sürüm alanlarından farklıdır.
bildirim Türü int Bir abonelik için notificationType aşağıdaki değerlere sahip olabilir:
  • (1) SUBSCRIPTION_RECOVERED - şuradan bir abonelik kurtarılmıştır: askıya alabilirsiniz.
  • (2) SUBSCRIPTION_RENEWED - Etkin bir abonelik yenilenmiştir.
  • (3) SUBSCRIPTION_CANCELED - Bir abonelik gönüllü olarak yapılmıştır yanlışlıkla iptal edebilir. İsteğe bağlı iptal için, Kullanıcı iptal eder.
  • (4) SUBSCRIPTION_PURCHASED - Yeni bir abonelik satın alındı.
  • (5) SUBSCRIPTION_ON_HOLD - Bir abonelik hesaba girdi beklemeye al (etkinse).
  • (6) SUBSCRIPTION_IN_GRACE_PERIOD - Bir abonelik girdi ek süre (etkinse).
  • (7) SUBSCRIPTION_RESTARTED - Kullanıcı Play > Hesap > Abonelikler. İlgili içeriği oluşturmak için kullanılan Kullanıcı iptal edildiğinde veya kullanım süresi henüz dolmamışsa, geri yükler. Daha fazla bilgi için bkz. Geri yükleme işlemleri.
  • (8) SUBSCRIPTION_PRICE_CHANGE_CONFIRMED - Abonelik fiyatı değişiklik kullanıcı tarafından başarıyla onaylandı.
  • (9) SUBSCRIPTION_DEFERRED - Bir aboneliğin yineleme zamanı uzatıldı.
  • (10) SUBSCRIPTION_PAUSE - Bir abonelik duraklatıldı.
  • (11) SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED - Abonelik duraklatması programı değiştirildi.
  • (12) SUBSCRIPTION_REVOKED - Bir abonelik şuradan iptal edildi: son kullanıcı tarihine kadar güncelleyebilirsiniz.
  • (13) SUBSCRIPTION_EXPIRED - Bir aboneliğin süresi dolmuş.
  • (20) SUBSCRIPTION_PENDING_PURCHASE_CANCELED - Bekleyen işlem bir abonelik iptal edildi.
purchaseToken dize Abonelik gerçekleştirildiğinde kullanıcının cihazına sağlanan jeton değeri için teklif verirsiniz.
abonelik kimliği dize Satın alınan aboneliğin ürün kimliği (örneğin, "aylık001").

Örnek

Aşağıda, yeni bir abonelik satın alma işlemine ilişkin bir 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"
  }
}

OneTimeÜrünBildirimi

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 diğer sürüm alanlarından farklıdır.
bildirim Türü int Bildirimin türü. Aşağıdaki değerlere sahip olabilir:
  • (1) ONE_TIME_PRODUCT_PURCHASED - Tek seferlik ürün şuydu: başarılı bir şekilde satın alındı.
  • (2) ONE_TIME_PRODUCT_CANCELED - Bekleyen tek seferlik ürün satın alma işlemi kullanıcı tarafından iptal edildi.
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

Aşağıda, yeni bir tek seferlik satın alımla 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

Açıklama

purchaseToken

string

İptal edilen satın alma işlemiyle ilişkili jeton. Bu yeni bir satın alma işlemi olduğunda geliştiriciye bilgi sağlanır. gerçekleşir.

orderId

string

Şuna sahip işlemle ilişkilendirilen benzersiz sipariş kimliği: geçersiz kılınmıştır. Tek seferlik satın alımlarda tek sipariş kimliğini temsil eder. elde edilir. Otomatik yenilenen aboneliklerde yeni bir her yenileme işlemi için sipariş kimliği oluşturulur.

productType

int

Geçersiz satın alma işlemi için productType aşağıdaki değerlere sahip olabilir:

  • (1) PRODUCT_TYPE_SUBSCRIPTION - Abonelik satın alma işlemi geçersiz kılındı.
  • (2) PRODUCT_TYPE_ONE_TIME - Tek seferlik satın alım geçersiz kılındı.

refundType

int

Geçersiz satın alma işlemi için refundType aşağıdaki değerlere sahip olabilir:

  • (1) REFUND_TYPE_FULL_REFUND - Satın alma işlemi tamamen geçersiz kılınmıştır.
  • (2) REFUND_TYPE_QUANTITY_BASED_PARTIAL_REFUND - miktara dayalı kısmi geri ödeme nedeniyle satın alma işlemi kısmen geçersiz kılındı. Yalnızca çoklu miktar satın alma işlemleri için geçerlidir. Satın alma işlemi, birçok kez kısmen geçersiz kılındı.

Çoklu miktar satın almada kalan toplam miktar şu olduğunda unutmayın: geri ödendi, refundType tutarında ödeme yapılacak REFUND_TYPE_FULL_REFUND.

Örnek

Aşağıda, yeni bir geçersiz satın alma işlemi için 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
  }
}

VoidedPurchaseBildirim'i Kullanma

RTDN istemciniz bir VoidedPurchaseNotification aldığında şu bilgileri bulabilirsiniz:

  • packageName: Uygulamayı tanımlar.
  • eventTimeMillis: Bu, geliştiriciyi durumu:
  • purchaseToken: Ürün imzalandığında kullanıcının cihazına sağlanan jeton satın alındı.
  • orderId: Bu, geçersiz kılınan kişiyle ilişkili kararı tanımlar. belirtir.
  • productType: Geçersiz satın alma işleminin uygulama içi bir işlem olup olmadığını gösterir abonelik satın alabilir.
  • refundType: Satın alma işlemini geçersiz kılan geri ödeme türünü belirtir.

Yararlanma hakkı düzenlemeleri için tek yapmanız gereken doğru satın alma işlemini bulmaksa bu aşamada ihtiyacınız olan tüm bilgilere sahip olursunuz. Öğrenmek için İptal edilen satın alma işlemiyle ilgili ek bilgi almak için Google Play Voided Purchases API'si Bu model, geçersiz satın alma işlemleri için ek veri sağlayan bir pull modelidir. .

Kısmen geçersiz olan çoklu miktar satın alma işlemleri için refundableQuantity alanı purchases.products tarafından sağlanan, iptal edilmemiş satın alınan ürünlerin sayısı

Test Bildirimi

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"dır. Bu 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"
  }
}