Bermigrasi ke Google Play Billing Library 8 dari versi 6 atau 7

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:

  1. Perbarui versi dependensi Play Billing Library di file build.gradle aplikasi Anda.

    dependencies {
      def billingVersion = 8.0.0
      implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (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
  3. 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].

  4. 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 dengan enablePendingPurchases(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 dengan enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync

  5. (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].

  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