Dokumen ini menjelaskan cara melakukan migrasi dari Library Layanan Penagihan Google Play (PBL) 6 atau 7 ke PBL 8 dan cara berintegrasi dengan kemampuan langganan opsional baru.
Untuk daftar lengkap perubahan pada versi 8.0.0, lihat [catatan rilis][1].
Ringkasan
PBL 8 berisi peningkatan pada API yang ada beserta penghapusan API yang sebelumnya tidak digunakan lagi. Versi library ini juga menyertakan API baru untuk produk sekali beli.
Kompatibilitas mundur untuk upgrade PBL
Untuk bermigrasi ke PBL 8, Anda harus memperbarui atau menghapus beberapa referensi API yang ada dari aplikasi Anda, seperti yang dijelaskan dalam [catatan rilis][8] dan selanjutnya dalam panduan migrasi ini.
Mengupgrade dari PBL 6 atau 7 ke PBL 8
Untuk mengupgrade dari PBL 6 atau 7 ke PBL 8, lakukan langkah-langkah berikut:
Perbarui versi dependensi Play Billing Library di file
build.gradleaplikasi Anda.dependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }(Hanya berlaku untuk upgrade dari PBL 6 ke PBL 8). Menangani perubahan API terkait langganan di aplikasi Anda.
Tabel berikut mencantumkan API terkait langganan yang dihapus di PBL 8 dan API alternatif yang sesuai yang harus Anda gunakan di aplikasi.
API yang sebelumnya tidak digunakan lagi dihapus di PBL 8 API alternatif yang dapat digunakan setOldSkuPurchaseToken setOldPurchaseToken setReplaceProrationMode setSubscriptionReplacementMode setReplaceSkusProrationMode setSubscriptionReplacementMode Perbarui implementasi metode [
queryProductDetailsAsync][9].Ada perubahan pada tanda tangan metode [
ProductDetailsResponseListener.onProductDetailsResponse][2], yang memerlukan perubahan pada aplikasi Anda untuk penerapan [queryProductDetailsAsync][9]. Untuk mengetahui informasi selengkapnya, lihat [Tampilkan produk yang tersedia untuk dibeli][3].Menangani API yang dihapus.
Upgrade dari
PBL 8 tidak lagi mendukung API yang tercantum dalam tabel berikut. Jika implementasi Anda menggunakan salah satu API yang dihapus ini, lihat tabel untuk API alternatif yang sesuai.
API yang sebelumnya tidak digunakan lagi dihapus di PBL 8 API alternatif yang dapat digunakan API queryPurchaseHistoryAsync Lihat Query Purchase History querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (API tanpa parameter) enablePendingPurchases(PendingPurchaseParams params)
Perhatikan bahwa enablePendingPurchases() yang tidak digunakan lagi secara fungsional setara denganenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling AlternativeBillingListener UserChoiceBillingListener AlternativeChoiceDetails UserChoiceDetails Upgrade dari
Tabel berikut mencantumkan API yang dihapus di PBL 8, dan API alternatif yang sesuai yang harus Anda gunakan di aplikasi Anda.
API yang sebelumnya tidak digunakan lagi dihapus di PBL 8 API alternatif yang dapat digunakan API queryPurchaseHistoryAsync Lihat Query Purchase History querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (API tanpa parameter) enablePendingPurchases(PendingPurchaseParams params)
Perhatikan bahwa enablePendingPurchases() yang tidak digunakan lagi secara fungsional setara denganenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (Direkomendasikan) Aktifkan koneksi ulang layanan otomatis.
Play Billing Library dapat mencoba membuat ulang koneksi layanan secara otomatis jika panggilan API dilakukan saat layanan terputus. Untuk mengetahui informasi selengkapnya, lihat [Mengaktifkan koneksi ulang layanan otomatis][6].
Perubahan opsional.
Mendukung pembelian tertunda untuk paket prabayar. Untuk mengetahui informasi selengkapnya, lihat [Menangani Langganan dan Transaksi Tertunda][4].
Langganan cicilan virtual. Untuk mengetahui informasi selengkapnya, lihat [Integrasi Langganan Cicilan][5].
[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