Bergabunglah bersama kami di ⁠#Android11: The Beta Launch Show pada tanggal 3 Juni!

Referensi AIDL Promosi Dalam Aplikasi

Peringatan: AIDL tidak digunakan lagi dan akan dihapus dalam rilis mendatang. Untuk menerapkan fitur Layanan Penagihan Google Play, gunakan library Layanan Penagihan Google Play.

Dokumentasi ini menyajikan informasi referensi teknis untuk membuat promosi menggunakan Google Play Billing AIDL API

Dengan kode promo, Anda dapat memberikan konten atau fitur secara gratis kepada sejumlah kecil pengguna. Setelah membuat kode promo, Anda dapat mendistribusikannya sesuai dengan persyaratan layanan. Pengguna harus memasukkan kode promo ke dalam aplikasi Anda atau aplikasi Google Play Store agar dapat menerima item secara cuma-cuma. Ada berbagai cara menggunakan kode promo agar Anda dapat berinteraksi secara kreatif dengan pengguna, seperti berikut ini:

  • Game dapat memiliki item khusus, seperti karakter atau dekorasi, yang hanya tersedia bagi pemain yang menghadiri acara. Developer dapat membagi-bagikan kartu yang berisi kode promo pada suatu acara, lalu pengguna memasukkan kode promo tersebut untuk membuka kunci item.
  • Developer aplikasi dapat membagi-bagikan kode promo pada bisnis lokal untuk mendorong calon pengguna mencoba aplikasi.
  • Developer aplikasi juga dapat memberikan kode teman dan keluarga kepada para karyawannya untuk dibagikan dengan teman-teman mereka.

Setiap kode promo dikaitkan dengan ID produk tertentu (juga dikenal sebagai SKU). Anda dapat membuat kode promo untuk produk dalam aplikasi yang sudah ada. Anda juga dapat menghilangkan SKU dari Play Store, sehingga satu-satunya cara untuk mendapatkan item tersebut adalah dengan memasukkan kode promo SKU. Saat pengguna memasukkan kode promo di Play Store atau dalam aplikasi, pengguna akan mendapatkan item, sama halnya ketika mereka membayar penuh. Jika aplikasi Anda telah menggunakan In-app Billing API versi 3 atau lebih baru untuk mendukung pembelian dalam aplikasi, Anda dapat menambahkan dukungan untuk kode promo dengan mudah.

Membuat dan Menukarkan Kode Promo

Anda dapat membuat kode promo melalui Konsol Google Play. Setiap kode promo dikaitkan dengan satu produk yang terdaftar di Konsol Play.

Pengguna dapat menukarkan kode promo melalui salah satu dari dua cara berikut:

  • Pengguna dapat memasukkan kode promo sebagai bagian dari alur pembelian biasa aplikasi, sebagaimana dijelaskan dalam Mengimplementasikan Penagihan via Google Play. Sejauh berkaitan dengan aplikasi, proses ini seperti halnya melakukan pembelian biasa, kecuali pengguna melakukan pembayaran dengan kode promo, bukan dengan uang.
  • Pengguna dapat menukarkan kode di aplikasi Google Play Store. Pengguna dapat memasukkan kode di aplikasi Google Play Store secara manual, atau Anda dapat membuat URL di aplikasi yang otomatis memberikan kode di Google Play Store kepada pengguna. Untuk otomatis memberikan kode, buat dan luncurkan URL dengan struktur berikut, dan ganti <code> dengan kode promo:
    https://play.google.com/redeem?code=<code>
    Berikut contohnya:
    https://play.google.com/redeem?code=bvlkfdxkjghlkgdhlkj
    Untuk mempelajari cara membuat link ke Google Play dari aplikasi Android, lihat Menautkan ke Google Play. Setelah kode dimasukkan, Play Store akan meminta pengguna untuk membuka aplikasi (jika versi terbaru telah diinstal), mendownload, atau mengupdatenya.

