Google Play Faturalandırma Kitaplığı sürüm notları

Bu konu, Google Play Faturalandırma Kitaplığı ile ilgili sürüm notlarını içerir.

Google Play Faturalandırma Kitaplığı 7.0.0 Sürümü (14.05.2024)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 7.0.0 sürümü kullanılabilir.

Değişiklik özeti

Google Play Faturalandırma Kitaplığı 6.2.1 Sürümü (16.04.2024)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 6.2.1 sürümü kullanılabilir.

Değişiklik özeti

Google Play Faturalandırma Kitaplığı 6.2.0 Sürümü (06.03.2024)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 6.2.0 sürümü kullanılabilir.

Değişiklik özeti

Google Play Faturalandırma Kitaplığı 6.1.0 Sürümü (14.11.2023)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 6.1.0 sürümü kullanılabilir.

Değişiklik özeti

Google Play Faturalandırma Kitaplığı 6.0.1 Sürümü (22.06.2023)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 6.0.1 sürümü kullanılabilir.

Değişiklik özeti

Play Faturalandırma Kitaplığı'nı Android 14 ile uyumlu olacak şekilde güncelleyin.

Google Play Faturalandırma Kitaplığı 6.0 Sürümü (10.05.2023)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 6.0.0 sürümü kullanılabilir.

Değişiklik özeti

  • Yeni eklendi ReplacementMode değiştirmek için enum ProrationMode.

    ProrationMode sürümünün geriye dönük uyumluluk için hâlâ kullanılabilir olduğunu lütfen unutmayın neden.

  • Şu öğenin sipariş kimliği kaldırıldı: PENDING değeri için teklif verirsiniz.

    Önceden, satın alma işleminin gerçekleştirildiği durumlarda bile her zaman sipariş kimliği oluşturuluyordu. beklemede. 6.0.0 sürümünden itibaren, (beklemede olan satın alma işlemleri) ve bu satın alma işlemleri için sipariş kimliği taşındıktan sonra da PURCHASED durumu.

  • queryPurchases ve launchPriceConfirmationFlow yöntemleri kaldırıldı.

    Aşağıdakileri içeren queryPurchases ve launchPriceConfirmationFlow yöntemleri: Önceden desteği sonlandırıldı olarak işaretlenen artık Play Faturalandırma'dan kaldırıldı Kitaplık 6.0.0. Geliştiriciler queryPurchasesAsync (queryPurchases yerine) launchPriceConfirmationFlow alternatif için, Fiyat değişiklikleri adlı makaleyi inceleyin.

  • Yeni ağ hatası yanıt kodu eklendi.

    Yeni bir ağ hatası yanıt kodu, NETWORK_ERROR PBL sürüm 6.0.0 ile başlayarak eklenmiştir. Bu kod, hatası, ağ bağlantısı sorunu nedeniyle oluşur. Bu ağ bağlantıları hata daha önce SERVICE_UNAVAILABLE olarak bildirilmişti.

  • Güncellendi SERVICE_UNAVAILABLE ve SERVICE_TIMEOUT.

    PBL 6.0.0 sürümünden itibaren, işlemede zaman aşımından kaynaklanan hatalar mevcut SERVICE_TIMEOUT yerine SERVICE_UNAVAILABLE olarak döndürüldü.

    Bu davranış, PBL'nin önceki sürümlerinde değişmez.

  • Kaldırıldı SERVICE_TIMEOUT.

    PBL 6.0.0 sürümünden itibaren SERVICE_TIMEOUT artık döndürülmeyecektir. PBL'nin önceki sürümlerinde bu kod döndürülmeye devam edecektir.

  • Ek günlük kaydı eklendi.

    Play Faturalandırma Kitaplığı 6 sürümü, aşağıdakileri sağlayan ek günlük kaydı içerir: API kullanımı (başarı ve hata gibi) ve hizmet bağlantısı hakkında bilgiler sorunları. Bu bilgiler Play'in performansını iyileştirmek için kullanılacaktır Faturalandırma Kitaplığı ve hatalar için daha iyi destek sağlayın.

Google Play Faturalandırma Kitaplığı 5.2.1 Sürümü (22.06.2023)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 5.2.1 sürümü kullanılabilir.

Değişiklik özeti

Play Faturalandırma Kitaplığı'nı Android 14 ile uyumlu olacak şekilde güncelleyin.

Google Play Faturalandırma Kitaplığı 5.2 Sürümü (06.04.2023)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 5.2.0 sürümü kullanılabilir.

Değişiklik özeti

Google Play Faturalandırma Kitaplığı 5.1 Sürümü (31.10.2022)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 5.1.0 sürümü kullanılabilir.

Bu sürüm aşağıdaki değişiklikleri içerir.

