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

Dokumen ini menjelaskan cara bermigrasi dari Google Play Billing Library (PBL) 6 atau 7 ke PBL 8 dan cara berintegrasi dengan kemampuan langganan opsional yang baru.

Untuk daftar lengkap perubahan pada versi 8.0.0, lihat catatan rilis.

Ringkasan

PBL 8 berisi peningkatan pada API yang ada serta 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 perlu mengupdate atau menghapus beberapa referensi API yang ada dari aplikasi, seperti yang dijelaskan dalam catatan rilis dan nanti 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. Update 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 terkait yang harus Anda gunakan di aplikasi.

    API yang sebelumnya tidak digunakan lagi dihapus di PBL 8 API alternatif yang akan digunakan
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. Perbarui implementasi metode queryProductDetailsAsync.

    Ada perubahan pada tanda tangan metode ProductDetailsResponseListener.onProductDetailsResponse, yang memerlukan perubahan pada aplikasi Anda untuk penerapan queryProductDetailsAsync. Untuk mengetahui informasi selengkapnya, lihat Menampilkan ketersediaan produk untuk dibeli.

  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 akan digunakan
    API queryPurchaseHistoryAsync Lihat Membuat Kueri Histori Pembelian
    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 terkait yang harus Anda gunakan di aplikasi.

    API yang sebelumnya tidak digunakan lagi dihapus di PBL 8 API alternatif yang akan digunakan
    API queryPurchaseHistoryAsync Lihat Membuat Kueri Histori Pembelian
    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. Perubahan opsional.