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, 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. Update versi dependensi Library Layanan Penagihan Play 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 akan digunakan
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. Perbarui penerapan metode queryProductDetailsAsync.

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

  4. Menangani API yang dihapus.

    Mengupgrade 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
    queryPurchaseHistoryAsync API Lihat Mengkueri 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

    Mengupgrade dari

    Tabel berikut mencantumkan API 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 akan digunakan
    queryPurchaseHistoryAsync API Lihat Mengkueri 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 penyambungan ulang layanan otomatis.

    Library Layanan Penagihan Play dapat mencoba membuat ulang koneksi layanan secara otomatis jika panggilan API dilakukan saat layanan terputus. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan penyambungan ulang layanan otomatis.

  6. Perubahan opsional.