Değişiklik özeti

Google Play Faturalandırma Kitaplığı 5.0 Sürümü (11.05.2022)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 5.0.0 sürümü kullanılabilir.

Bu sürüm aşağıdaki değişiklikleri içerir.

Değişiklik özeti

  • Abonelikler için yeni varlıklar dahil olmak üzere yeni bir model kullanıma sunuldu: tek bir teklif için birden fazla fırsat oluşturmanızı sağlar. abonelik ürünü gibi. Daha fazla bilgi için taşıma rehberini inceleyin.
  • Eklenme zamanı BillingClient.queryProductDetailsAsync() (BillingClient.querySkuDetailsAsync()) değerini değiştirin.
  • AB kişiselleştirilmiş fiyatlandırma için setIsOfferPersonalized() yöntemi eklendi ifşa etme zorunluluğu vardır. Bu yöntemi nasıl kullanacağınızla ilgili daha fazla bilgi edinmek için Kişiselleştirilmiş bir fiyat belirtin.
  • Daha önce desteği sonlandırılan queryPurchases() kaldırıldı ve yerine queryPurchasesAsync, Google Play Faturalandırma Kitaplığı 4.0.0'da kullanıma sunuldu.
  • launchPriceChangeFlow desteği sonlandırıldı ve gelecekte silinecek kullanabilirsiniz. Alternatifler hakkında daha fazla bilgi edinmek için şuraya bakın: Fiyat değişikliği onay akışı başlatın.
  • Kaldırıldı setVrPurchaseFlow() Bu, daha önce satın alma akışını örneklendirmek için kullanılıyordu. Önceki sürümlerde, bu yöntem kullanıcıyı Android cihazında tamamlaması gerekir. Kaldırdıktan sonra bu yöntemle kullanıcılar satın alma işlemini adımları uygulayın.

Google Play Faturalandırma Kitaplığı 4.1 sürümü (23.02.2022)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 4.1.0 sürümü kullanılabilir.

Bu sürüm aşağıdaki değişiklikleri içerir.

Değişiklik özeti

Google Play Faturalandırma Kitaplığı 4.0 Sürümü (18.05.2021)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantılarının 4.0.0 sürümü kullanılabilir.

Değişiklik özeti

Google Play Faturalandırma Kitaplığı 3.0.3 Sürümü (12.03.2021)

Google Play Faturalandırma Kitaplığı 3.0.3 sürümü, Kotlin uzantısı ve Unity eklentisi kullanılabilir.

Java ve Kotlin ile ilgili hata düzeltmeleri

  • Şu durumlarda bellek sızıntısını düzelt: endConnection() çağrılır.
  • Google Play Faturalandırma Kitaplığı, tek görev başlatma modudur. CEVAP onPurchasesUpdated() Android başlatıcıdan bir uygulama devam ettirildiğinde geri çağırma tetiklenir Ayrıca, faturalandırma iletişim kutusu askıya alınmadan önce görünürdü.

Unity hata düzeltmeleri

  • Bellek sızıntısını düzeltmek ve önleyen sorunu gidermek için Java sürüm 3.0.3'e güncelleme yapın Bir uygulama Android başlatıcıdan ve faturalandırma bölümünden devam ettirildiğinde satın alma işlemleri iletişim kutusu askıya alınmadan önce görünürdü.

Google Play Faturalandırma Kitaplığı 3.0.2 Sürümü (24.11.2020)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantısının 3.0.2 sürümü kullanıma sunuldu.

Hata düzeltmeleri

  • Kotlin uzantısında bulunan, eş yordamın "Zaten devam ettirildi" hatasıyla başarısız olmasına neden olan hata düzeltildi.
  • Kotlinx.coroutines kitaplığının 1.4 ve sonraki sürümleriyle birlikte kullanıldığında Kotlin uzantısı kullanıldığında ortaya çıkan çözülmemiş referanslar düzeltildi.

Google Play Faturalandırma Kitaplığı 3.0.1 Sürümü (30.09.2020)

Google Play Faturalandırma Kitaplığı ve Kotlin uzantısının 3.0.1 sürümü artık kullanılabilir.

Hata düzeltmeleri

  • Faturalandırma akışı sırasında uygulamanın sonlandırılıp geri yüklenmesiyle ilgili hata düzeltildi. PurchasesUpdatedListener, satın alma sonucuyla birlikte çağrılamayabilir.

Google Play Faturalandırma Kitaplığı 3.0 Sürümü (08.06.2020)

Google Play Faturalandırma Kitaplığı'nın 3.0.0 sürümü, Kotlin uzantısı, ve Unity eklentisi kullanıma sunuldu.