Mendukung Kode Promo di Aplikasi Anda

Untuk mendukung kode promo, aplikasi Anda harus memanggil metode getPurchases() setiap kali aplikasi dimulai atau dilanjutkan. Metode ini akan menampilkan paket yang berisi semua pembelian saat ini yang belum dikonsumsi, termasuk pembelian yang dilakukan pengguna dengan menukarkan kode promo. Pendekatan paling sederhana adalah memanggil getPurchases() dalam metode onResume() aktivitas Anda, karena callback tersebut terpicu saat aktivitas dibuat, juga saat aktivitas berhenti dijeda. Memanggil getPurchases() pada saat aplikasi dimulai dan dilanjutkan akan menjamin bahwa aplikasi Anda mengetahui semua pembelian dan penukaran yang mungkin dilakukan pengguna saat aplikasi tidak berjalan. Selain itu, jika pengguna melakukan pembelian saat aplikasi berjalan dan aplikasi Anda melewatkannya karena suatu alasan, aplikasi Anda akan tetap mengetahui pembelian tersebut pada saat aktivitas dilanjutkan dan memanggil getPurchases().

Aplikasi Anda harus mengizinkan pengguna untuk menukarkan kode promo di dalam aplikasi itu sendiri. Jika aplikasi Anda mendukung alur kerja pembelian dalam aplikasi (dijelaskan dalam Membuat Permintaan Penagihan via Google Play), aplikasi Anda otomatis mendukung penukaran kode promo dalam aplikasi. Saat Anda meluncurkan UI pembelian dalam aplikasi, pengguna memiliki opsi untuk membayar pembelian dengan metode onActivityResult() yang menerima intent respons yang memberi tahu aplikasi apakah pembelian sudah selesai. Namun, aplikasi Anda tetap harus memanggil getPurchases() saat dimulai dan dilanjutkan, jika alur kerja pembelian dan konsumsi tidak selesai. Misalnya, jika pengguna berhasil menukarkan kode promo, lalu aplikasi Anda error sebelum item dikonsumsi, aplikasi Anda tetap akan menerima informasi pembelian tersebut saat aplikasi memanggil getPurchases() pada saat dimulai lagi.

Aplikasi Anda juga harus mendukung skenario di mana pengguna menukarkan kode promo di aplikasi Play Store saat aplikasi sedang dijalankan. Aplikasi Anda seketika dapat mengetahui kapan pengguna menukarkan kode dengan mendaftarkan pemroses untuk intent PURCHASES_UPDATED. Play Store memicu intent ini setiap kali pengguna menukarkan kode promo.

Untuk memproses intent PURCHASES_UPDATED, buat objek BroadcastReceiver secara dinamis dan daftarkan objek ini untuk memproses com.android.vending.billing.PURCHASES_UPDATED. Daftarkan penerima dengan memasukkan kode yang mirip dengan contoh berikut dalam metode onResume() aktivitas Anda:

Kotlin

val filter = IntentFilter("com.android.vending.billing.PURCHASES_UPDATED")

Java

IntentFilter filter = new IntentFilter("com.android.vending.billing.PURCHASES_UPDATED");

Saat pengguna melakukan pembelian, sistem akan memanggil metode onReceive() penerima siaran Anda. Metode tersebut harus memanggil getPurchases() untuk mengetahui pembelian yang telah dilakukan oleh pengguna.

Untuk mengurangi overhead sistem saat aplikasi Anda tidak berjalan, metode onPause() aktivitas Anda harus membatalkan pendaftaran penerima siaran:

Kotlin

unRegisterReceiver(myPromoReceiver);

Java

unRegisterReceiver(myPromoReceiver);

