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

Dokumen ini menjelaskan cara melakukan migrasi dari Google Play Billing Library 5 atau 6 ke Google Play Billing Library 7 dan cara berintegrasi dengan kemampuan langganan opsional baru.

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

Ringkasan

Library Layanan Penagihan Google Play 7 meningkatkan penanganan pembayaran untuk fitur langganan yang ada. Peningkatan opsional ini menambahkan dukungan untuk pembayaran dengan paket cicilan serta dukungan untuk pembelian yang tertunda untuk langganan prabayar.

Upgrade Play Billing Library yang kompatibel dengan versi lama

Semua API Google Play Billing Library 7 yang baru bersifat opsional, dan developer tidak perlu menerapkan perubahan API apa pun untuk mengupdate.

Untuk bermigrasi, Anda harus mengupdate referensi API dan menghapus API tertentu dari aplikasi seperti yang dijelaskan dalam catatan rilis dan nanti dalam panduan migrasi ini.

Upgrade dari PBL 5 ke PBL 7

Bagian berikut menjelaskan cara mengupgrade dari PBL 5 ke PBL 7.

Mengupdate Google Play Billing Library

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

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

Selanjutnya, update referensi API Anda seperti yang dijelaskan di bagian berikut.

Mengubah pembelian langganan pengguna

Play Billing Library 5 dan yang lebih lama menggunakan ProrationMode untuk menerapkan perubahan pada pembelian langganan pengguna, seperti upgrade atau downgrade. API ini telah dihapus dan diganti dengan ReplacementMode.

Menangani perubahan harga langganan

API launchPriceConfirmationFlow yang sebelumnya tidak digunakan lagi telah dihapus. Untuk alternatifnya, lihat panduan perubahan harga.

Menangani perubahan API terkait langganan

API setOldSkuPurchaseToken, setReplaceProrationMode, setReplaceSkusProrationMode yang sebelumnya tidak digunakan lagi telah dihapus.

Menangani error Play Billing Library

Kode NETWORK_ERROR baru menunjukkan masalah dengan koneksi jaringan antara perangkat pengguna dan sistem Google Play.

Kode SERVICE_TIMEOUT dan SERVICE_UNAVAILABLE juga telah diupdate.

Untuk mengetahui informasi selengkapnya, lihat Menangani kode respons BillingResult.

Menangani transaksi yang tertunda

Play Billing Library tidak lagi membuat ID pesanan untuk pembelian yang tertunda. Untuk pembelian ini, ID pesanan diisi setelah pembelian dipindahkan ke status PURCHASED. Pastikan integrasi Anda hanya mengharapkan ID pesanan setelah transaksi selesai sepenuhnya. Anda tetap dapat menggunakan token pembelian untuk data Anda.

Untuk mengetahui informasi selengkapnya tentang cara menangani pembelian tertunda, lihat panduan integrasi Play Billing Library dan panduan pengelolaan siklus proses pembelian.

Menangani API penagihan alternatif yang dihapus

BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListener, dan AlternativeChoiceDetails telah dihapus. Sebagai gantinya, developer harus menggunakan BillingClient.Builder.enableUserChoiceBilling() dengan UserChoiceBillingListener dan UserChoiceDetails dalam callback listener.

Update ini adalah penggantian nama API yang tidak digunakan lagi tanpa perubahan perilaku.

Perubahan Opsional

PBL 7 menyertakan dua API opsional baru.

Mendukung Pembelian yang Tertunda untuk Paket Prabayar

Lihat panduan Menangani Langganan dan Transaksi yang Tertunda.

Langganan Cicilan Virtual

Lihat panduan Integrasi Langganan Cicilan.

Upgrade dari PBL 6 ke PBL 7

Bagian berikut menjelaskan cara mengupgrade dari PBL 6 ke PBL 7.

Mengupdate Google Play Billing Library

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

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

Selanjutnya, update referensi API Anda seperti yang dijelaskan di bagian berikut.

Menangani perubahan API terkait langganan

API setOldSkuPurchaseToken, setReplaceProrationMode, setReplaceSkusProrationMode yang sebelumnya tidak digunakan lagi telah dihapus.

Menangani API penagihan alternatif yang dihapus

BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListener dan AlternativeChoiceDetails telah dihapus. Sebagai gantinya, developer harus menggunakan BillingClient.Builder.enableUserChoiceBilling() dengan UserChoiceBillingListener dan UserChoiceDetails dalam callback listener.

Perubahan Opsional

PBL 7 menyertakan dua API opsional baru.

Mendukung Pembelian yang Tertunda untuk Paket Prabayar

Lihat panduan Menangani Langganan dan Transaksi yang Tertunda.

Langganan Cicilan Virtual

Lihat panduan Integrasi Langganan Cicilan untuk mengetahui informasi tentang cara mengintegrasikan perubahan ini ke dalam aplikasi Anda.