Değişiklik özeti

  • Ödüllü SKU desteği kaldırıldı.
  • ChildDirected ve UnderAgeOfConsent parametreleri kaldırıldı.
  • Desteği sonlandırılan geliştirici yük yöntemleri kaldırıldı.
  • Desteği sonlandırılan BillingFlowParams.setAccountId() yöntemleri kaldırıldı ve BillingFlowParams.setDeveloperId().
  • Desteği sonlandırılan BillingFlowParams.setOldSkus(String oldSku) yöntemleri kaldırıldı ve BillingFlowParams.addOldSku(String oldSku).
  • Boş değer atanabilirlik ek açıklamaları eklendi.

Hata düzeltmeleri

  • SkuDetails.getIntroductoryPriceCycles() artık String yerine int değerini döndürüyor.
  • Faturalandırma akışının ek parametreler içermesine neden olan hata düzeltildi ek parametre ayarlanmamış olsa bile

Google Play Faturalandırma Kitaplığı 2.2.1 Sürümü (20.05.2020)

Google Play Faturalandırma kitaplığının 2.2.1 sürümü kullanıma sunuldu.

Hata düzeltmeleri

  • Java Play Faturalandırma kitaplığının varsayılan sürümünü güncelleyerek Kotlin uzantısı bağlıdır.

Google Play Faturalandırma Kitaplığı 2.2.0 sürümü ve Unity desteği (23.03.2020)

Google Play Faturalandırma Sürüm 2.2.0, geliştiriciler satın alma işlemlerinin doğru kullanıcıyla ilişkilendirildiğinden emin olur. Bu değişiklikler geliştiricilerin yüküne dayalı özel çözümler oluşturma ihtiyacını ortadan kaldırabilir. Farklı Bu güncellemenin bir parçası olarak, geliştirici yük işlevi kullanımdan kaldırılmıştır. ve daha sonraki bir sürümde kaldırılacaktır. Daha fazla bilgi için önerilen alternatifler için Geliştirici yükü.

Unity için Google Play Faturalandırma Faturalandırma Kitaplığı 2

Google Play Faturalandırma'nın mevcut Java ve Kotlin sürümlerine ek olarak 2. kitaplık sürümünü yayınladık. Unity ile kullanılmak üzere kitaplığın bir sürümünü yayınladık. Oyun kullanan geliştiriciler, Unity in-app purchase API'sini kullanan özelliklerinden yararlanmasını sağlamak ve Google Play Faturalandırma Kitaplığı'nın gelecekteki sürümlerine yapılan sonraki yükseltmeler daha kolay olur.

Daha fazla bilgi edinmek için bkz. Google Play Faturalandırma'yı Unity ile kullanma

Değişiklik özeti

Google Play Faturalandırma Kitaplığı 2.1.0 Sürümü ve Kotlin Uzantısı 2.1.0 Sürümü (10.12.2019)

Google Play Faturalandırma kitaplığının 2.1.0 sürümü ve yeni Kotlin uzantısı hazır. Play Faturalandırma Kitaplığı Kotlin uzantısı, Kotlin kullanımı için daha iyi geçersiz güvenlik ve eş yordamlar. Kod örnekleri için bkz. Google Play Faturalandırma Kitaplığı'nı kullanın.

Bu sürüm aşağıdaki değişiklikleri içerir.

Değişiklik özeti

  • BillingFlowParams bölgesinde, setOldSku(String oldSku) desteği sonlandırıldı ve şununla değiştirildi: setOldSku(String oldSku, String purchaseToken), ne zaman Cihazdaki birden fazla hesap aynı SKU'ya sahip olabilir.

Google Play Faturalandırma Kitaplığı 2.0.3 Sürümü (05.08.2019)

Google Play Faturalandırma kitaplığının 2.0.3 sürümü artık kullanımda.

Hata düzeltmeleri

  • querySkuDetailsAsync() işlevinin kod kullanıldığında bazen başarısız olmasına yol açan hata düzeltildi DEVELOPER_ERROR hatası verir.

Google Play Faturalandırma Kitaplığı 2.0.2 Sürümü (08.07.2019)

Google Play Faturalandırma kitaplığının 2.0.2 sürümü kullanıma sunuldu. Bu sürüm Referans belgelerde yapılan güncellemeleri içerir ve kitaplığı değiştirmez işlevi görür.

Google Play Faturalandırma Kitaplığı 2.0.1 Sürümü (06.06.2019)

Google Play Faturalandırma kitaplığının 2.0.1 sürümü artık kullanımda. Bu sürüm aşağıdaki değişiklikleri içerir.

Hata düzeltmeleri

  • Hata ayıklama mesajlarının bazı durumlarda null olarak döndürülmesine neden olan hata düzeltildi.
  • Olası bellek sızıntısı sorunu düzeltildi.

