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.

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 perlu memperbarui atau menghapus beberapa referensi API yang ada dari aplikasi Anda, seperti yang dijelaskan dalam catatan rilis 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 penerapan 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 produk yang tersedia 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 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. Perubahan opsional.