Mendeteksi dan menayangkan item dalam aplikasi

Topik ini menjelaskan cara mendeteksi dan menayangkan produk dalam aplikasi di game Anda setelah pemain membelinya dengan Play Points di aplikasi Google Play.

Setelah pengguna menukarkan Play Points dengan produk dalam aplikasi di aplikasi Google Play, item harus segera dikirimkan di game Anda. Langkah berikut ini menjelaskan cara pengguna membeli item dengan Play Points.

1. Klik Play Points. 2. Pilih item lalu klik tab Gunakan. 3. Terima item.
Screenshot TBD Screenshot TBD Screenshot TBD

Dalam contoh, game tidak berjalan saat produk dibeli. Pengguna juga dapat menukarkan Play Points dengan produk saat game tidak diinstal di perangkatnya. Oleh karena itu, Anda harus mendesain game untuk menangani pengiriman item dalam aplikasi dari luar toko dalam game.

Sebelum memulai

Sebelum mendeteksi dan mengirimkan produk dalam aplikasi, Anda harus membuat produk dan promosi Play Points.

Persyaratan pengiriman

Saat mengirimkan produk dalam aplikasi di game menggunakan promosi Play Points, Anda harus mengikuti persyaratan di bagian ini.

Pemilihan waktu pengiriman

Saat pemain menukarkan Play Points dengan produk dalam aplikasi, Anda harus segera mengirim item tanpa mengharuskan pemain memulai ulang game. Jika konten game harus diselesaikan sebelumnya, seperti menyelesaikan tutorial, item harus dikirimkan segera setelahnya.

Pesan pengiriman

Setelah pengguna kembali ke game sesudah membeli produk dalam aplikasi di luar game, Anda harus menampilkan konfirmasi bahwa produk tersebut berhasil diberikan dalam game. Pesan ini harus berbentuk dialog (jendela) pop-up atau pesan dalam game. Pengguna tidak perlu melakukan langkah tambahan apa pun untuk menerima item tersebut.

Berikut adalah format pesan yang diperlukan:

  • Pesan yang jelas bahwa item telah diterima.

  • Tunjukkan nama item dengan jelas dan lihat “Play Points” untuk memastikan pengguna dapat membedakannya dengan konten lain yang mereka terima.

  • Nama item juga harus menyertakan denominasi yang benar jika terdapat item serupa dengan beberapa denominasi.

  • Dialog (jendela) pop-up, pesan, atau notifikasi dalam game harus terlihat oleh pengguna hingga pengguna mengklik konfirmasi seperti, Lanjutkan atau Oke. Tidak boleh ada tombol batal karena pesan ini hanya dimaksudkan untuk memberi tahu pengguna tentang item yang telah mereka terima dalam game. Jika tidak ada tombol konfirmasi, pesan akan terlihat oleh pengguna setidaknya selama 3 detik sebelum menghilang untuk memastikan pengguna telah menerima item.

Berikut adalah contoh pesan:

"Item diterima! Anda baru saja mendapatkan 100 Permata dengan Play Points. Lanjutkan."

Pengguna akan melihat animasi atau beberapa konfirmasi visual yang menampilkan peningkatan saldo mata uang dalam game. Jika item tersebut merupakan item dalam aplikasi yang dapat bertahan lama atau habis pakai, pengguna harus diarahkan ke tempat item tersebut dibuka kuncinya atau tersedia dalam game.

Mendeteksi item yang diterima di luar game

Jika game Anda menggunakan Library Layanan Penagihan Google Play, buat perubahan berikut untuk mendeteksi produk dalam aplikasi yang diterima di luar game.

  1. Dalam callback onResume() game Anda, panggil metode queryPurchases() untuk mengambil daftar item sehingga Anda dapat menentukan item yang tidak dikonfirmasi.

  2. Jika game memiliki server, sebaiknya Anda memverifikasi pembelian dari server menggunakan Subscriptions and In-App Purchases API

  3. Jika ada item yang dimiliki. tetapi tidak dikonfirmasi, konfirmasi pembelian tersebut dengan consumeAsync() untuk item habis pakai atau acknowledgePurchase() untuk item tidak habis pakai.

  4. Memberikan kepemilikan ke item yang dibeli dalam game.

Mendeteksi item yang diterima dalam mode layar terpisah

Jika game Anda mendukung mode multi-aplikasi, pengguna dapat menukarkan Play Points dan menerima item sembari menjalankan aplikasi Play Store dan game Anda secara bersamaan. Screenshot ini menampilkan contoh:

Screenshot tempat tombol Tukarkan poin ditampilkan selama game berjalan.

