Google berkomitmen untuk mendorong terwujudnya keadilan rasial bagi komunitas Kulit Hitam. Lihat caranya.

Referensi AIDL Promosi Dalam Aplikasi

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

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

Dengan kode promosi Anda dapat memberikan konten atau fitur secara gratis kepada pengguna dalam jumlah terbatas. Setelah membuat kode promosi, Anda dapat mendistribusikannya dengan tunduk pada persyaratan layanan. Pengguna harus memasukkan kode promosi di aplikasi Anda atau di aplikasi Google Play Store agar dapat menerima item secara cuma-cuma. Ada berbagai cara menggunakan kode promosi 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 memberikan kartu yang berisi kode promosi selama acara, lalu pengguna memasukkan kode promosi tersebut untuk membuka kunci item.
  • Developer aplikasi dapat memberikan kode promosi 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-temannya.

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

Membuat dan Menukarkan Kode Promo

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

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

  • Pengguna dapat memasukkan kode promo sebagai bagian dari alur pembelian aplikasi biasa, sebagaimana yang dijelaskan di Mengimplementasikan Penagihan via Google Play. Selama aplikasi masih berkaitan, proses ini seperti halnya melakukan pembelian biasa, hanya saja pengguna melakukan pembayaran dengan kode promo, bukan dengan uang.
  • Pengguna dapat menukarkan kode di aplikasi Google Play Store. Pengguna dapat mengetikkan kode pada aplikasi Google Play Store secara manual, atau Anda dapat membuat URL pada aplikasi yang secara otomatis menyediakan kode di Google Play Store kepada pengguna. Untuk menyediakan kode secara otomatis, 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 Menghubungkan ke Google Play. Setelah kode dimasukkan, Play Store 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 digunakan, termasuk pembelian yang dilakukan pengguna dengan menukarkan kode promo. Pendekatan paling sederhana adalah memanggil getPurchases() dalam metode onResume() aktivitas Anda, karena callback tersebut akan diaktifkan saat aktivitas dibuat, juga saat aktivitas berhenti dijeda. Pemanggilan getPurchases() pada saat aplikasi dimulai dan dilanjutkan akan menjamin bahwa aplikasi Anda mengetahui semua pembelian dan penukaran yang mungkin telah 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 perlu 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 secara 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 dan aplikasi Anda error sebelum item digunakan, aplikasi Anda tetap akan menerima informasi pembelian tersebut saat aplikasi memanggil getPurchases() pada saat dimulai lagi.

Aplikasi Anda juga harus mendukung skenario yang mana pengguna dapat menukarkan kode promo di aplikasi Play Store saat aplikasi sedang berjalan. Aplikasi Anda dapat langsung mengetahui kapan pengguna menukarkan kode dengan mendaftarkan pemroses untuk intent PURCHASES_UPDATED. Play Store mengaktifkan 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 serupa 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 di 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 mengetahui 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, apakah pengguna membayar dengan uang atau kode promo.

Pengguna menukarkan kode promosi di Google Play Store

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

Aplikasi belum terinstal

Jika pengguna menukarkan kode promosi 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 pembelian yang dilakukan pengguna menggunakan kode promo dengan benar.

Aplikasi telah diinstal, tetapi tidak berjalan

Jika pengguna menukarkan kode promosi 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. Pastikan bahwa pada saat dimulai, aplikasi memanggil getPurchases() dan mendeteksi pembelian yang dilakukan pengguna menggunakan kode promo dengan benar.

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(). Pastikan bahwa aplikasi Anda memanggil metode ini dan mendeteksi pembelian yang dilakukan pengguna menggunakan kode promo dengan benar.
  4. Pengguna beralih kembali ke aplikasi Anda. Pastikan bahwa pengguna memiliki item yang dibeli.