Google Play Faturalandırma Kitaplığı 2.0 Sürümü (07.05.2019)

Google Play Faturalandırma kitaplığının 2.0 sürümü artık kullanımda. Bu sürüm aşağıdaki değişiklikleri içerir.

Satın alma işlemleri üç gün içinde onaylanmalıdır

Google Play, uygulamanızın içinden (uygulama içi) ürün satın almayı destekler veya uygulamanızın dışında (uygulama dışı). Google Play'in kullanıcının ürününüzü nereden satın aldığına bakılmaksızın tutarlı bir satın alma deneyimi Google Play üzerinden yapılan tüm satın alma işlemlerini kabul etmeniz gerekir. Faturalandırma Kitaplığı'nı yüklemeniz gerekir. Eğer üç gün içinde bir satın alma işlemini onaylamazsanız kullanıcı otomatik olarak Geri ödeme alır ve Google Play satın alma işlemini iptal eder. Örneğin, bekleyen işlemler (2.0 sürümünde yeni olan), üç günlük zaman aralığı Satın alma işlemi PURCHASED durumuna geçtiğinde başlar ve geçerli değildir satın alma işlemi PENDING durumundayken.

Aboneliklerde, yeni bir satın alma işlemi olan tüm satın alma işlemlerini onaylamanız gerekir. jeton. Bu, tüm ilk satın alma işlemleri, plan değişiklikleri ve yeniden kayıtlar için onaylanacaktır, ancak sonraki yenilemeleri onaylamanız gerekmez. Alıcı: onaya ihtiyaç olup olmadığını belirlemek için onayı kontrol edebilirsiniz. alanına girmelisiniz.

Purchase nesnesi artık bir isAcknowledged() onaylanıp onaylanmadığını gösteren bir kontrol yöntemidir. Ayrıca, Google Play Developer API, her ikisi için de onay boole değerlerini içerir Purchases.products ve Purchases.subscriptions. Bir satın alma işlemini onaylamadan önce, satın alma işlemi zaten onaylandı.

Aşağıdaki yöntemlerden birini kullanarak bir satın alma işlemini onaylayabilirsiniz:

  • Tüketim ürünleri için istemci API'sinde bulunan consumeAsync() değerini kullanın.
  • Tüketilmeyen ürünler için şurada bulunan acknowledgePurchase() kullanın: istemci API'sidir.
  • Server API'de yeni bir acknowledge() yöntemi de mevcuttur.

BillingFlowParams.setSku() kaldırıldı

Daha önce kullanımdan kaldırılan BillingFlowParams#setSku() yöntemi kaldırıldı kullanıma sunuyoruz. Ürünleri satın alma akışında oluşturmadan önce şimdi şu işlemi yapmanız gerekir: BillingClient.querySkuDetailsAsync() sonuç olarak SkuDetails nesne BillingFlowParams.Builder.setSkuDetails().

Kod örnekleri için bkz. Google Play Faturalandırma Kitaplığı'nı kullanın.

Geliştirici yükü destekleniyor

Google Play Faturalandırma kitaplığının 2.0 sürümünde geliştiriciler payload: Satın alma işlemlerine eklenebilecek rastgele dizeler. Şunları yapabilirsiniz: bir geliştirici yük parametresi ekler. Ancak bu, yalnızca satın alma onaylandığı veya tüketildiği içeriklerdir. Bu, AIDL'deki geliştirici yükünden farklıdır. satın alma akışı başlatılırken yük belirtilebilir. Çünkü satın alma işlemleri Artık uygulamanızın dışından başlatılabilir. Bu değişiklik her zaman satın alma işlemlerine yük ekleme fırsatınızın olmasını sağlar.

Yeni kitaplıktaki yüke erişmek için Purchase nesneleri artık bir getDeveloperPayload() yöntemidir.

Tutarlı teklifler

İndirimli bir SKU sunduğunuzda Google Play artık şu ürünün orijinal fiyatını iade ediyor: SKU'yu kullanabilirsiniz.

SkuDetails iki içeriyor orijinal SKU fiyatını almanın yeni yöntemleri:

Beklemede olan işlemler

Google Play Faturalandırma kitaplığının 2.0 sürümüyle birlikte aşağıdakileri desteklemeniz gerekir: yararlanma hakkı verilmeden önce ek işlemin gerekli olduğu satın alma işlemleri. Örneğin, Örneğin, bir kullanıcı uygulama içi ürününüzü fiziksel bir mağazadan satın almayı tercih edebilir yardımcı olur. Bu, işlemin uygulamanızın dışında tamamlandığı anlamına gelir. İçinde Bu senaryoya göre, yalnızca kullanıcı işlemi tamamladıktan sonra takip eder.