Catatan: Jangan daftarkan penerima siaran ini dalam manifes aplikasi. Mendeklarasikan penerima di manifes dapat menyebabkan sistem meluncurkan aplikasi untuk menangani intent jika pengguna melakukan pembelian sementara aplikasi tidak berjalan. Perilaku ini tidak diperlukan dan dapat mengganggu pengguna. Untuk mencari tahu pembelian apa saja yang dilakukan pengguna saat aplikasi tidak berjalan, panggil getPurchases() saat pengguna meluncurkan aplikasi.

Menguji Promosi dalam Aplikasi

Jika aplikasi Anda mendukung promosi dalam aplikasi, uji kasus penggunaan berikut.

Pengguna menukarkan kode promo dalam aplikasi

Jika pengguna menukarkan kode promo dalam alur pembelian aplikasi, seperti yang dijelaskan dalam Membuat permintaan Penagihan via Google Play, sistem akan memanggil metode onActivityResult() aktivitas Anda untuk menangani pembelian. Pastikan bahwa onActivityResult() menangani pembelian dengan benar, baik pengguna membayar dengan uang atau kode promo.

Pengguna menukarkan kode promosi di Google Play Store

Jika pengguna menukar kode promosi di Play Store, ada beberapa alur kerja yang mungkin terjadi. Verifikasikan setiap alur kerja ini.

Aplikasi belum terinstal

Jika pengguna menukarkan kode promo untuk aplikasi yang tidak diinstal di perangkat, Play Store akan meminta pengguna untuk menginstal aplikasi. (Jika aplikasi diinstal tetapi tidak terupdate, Play Store akan meminta pengguna untuk mengupdate aplikasi). Uji urutan berikut pada perangkat yang belum menginstal aplikasi Anda.

  1. Pengguna menukarkan kode promosi untuk aplikasi di Play Store. Play Store meminta pengguna untuk menginstal aplikasi Anda.
  2. Pengguna menginstal dan meluncurkan aplikasi Anda. Pastikan bahwa pada saat dimulai, aplikasi memanggil getPurchases() dan mendeteksi dengan benar pembelian yang dilakukan pengguna menggunakan kode promo.

Aplikasi telah diinstal, tetapi tidak berjalan

Jika pengguna menukarkan kode promo untuk aplikasi yang diinstal pada perangkat, Play Store akan meminta pengguna untuk beralih ke aplikasi. Uji urutan berikut pada perangkat yang telah menginstal aplikasi Anda tetapi tidak berjalan:

  1. Pengguna menukarkan kode promosi untuk aplikasi di Play Store. Play Store meminta pengguna untuk beralih ke aplikasi Anda.
  2. Pengguna meluncurkan aplikasi Anda. Verifikasikan bahwa pada saat dimulai, aplikasi memanggil getPurchases() dan mendeteksi dengan benar pembelian yang dilakukan pengguna menggunakan kode promo.

Aplikasi terinstal dan berjalan

Jika pengguna menukarkan kode promosi untuk aplikasi yang sedang berjalan di perangkat, Play Store akan memberi tahu aplikasi melalui intent PURCHASES_UPDATED. Uji urutan berikut:

  1. Pengguna meluncurkan aplikasi. Pastikan bahwa aplikasi telah terdaftar dengan benar untuk menerima intent PURCHASES_UPDATED.
  2. Pengguna meluncurkan aplikasi Play Store, baik secara manual atau menggunakan URL yang dihasilkan yang berisi kode promo, dan menukarkan kode promo untuk aplikasi tersebut. Play Store mengaktifkan intent PURCHASES_UPDATED. Pastikan bahwa callback onReceive() aplikasi Anda diaktifkan untuk menangani intent.
  3. Metode onReceive() Anda harus merespons intent tersebut dengan memanggil getPurchases(). Verifikasi bahwa aplikasi Anda memanggil metode ini dan mendeteksi dengan benar pembelian yang dilakukan pengguna dengan kode promo.
  4. Pengguna beralih kembali ke aplikasi Anda. Pastikan bahwa pengguna memiliki item yang dibeli.