Payload developer sebelumnya digunakan untuk berbagai tujuan, termasuk pencegahan penipuan dan mengatribusikan pembelian kepada pengguna yang tepat. Dengan Library Layanan Penagihan Google Play versi 2.2 dan yang lebih tinggi, tujuan kasus penggunaan yang yang sebelumnya bergantung pada payload developer kini didukung sepenuhnya di bagian lain library.
Dengan dukungan ini, payload developer tidak akan digunakan lagi mulai Library Layanan Penagihan Google Play versi 2.2. Metode yang terkait dengan payload developer tidak digunakan lagi pada versi 2.2 dan dihapus pada versi 3.0. Perlu diperhatikan bahwa aplikasi Anda masih dapat mengambil payload developer untuk pembelian yang dilakukan menggunakan versi library sebelumnya atau AIDL.
Untuk daftar perubahan yang mendetail, lihat catatan rilis Library Layanan Penagihan Google Play 2.2. dan catatan rilis Library Layanan Penagihan Google Play 3.0.
Verifikasi pembelian
Untuk memastikan bahwa pembelian tersebut asli dan tidak dipalsukan atau diulang, Google merekomendasikan
agar Anda menggunakan token pembelian (yang diperoleh dari metode
getPurchaseToken()
dalam objek
Purchase
) beserta
Google Play Developer API untuk memverifikasi keaslian pembelian.
Untuk informasi selengkapnya, lihat
Melawan penipuan dan penyalahgunaan.
Atribusi pembelian
Banyak aplikasi, terutama game, harus memastikan bahwa pembelian diatribusikan dengan benar kepada karakter/avatar dalam game atau profil pengguna dalam aplikasi yang memulai pembelian. Dimulai dengan Library Layanan Penagihan Google Play 2.2, aplikasi Anda dapat meneruskan ID profil dan akun yang di-obfuscate ke Google saat meluncurkan dialog pembelian, yang kemudian ditampilkan saat mengambil pembelian.
Gunakan parameter
setObfuscatedAccountId()
dan
setObfuscatedProfileId()
pada
BillingFlowParams
, lalu ambil menggunakan metode
getAccountIdentifiers()
pada objek
Purchase
.
Mengatribusi metadata dengan pembelian
Google merekomendasikan agar Anda menyimpan metadata pembelian di server backend
aman yang Anda kelola. Metadata pembelian ini harus diatribusikan dengan token pembelian
yang diperoleh menggunakan metode
getPurchaseToken
dalam objek Purchase
. Data ini dapat dipertahankan dengan meneruskan token pembelian dan metadata
ke backend Anda ketika
PurchasesUpdatedListener
dipanggil setelah pembelian berhasil dilakukan.
Untuk memastikan metadata teratribusi saat terjadi gangguan alur pembelian, Google merekomendasikan agar Anda menyimpan metadata di server backend sebelum meluncurkan dialog pembelian dan mengatribusikannya dengan ID akun pengguna Anda, SKU yang dibeli, dan stempel waktu saat ini.
Jika alur pembelian terganggu sebelum
PurchasesUpdatedListener
dipanggil, aplikasi Anda akan menemukan pembelian segera setelah aplikasi dilanjutkan dan memanggil
BillingClient.queryPurchasesAsync()
.
Anda kemudian dapat mengirim nilai yang diambil dari metode
getPurchaseTime()
,
getSku()
,
dan getPurchaseToken()
pada objek Purchase
ke server backend untuk mencari metadata, mengatribusikan metadata
dengan token pembelian, dan melanjutkan pemrosesan pembelian. Perhatikan bahwa
stempel waktu yang pertama kali Anda simpan tidak akan sama persis dengan nilai dari getPurchaseTime()
objek Purchase
, sehingga Anda perlu membandingkannya dengan cara perkiraan. Misalnya, Anda dapat memeriksa apakah nilai tersebut berada dalam jangka waktu tertentu satu sama lain.