Bekleyen satın alma işlemlerini etkinleştirmek için şunu arayın: enablePendingPurchases() şu adımları izleyin:

Purchase.getPurchaseState() kullanın kullanarak, satın alma durumunun PURCHASED mu yoksa PENDING mü olduğunu belirleyin. Lütfen yalnızca eyalet PURCHASED olduğunda yararlanma hakkı vermelisiniz. Şunları yapmalısınız: Aşağıdakileri yaparak Purchase durum güncellemelerini kontrol edin:

  1. Uygulamanızı başlatırken BillingClient.queryPurchases() tüketiciyle ilişkili tüketilmemiş ürünlerin listesini almak için kullanılır.
  2. Döndürülen her Purchase nesne için Purchase.getPurchaseState() çağrısı yapın.
  3. onPurchasesUpdated()'nu uygulama yöntemini kullanın.Purchase

Ayrıca Google Play Developer API, bir PENDING durumu da içerir. Purchases.products için. Beklemedeki işlemler aşağıdakiler için desteklenmez aboneliklerdir.

Bu sürümde ayrıca, yeni bir gerçek zamanlı geliştirici bildirim türü olan OneTimeProductNotification Bu bildirim türü tek bir mesaj içeriyor değeri ONE_TIME_PRODUCT_PURCHASED veya ONE_TIME_PRODUCT_CANCELED. Bu bildirim türü yalnızca satın alma işlemleri için gönderilir ve gecikmiş ödeme şekilleriyle (nakit gibi) ilişkili olanları içermez.

Bekleyen satın alma işlemlerini onaylarken, yalnızca satın alma durumu PENDING değil PURCHASED.

API değişiklikleri

Google Play Faturalandırma Kitaplığı'nın 2.0 sürümü, yeni özellikleri desteklemesi ve mevcut işlevleri netleştirmesi gerekir.

coneAsync'de

consumeAsync() şimdi ConsumeParams nesne yerine purchaseToken yerine kullanabilirsiniz. ConsumeParams, purchaseToken öğesini şu şekilde içeriyor: isteğe bağlı geliştirici yükünü de kullanabilirsiniz.

consumeAsync() uygulamasının önceki sürümü bu sürümde kaldırıldı.

queryPurchaseHistoryAsync'

Kafa karışıklığını en aza indirmek için queryPurchaseHistoryAsync() şimdi de PurchaseHistoryRecord nesnesini ifade eder.Purchase PurchaseHistoryRecord nesnesi Purchase nesnesiyle aynıdır, ancak yalnızca queryPurchaseHistoryAsync() ve autoRenewing öğesini içermiyor orderId ve packageName alanları. döndürülen veriler: queryPurchaseHistoryAsync(), kontrol edin.

BillingResult dönüş değerleri

Önceden BillingResponse tam sayı değeri döndüren API'ler artık BillingResult nesnesini tanımlayın. BillingResult, BillingResponse tam sayısının yanı sıra bir teşhis etmek için kullanabileceğiniz hata ayıklama dizesi Hata ayıklama dizesi, tr-TR yerel ayardır ve son kullanıcılara gösterilmesi amaçlanmamıştır.

Hata düzeltmeleri

Google Play Faturalandırma Kitaplığı 1.2.2 Sürümü (07.03.2019)

Google Play Faturalandırma kitaplığının 1.2.2 sürümü kullanıma sunuldu. Bu sürüm aşağıdaki değişiklikleri içerir.

Hata düzeltmeleri

  • 1.2.1 sürümünde kullanıma sunulan ileti dizisi oluşturma sorunu düzeltildi. Arka plan aramaları artık engellenmiyor takip edebilirsiniz.

Diğer değişiklikler

  • Ana ileti dizisinin kullanılması hâlâ önerilse de artık örneklendirme yapabilirsiniz Google Play Faturalandırma Kitaplığı'nı kullanıyor.
  • Örneklendirme, neden olma ihtimalini konuşacağız.

Play Faturalandırma Kitaplığı 1.2.1 Sürümü (04.03.2019)

Google Play Faturalandırma kitaplığının 1.2.1 sürümü kullanıma sunuldu. Bu sürüm aşağıdaki değişiklikleri içerir.

Önemli değişiklikler

Diğer değişiklikler

  • PurchasesResult ve SkuDetailsResult için inşaatçılar eklendi kolaylaştırır.
  • SkuDetails nesne, getOriginalJson() adlı yeni yöntemi kullanabilir.
  • Tüm AIDL hizmet çağrıları artık arka plandaki ileti dizileri tarafından işlenmektedir.

Hata düzeltmeleri

  • Boş geri çağırma işleyicileri artık herkese açık API'lere iletilmez.

