Bu belgede, Google Play Faturalandırma Kitaplığı (PBL) 6 veya 7'den PBL 8'e nasıl geçiş yapılacağı ve yeni isteğe bağlı abonelik özellikleriyle nasıl entegrasyon sağlanacağı açıklanmaktadır.
8.0.0 sürümündeki değişikliklerin tam listesi için [sürüm notlarına][1] bakın.
Genel Bakış
PBL 8, mevcut API'lerde iyileştirmeler içerir ve daha önce desteği sonlandırılan API'leri kaldırır. Kitaplığın bu sürümünde, tek seferlik ürünler için yeni API'ler de yer almaktadır.
PBL yükseltmesi için geriye dönük uyumluluk
PBL 8'e geçmek için [sürüm notlarında][8] ve bu taşıma kılavuzunun ilerleyen bölümlerinde açıklandığı gibi mevcut API referanslarınızdan bazılarını uygulamanızdan güncellemeniz veya kaldırmanız gerekir.
PBL 6 veya 7'den PBL 8'e geçiş
PBL 6 veya 7'den PBL 8'e yükseltmek için aşağıdaki adımları uygulayın:
Uygulamanızın
build.gradledosyasındaki Play Faturalandırma Kitaplığı bağımlılık sürümünü güncelleyin.dependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }(Yalnızca Play Faturalandırma Kitaplığı 6'dan Play Faturalandırma Kitaplığı 8'e yükseltme için geçerlidir.) Uygulamanızda abonelikle ilgili API değişikliklerini yönetin.
Aşağıdaki tabloda, PBL 8'de kaldırılan abonelikle ilgili API'ler ve uygulamanızda kullanmanız gereken alternatif API'ler listelenmiştir.
Daha önce desteği sonlandırılan API, PBL 8'de kaldırıldı Kullanılacak alternatif API setOldSkuPurchaseToken setOldPurchaseToken setReplaceProrationMode setSubscriptionReplacementMode setReplaceSkusProrationMode setSubscriptionReplacementMode [
queryProductDetailsAsync][9] yönteminin uygulamasını güncelleyin.[
ProductDetailsResponseListener.onProductDetailsResponse][2] yönteminin imzasında değişiklik yapıldı. Bu nedenle, [queryProductDetailsAsync][9] uygulamasında uygulamanızda değişiklik yapılması gerekiyor. Daha fazla bilgi için [Show products available to buy][3] başlıklı makaleyi inceleyin.Kaldırılan API'leri işleyin.
Şu
PBL 8, aşağıdaki tabloda listelenen API'leri artık desteklemiyor. Uygulamanızda kaldırılan bu API'lerden herhangi biri kullanılıyorsa ilgili alternatif API'ler için tabloya bakın.
Daha önce desteği sonlandırılan API, PBL 8'de kaldırıldı Kullanılacak alternatif API queryPurchaseHistoryAsync API'leri Sorgu satın alma geçmişi başlıklı makaleyi inceleyin. querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (parametresiz API) enablePendingPurchases(PendingPurchaseParams params)
Desteği sonlandırılan enablePendingPurchases() işlevinin, işlevsel olarakenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())ile eşdeğer olduğunu unutmayın.queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling AlternativeBillingListener UserChoiceBillingListener AlternativeChoiceDetails UserChoiceDetails Şu
Aşağıdaki tabloda, PBL 8'de kaldırılan API'ler ve uygulamanızda kullanmanız gereken ilgili alternatif API'ler listelenmektedir.
Daha önce desteği sonlandırılan API, PBL 8'de kaldırıldı Kullanılacak alternatif API queryPurchaseHistoryAsync API'leri Sorgu satın alma geçmişi başlıklı makaleyi inceleyin. querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (parametresiz API) enablePendingPurchases(PendingPurchaseParams params)
Desteği sonlandırılan enablePendingPurchases() işlevinin, işlevsel olarakenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())ile eşdeğer olduğunu unutmayın.queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (Önerilir) Otomatik hizmet yeniden bağlantısını etkinleştirin.
Play Faturalandırma Kitaplığı, hizmet bağlantısı kesilmişken bir API çağrısı yapılırsa hizmet bağlantısını otomatik olarak yeniden kurmayı deneyebilir. Daha fazla bilgi için [Enable automatic service reconnection][6] başlıklı makaleyi inceleyin.
İsteğe bağlı değişiklikler.
Ön ödemeli planlar için bekleyen satın alma işlemlerini destekleyin. Daha fazla bilgi için [Abonelikleri ve Bekleyen İşlemleri Yönetme][4] başlıklı makaleyi inceleyin.
Sanal taksit abonelikleri Daha fazla bilgi için [Installment Subscriptions Integration][5] başlıklı makaleyi inceleyin.
[1]: /google/play/billing/release-notes [2]: /reference/com/android/billingclient/api/ProductDetailsResponseListener#onProductDetailsResponse(com.android.billingclient.api.BillingResult,java.util.List%3Ccom.android.billingclient.api.ProductDetails%3E) [3]: /google/play/billing/integrate#show-products [4]: /google/play/billing/subscriptions#pending [5]: /google/play/billing/subscriptions#installments [6]: /google/play/billing/integrate#automatic-service-reconnection [8]: /google/play/billing/release-notes [9]: /reference/com/android/billingclient/api/BillingClient#queryProductDetailsAsync