Untuk mendukung skenario ini dengan Library Layanan Penagihan Google Play, lakukan hal berikut:

  1. Google Play memanggil metode onPurchasesUpdated() untuk memberi tahu game bahwa ada item baru yang tertunda.

  2. Jika game memiliki server, sebaiknya Anda memverifikasi pembelian dari server menggunakan Subscriptions and In-App Purchases API

  3. Konfirmasi pembelian dengan consumeAsync() untuk item yang dapat dipakai atau dengan acknowledgePurchase() untuk item yang tidak dapat dipakai.

  4. Memberikan kepemilikan ke item yang dibeli dalam game.

Menampilkan konfirmasi pengiriman

Saat menukarkan Play Points dan menerima item pertukaran, pengguna mengharapkan game menampilkan pesan dalam game, atau menggunakan semacam notifikasi untuk memberi tahu bahwa game telah menerima dan memproses item dengan benar. Berikut adalah beberapa opsi konfirmasi pengiriman:

  • Menampilkan (jendela) pop-up dalam game.

  • Mengirim pesan ke kotak pesan dalam game dan memberitahukan dengan jelas bahwa ada pesan baru di kotak pesan dalam game.

  • Menggunakan pesan notifikasi OS.

Game dapat berada dalam status apa pun saat item promosi diterima, termasuk tidak diinstal di perangkat. Anda harus mendeteksi item promosi, apa pun status item tersebut saat game diterima. Namun, ada beberapa pengecualian yang mungkin membuat kami tidak dapat segera memberi tahu pengguna bahwa item telah diterima. Misalnya:

  • Selama tindakan game, saat menampilkan pesan dapat mengalihkan perhatian pengguna. Dalam hal ini, Anda harus memberi tahu pengguna setelah tindakan berakhir.

  • Selama cutscene, saat menampilkan pesan dapat mengganggu perhatian pengguna. Dalam hal ini, Anda harus memberi tahu pengguna setelah cutscene berakhir.

  • Selama tutorial awal dan bagian penyiapan pengguna dalam game. Sebaiknya beri tahu pengguna baru tentang bonus segera setelah mereka membuka game atau selama penyiapan pengguna awal. Namun, Anda masih dapat menunggu hingga urutan game utama tersedia untuk memberi tahu pengguna.

Jika aplikasi memiliki beberapa karakter atau akun yang dapat diterapkan oleh item, sebaiknya minta pengguna untuk memilih akun yang akan menerima item promosi.

Pertimbangkan pengguna saat memutuskan waktu dan cara memberi tahu item promosi kepada mereka. Jika pengguna tidak langsung menerima notifikasi, mereka mungkin akan bingung, berhenti bermain game, menghubungi dukungan pengguna, atau mengeluhkannya di media sosial.

Update untuk mesin game tertentu

Berikut beberapa pertimbangan untuk mesin game tertentu:

  • Jika game di-build dengan Unity, sebaiknya Anda memverifikasi apakah implementasi IAP yang digunakan sudah mendukung promosi Play Points atau belum

  • Jika game di-build dengan Cocos2d-x atau Unreal Engine (C/C++), kemungkinan besar Anda harus menulis kode JNI yang memanggil Java API dari kode C/C++.

Praktik terbaik sisi server

Bagian ini berisi praktik terbaik sisi server yang dapat digunakan untuk promosi Play Points:

  • Jika Anda memanggil Purchases.products: get di server, verifikasi apakah Anda harus menangani item pertukaran reward Play dan produk dalam aplikasi lainnya secara terpisah berdasarkan nilai productId atau tidak

  • Jika Anda menggunakan Inappproducts: list di server, verifikasi apakah Anda harus memisahkan item pertukaran reward Play dari produk dalam aplikasi lainnya dengan nilai productId atau tidak

  • Tinjau praktik terbaik berikut untuk memverifikasi apakah Anda perlu melakukan perubahan tambahan:

Pemecahan masalah

Bagian ini berisi rekomendasi untuk skenario yang dapat menghasilkan pertanyaan pelanggan.

Beberapa Akun Pengguna

Jika pengguna memiliki beberapa Akun Google di perangkat dan mereka menukarkan Play Points di akun yang salah, Google tidak dapat mentransfer item ke akun lainnya. Demikian pula, aplikasi Anda tidak dapat mentransfer item dengan memanggil metode getPurchases(). Dalam skenario ini, sebaiknya Anda menyediakan item dalam aplikasi secara manual kepada pengguna menggunakan operasi dukungan pelanggan Anda.

Item tertunda atau hilang

Jika item hadiah untuk pelanggan tertunda atau tidak ada, lihat panduan pemecahan masalah untuk pembelian dalam aplikasi dalam dokumentasi bantuan Google Play.