Google Play Faturalandırma Kitaplığı 1.2 Sürümü (18.10.2018)

Google Play Faturalandırma kitaplığının 1.2 sürümü kullanıma sunuldu. Bu sürüm aşağıdaki değişiklikleri içerir.

Değişiklik özeti

  • Google Play Faturalandırma Kitaplığı artık şu lisans kapsamındadır: Android Yazılım Geliştirme Kiti Lisans Sözleşmesi.
  • Kullanıcıların şunları yapmasını isteyen launchPriceChangeConfirmationFlow API eklendi: abonelik fiyatında bekleyen bir değişikliği inceleme.
  • Yeni sürüme geçerken veya kullanımınız sırasında DEFERRED için yeni bir kullanım süresi modu desteği eklendi. Kullanıcının aboneliğinin düzeyini düşürmek
  • BillingFlowParams sınıfında setSku(), setSkuDetails() ile değiştirildi.
  • Küçük hata düzeltmeleri ve kod optimizasyonları.

Fiyat değişikliği onayı

Artık Google Play Console'da abonelik fiyatını değiştirebilir ve uygulamanıza girdiklerinde yeni fiyatı inceleyip kabul etmelerini sağlar.

Bu API'yi kullanmak içinPriceChangeFlowParams Abonelik ürününün skuDetails kadarı ve ardından ara launchPriceChangeConfirmationFlow(). Şunu uygulayın: Fiyat değiştiğinde sonucu işlemek için PriceChangeConfirmationListener aşağıdaki kod snippet'inde gösterildiği gibi onay akışı sona erer:

Kotlin

val priceChangeFlowParams = PriceChangeFlowParams.newBuilder()
    .setSkuDetails(skuDetailsOfThePriceChangedSubscription)
    .build()

billingClient.launchPriceChangeConfirmationFlow(activity,
        priceChangeFlowParams,
        object : PriceChangeConfirmationListener() {
            override fun onPriceChangeConfirmationResult(responseCode: Int) {
                // Handle the result.
            }
        })

Java

PriceChangeFlowParams priceChangeFlowParams =
        PriceChangeFlowParams.newBuilder()
    .setSkuDetails(skuDetailsOfThePriceChangedSubscription)
    .build();

billingClient.launchPriceChangeConfirmationFlow(activity,
        priceChangeFlowParams,
        new PriceChangeConfirmationListener() {
            @Override
            public void onPriceChangeConfirmationResult(int responseCode) {
                // Handle the result.
            }
        });

Fiyat değişikliği onay akışında yeni fiyatlandırmayı içeren bir iletişim kutusu gösterilir kullanıcılardan yeni fiyatı kabul etmelerini isteyebilir. Bu akış, bir yanıt kodu türü BillingClient.BillingResponse.

Yeni kullanıma oranlı ödeme modu

Bir kullanıcının aboneliğini yükseltirken veya düşürürken yeni bir kullanım payı kullanabilirsiniz. mod, DEFERRED. Bu mod, bir sonraki sefer kullanıcının aboneliğini günceller yenilenir. Bu bölüştürme modunun nasıl ayarlanacağıyla ilgili daha fazla bilgi edinmek için Kullanılan kullanım oranını ayarlama mod'u seçin.

SKU ayrıntılarını ayarlamak için yeni yöntem

BillingFlowParams sınıfında setSku() yöntemi kullanımdan kaldırıldı. Bu değişiklik, Google Play Faturalandırma akışını optimize etmek amacıyla kullanılır.

Uygulama içi faturalandırmanızda yeni bir BillingFlowParams örneği oluştururken yerine doğrudan JSON nesnesiyle çalışmanızı öneririz. setSkuDetails(), aşağıdaki kod snippet'inde gösterildiği gibi:

BillingFlowParams Builder sınıfında setSku() yöntemi desteği sonlandırıldı. Bunun yerine, aşağıda gösterildiği gibi setSkuDetails() yöntemini kullanın kod snippet'ini eklemeniz gerekir. setSkuDetails() nesnesine iletilen nesne, querySkuDetailsAsync() yöntemidir.

Kotlin

private lateinit var mBillingClient: BillingClient
private val mSkuDetailsMap = HashMap<String, SkuDetails>()

private fun querySkuDetails() {
    val skuDetailsParamsBuilder = SkuDetailsParams.newBuilder()
    mBillingClient.querySkuDetailsAsync(skuDetailsParamsBuilder.build()
    ) { responseCode, skuDetailsList ->
        if (responseCode == 0) {
            for (skuDetails in skuDetailsList) {
                mSkuDetailsMap[skuDetails.sku] = skuDetails
            }
        }
    }
}

