Payload developer

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 harus membandingkannya dengan cara yang mendekati. Misalnya, Anda dapat memeriksa apakah nilai-nilai tersebut berada dalam jangka waktu tertentu satu sama lain.