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. | 1. Klik tab Gunakan untuk melihat item. | 2. Pilih item, lalu klik Gunakan Poin untuk menyelesaikan pembelian. | 3. Terima item. |
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.
Dalam callback
onResume()
game Anda, panggil metodequeryPurchases()
untuk mengambil daftar item sehingga Anda dapat menentukan item yang tidak dikonfirmasi.Jika game memiliki server, sebaiknya Anda memverifikasi pembelian dari server menggunakan Subscriptions and In-App Purchases API
Jika ada item yang dimiliki. tetapi tidak dikonfirmasi, konfirmasi pembelian tersebut dengan
consumeAsync()
untuk item habis pakai atauacknowledgePurchase()
untuk item tidak habis pakai.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:
Untuk mendukung skenario ini dengan Library Layanan Penagihan Google Play, lakukan hal berikut:
Google Play memanggil metode
onPurchasesUpdated()
untuk memberi tahu game bahwa ada item baru yang tertunda.Jika game memiliki server, sebaiknya Anda memverifikasi pembelian dari server menggunakan Subscriptions and In-App Purchases API
Konfirmasi pembelian dengan
consumeAsync()
untuk item yang dapat dipakai atau denganacknowledgePurchase()
untuk item yang tidak dapat dipakai.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 game engine 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 nilaiproductId
atau tidakJika Anda menggunakan
Inappproducts: list
di server, verifikasi apakah Anda harus memisahkan item pertukaran reward Play dari produk dalam aplikasi lainnya dengan nilaiproductId
atau tidakTinjau praktik terbaik berikut untuk memverifikasi apakah Anda perlu melakukan perubahan tambahan:
- Referensi:
- Terapkan verifikasi tanda tangan sisi server.
- Pastikan nilai
purchaseToken
danorderId
unik dan belum pernah digunakan sebelumnya.
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.