private fun startPurchase(skuId: String) {
    val billingFlowParams = BillingFlowParams.newBuilder()
    .setSkuDetails(mSkuDetailsMap[skuId])
    .build()
}

Java

private BillingClient mBillingClient;
private Map<String, SkuDetails> mSkuDetailsMap = new HashMap<>();

private void querySkuDetails() {
    SkuDetailsParams.Builder skuDetailsParamsBuilder
            = SkuDetailsParams.newBuilder();
    mBillingClient.querySkuDetailsAsync(skuDetailsParamsBuilder.build(),
            new SkuDetailsResponseListener() {
                @Override
                public void onSkuDetailsResponse(int responseCode,
                        List<SkuDetails> skuDetailsList) {
                    if (responseCode == 0) {
                        for (SkuDetails skuDetails : skuDetailsList) {
                            mSkuDetailsMap.put(skuDetails.getSku(), skuDetails);
                        }
                    }
                }
            });
}

private void startPurchase(String skuId) {
    BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
            .setSkuDetails(mSkuDetailsMap.get(skuId))
            .build();
}

Play Faturalandırma Kitaplığı 1.1 Sürümü (07.05.2018)

Google Play Faturalandırma kitaplığının 1.1 sürümü kullanıma sunuldu. Bu sürüm aşağıdaki değişiklikleri içerir.

Değişiklik özeti

  • BillingFlowParams'te kullanıma oranlı kullanım modunu belirtmek için destek eklendi .
  • BillingFlowParams işlevinde replaceSkusProration boole işareti artık desteklenmiyor. Bunun yerine replaceSkusProrationMode politikasını kullanın.
  • launchBillingFlow() artık başarısız yanıtlar için bir geri çağırma tetikliyor.

Davranış değişiklikleri

Google Play Faturalandırma kitaplığının 1.1 sürümünde aşağıdaki davranışlar bulunmaktadır anlamına gelir.

Geliştiriciler BillingFlowParams sınıfında replaceSkusProrationMode özelliğini ayarlayabilir

ProrationMode, bir alt veya üst sürüme geçerken kullanılan dağıtımın türü hakkında daha ayrıntılı bilgi sağlar. abonelik.

Kotlin

BillingFlowParams.newBuilder()
    .setSku(skuId)
    .setType(billingType)
    .setOldSku(oldSku)
    .setReplaceSkusProrationMode(replaceSkusProrationMode)
    .build()

Java

BillingFlowParams.newBuilder()
    .setSku(skuId)
    .setType(billingType)
    .setOldSku(oldSku)
    .setReplaceSkusProrationMode(replaceSkusProrationMode)
    .build();

Şu anda Google Play aşağıdaki bölüştürme modlarını desteklemektedir:

IMMEDIATE_WITH_TIME_PRORATION Değişim hemen geçerli olur ve yeni geçerlilik süresi eşit olarak dağıtılır kullanıcıya ödeme yapılır veya ücret alınır. Bu, geçerli varsayılan davranıştır.
IMMEDIATE_AND_CHARGE_PRORATED_PRICE Değişim hemen geçerli olur ve faturalandırma dönemi aynı kalır. Şu ürünün fiyatı: kalan süre için ödeme alınır.

Not: Bu seçenek yalnızca abonelik yükseltmesi için kullanılabilir.

IMMEDIATE_WITHOUT_PRORATION Değişim hemen geçerli olur ve yeni fiyat bir sonraki yinelenme işleminde alınır gerekir. Faturalandırma dönemi aynı kalır.

replaceSkusProration artık BillingFlowParams sınıfında desteklenmiyor

Geliştiriciler eskiden bir abonelik için eşit olarak bölünmüş bir tutar tahsil etmek için bir boole flag'i belirleyebiliyordu. isteği gönderin. Bu nedenle, daha ayrıntılı bilgi içeren ProrationMode bölüştürme talimatına rağmen, bu boole işareti artık desteklenmemektedir.

launchBillingFlow() artık başarısız yanıtlar için geri çağırmayı tetikliyor

Faturalandırma Kitaplığı her zaman PurhcasesUpdatedListener öğesini tetikler. geri arama ve BillingResponse döndürme eşzamansız olarak ayarlayabilirsiniz. BillingResponse öğesinin eşzamanlı dönüş değeri olması da önemlidir.

Hata düzeltmeleri

  • Hizmet bağlantısı kesildiğinde, eşzamansız yöntemlerde erkenden doğru şekilde çıkış yapar.
  • Builder parametre nesneleri artık yerleşik nesnelerde değişiklik yapmıyor.
  • Sorun 68087141: launchBillingFlow() artık başarısız yanıtlar için geri çağırma tetikliyor.

Google Play Faturalandırma Kitaplığı 1.0 Sürümü (19.09.2017, Duyuru)

Google Play Faturalandırma kitaplığının 1.0 sürümü kullanıma sunuldu. Bu sürüm aşağıdaki değişiklikleri içerir.

Önemli değişiklikler

  • Kitaplığın manifest dosyasına yerleştirilmiş faturalandırma izni. Etiketin eklenmesine gerek yoktur. com.android.vending.BILLING izninizi artık Android manifest'inde bulabilirsiniz.
  • BillingClient.Builder örneğine yeni oluşturucu eklendi sınıfını kullanır.
  • SkuDetailsParams için oluşturucu kalıbı kullanıma sunuldu sınıfını da içermelidir.
  • Tutarlılık için birkaç API yöntemi güncellendi (aynı döndürülen bağımsız değişken adları ve sırası).

Davranış değişiklikleri

Google Play Faturalandırma kitaplığının 1.0 sürümünde aşağıdaki davranışlar bulunmaktadır anlamına gelir.

BillingClient.Builder sınıfı

BillingClient.Builder artık yeniBuilder kalıbı aracılığıyla başlatılıyor:

Kotlin

billingClient = BillingClient.newBuilder(context).setListener(this).build()

Java

billingClient = BillingClient.newBuilder(context).setListener(this).build();

LaunchBillingFlow yöntemi artık BillingFlowParams sınıfı kullanılarak çağrılıyor

Bir satın alma veya abonelik için faturalandırma akışını başlatmak üzere launchBillingFlow() yöntemi bir BillingFlowParams isteğe özel parametrelerle başlatılan örnek:

Kotlin

BillingFlowParams.newBuilder().setSku(skuId)
        .setType(billingType)
        .setOldSku(oldSku)
        .build()

// Then, use the BillingFlowParams to start the purchase flow
val responseCode = billingClient.launchBillingFlow(builder.build())

Java

BillingFlowParams.newBuilder().setSku(skuId)
                              .setType(billingType)
                              .setOldSku(oldSku)
                              .build();

// Then, use the BillingFlowParams to start the purchase flow
int responseCode = billingClient.launchBillingFlow(builder.build());

Mevcut ürünleri sorgulamanın yeni yolu

queryPurchaseHistoryAsync() için bağımsız değişkenler ve querySkuDetailsAsync() yöntemleri bir Oluşturucu kalıbı:

Kotlin

val params = SkuDetailsParams.newBuilder()
params.setSkusList(skuList)
        .setType(itemType)
billingClient.querySkuDetailsAsync(params.build(), object : SkuDetailsResponseListener() {
    ...
})

Java

SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
params.setSkusList(skuList)
        .setType(itemType);
billingClient.querySkuDetailsAsync(params.build(), new SkuDetailsResponseListener() {...})

Sonuç, artık sonuç kodu ve SkuDetails nesneleri yükleyin:

Kotlin

fun onSkuDetailsResponse(@BillingResponse responseCode: Int, skuDetailsList: List<SkuDetails>)

Java

public void onSkuDetailsResponse(@BillingResponse int responseCode, List<SkuDetails> skuDetailsList)

onConsumeResponse() yönteminde parametre sırası değişti

onConsumeResponse için bağımsız değişkenlerin sırası ConsumeResponseListener arayüzü, API'mizde tutarlı olacak şekilde değişti:

Kotlin

fun onConsumeResponse(@BillingResponse responseCode: Int, outToken: String)

Java

public void onConsumeResponse(@BillingResponse int responseCode, String outToken)

Sarmalanmamış PurchaseResult nesnesi

PurchaseResult öğesinin, API'mizde tutarlı olacak şekilde sarmalaması açılır:

Kotlin

fun onPurchaseHistoryResponse(@BillingResponse responseCode: Int, purchasesList: List<Purchase>)

Java

void onPurchaseHistoryResponse(@BillingResponse int responseCode, List<Purchase> purchasesList)

Hata düzeltmeleri

Geliştirici Önizleme 1 Sürümü (12.06.2017, Duyuru)

Faturalandırma konusunda geliştirme sürecini basitleştirmeyi amaçlayan geliştirici önizlemesi kullanıma sunuldu: Geliştiricilerin Android uygulamasına özel mantığı (ör. ve gezinme yapısı hakkında daha fazla bilgi sahibi olmanızı sağlar.

Kitaplıkta, Google Analytics 4'teki uygulamalarınızı entegre ederken kullanabileceğiniz Google Play Faturalandırma API'sine sahip Android uygulamaları. Kitaplık, üstte bir soyutlama katmanı da geliştiricilerin tanımlamalarını kolaylaştıran Android Arayüz Tanımlama Dili (AIDL) hizmetini Uygulama ile Google Play Faturalandırma API'si arasındaki arayüz.