Menguji Layanan Penagihan Google Play

Setelah mengimplementasikan Layanan Penagihan Google Play, Anda dapat menguji pembelian produk dalam aplikasi Anda. Dokumen ini memiliki empat bagian:

Menyiapkan pengujian

Untuk menyiapkan pengujian implementasi Layanan Penagihan Google Play Anda, lakukan tugas-tugas berikut:

  1. Publikasikan aplikasi Anda ke track pengujian tertutup atau terbuka di Google Play. Setelah Anda memublikasikan aplikasi ke track pengujian, perlu waktu beberapa jam hingga aplikasi tersedia untuk penguji.
  2. Pastikan setiap penguji memilih ikut serta dalam pengujian aplikasi Anda. Pada URL keikutsertaan pengujian Anda, penguji akan menerima uraian tentang manfaat menjadi seorang penguji dan link untuk ikut serta.

Anda dapat menguji pada perangkat hardware Android apa pun yang menjalankan Android 1.6 atau yang lebih tinggi. Versi aplikasi terbaru Google Play harus diinstal pada perangkat. Untuk informasi umum tentang cara menyiapkan perangkat untuk digunakan dalam mengembangkan aplikasi Android, lihat Menggunakan Perangkat Hardware.

Menguji aplikasi Layanan Penagihan Google Play

Menguji aplikasi dengan respons statis

Layanan Penagihan Google Play menyediakan kombinasi ID produk khusus dan respons statis terkait yang dapat Anda gunakan untuk menguji implementasi Layanan Google Play Billing Anda. Respons ini memungkinkan Anda memverifikasi bahwa aplikasi Anda menangani respons Google Play utama dengan benar. Anda dapat menguji implementasi Layanan Penagihan Google Play menggunakan respons statis ini sebelum melibatkan penguji, dan meskipun aplikasi belum dipublikasikan.

Untuk menguji implementasi Anda dengan respons statis, buat permintaan Layanan Penagihan Google Play menggunakan item khusus yang memiliki ID produk khusus. Setiap ID produk menampilkan respons statis spesifik dari Google Play. Tidak ada uang yang ditransfer saat Anda membuat permintaan Layanan Penagihan Google Play dengan ID produk khusus. Selain itu, Anda tidak dapat menentukan metode pembayaran saat Anda membuat permintaan penagihan dengan ID produk khusus.

Catatan: Respons statis tidak dapat digunakan untuk menguji langganan.

Anda tidak perlu mencantumkan produk khusus di daftar produk aplikasi Anda. Google Play telah mengetahui tentang ID produk khusus. Selain itu, Anda tidak perlu mengupload aplikasi Anda ke Konsol Play untuk melakukan pengujian respons statis dengan ID produk khusus. Anda cukup menginstal aplikasi pada perangkat, login ke perangkat, dan membuat permintaan penagihan menggunakan ID produk khusus.

Catatan: Sebelumnya Anda dapat menguji aplikasi dengan mengupload versi "draf" yang tidak dipublikasikan. Fungsionalitas ini sudah tidak lagi didukung. Namun, Anda dapat menguji aplikasi Anda dengan respons statis bahkan sebelum Anda menguploadnya ke Google Play Store. Untuk informasi lebih lanjut, lihat Menguji dengan respons statis.

Ada tiga ID produk khusus untuk menguji respons Layanan Penagihan Google Play statis:

  • android.test.purchased

    Saat Anda membuat permintaan Layanan Penagihan Google Play dengan ID produk ini, Google Play merespons seolah-olah Anda telah berhasil membeli item. Respons tersebut menyertakan string JSON, yang berisi informasi pembelian palsu (misalnya, ID pesanan palsu).

  • android.test.canceled

    Saat Anda membuat permintaan Layanan Penagihan Google Play dengan ID produk ini, Google Play merespons seolah-olah pembelian dibatalkan. Hal dapat ini terjadi saat error ditemukan dalam proses pemesanan, seperti kartu kredit yang tidak valid, atau saat Anda membatalkan pesanan pengguna sebelum dikenai biaya.

  • android.test.item_unavailable

    Saat Anda membuat permintaan Layanan Penagihan Google Play dengan ID produk ini, Google Play merespons seolah-olah barang yang dibeli tidak tercantum dalam daftar produk aplikasi Anda.

Untuk membuat permintaan Layanan Penagihan Google Play dengan ID produk khusus, buat permintaan REQUEST_PURCHASE biasa, tetapi sebagai ganti menggunakan ID produk yang sebenarnya dari daftar produk aplikasi Anda, gunakan salah satu ID produk khusus.

Untuk menguji aplikasi Anda menggunakan ID produk khusus, ikuti langkah-langkah berikut:

  1. Ubah aplikasi Anda sehingga menggunakan salah satu dari tiga ID produk khusus selama alur pembelian. Untuk informasi tentang menggunakan ID produk untuk melakukan pembelian, buka Mengaktifkan pembelian produk dalam aplikasi.
  2. Instal aplikasi Anda di perangkat Android.

    Anda tidak dapat menggunakan emulator untuk menguji Layanan Penagihan Google Play; Anda harus menginstal aplikasi pada perangkat untuk menguji Layanan Penagihan Google Play.

    Untuk mempelajari cara menginstal aplikasi pada perangkat, lihat Menjalankan pada perangkat.

  3. Login ke perangkat Anda dengan akun developer.

    Anda tidak perlu menggunakan akun pengujian jika Anda hanya menguji dengan ID produk khusus.

  4. Pastikan perangkat Anda menjalankan versi aplikasi Google Play yang didukung atau aplikasi MyApps.

    Jika perangkat Anda menjalankan Android 3.0, Layanan Penagihan Google Play memerlukan versi 5.0.12 (atau yang lebih tinggi) dari aplikasi MyApps. Jika perangkat Anda menjalankan versi Android lainnya, Layanan Penagihan Google Play memerlukan aplikasi Google Play versi 2.3.4 (atau yang lebih tinggi). Untuk memeriksa versi aplikasi Google Play, luncurkan aplikasi, lalu buka menu Setelan dan scroll ke bawah untuk melihat informasi versi.

  5. Jalankan aplikasi Anda dan lakukan pembelian menggunakan ID produk khusus. Kode di onPurchasesUpdated() Anda seharusnya menangani respons statis dengan benar. Untuk informasi yang mengimplementasikan onPurchasesUpdated(), buka Mengaktifkan pembelian produk dalam aplikasi.
  6. Uji ulang dengan id produk khusus lainnya.

Catatan: Membuat permintaan Layanan Penagihan Google Play dengan ID produk khusus mengganti sistem produksi Google Play yang biasanya. Saat Anda mengirim permintaan Layanan Penagihan Google Play untuk ID produk khusus, kualitas layanan tidak dapat dibandingkan dengan lingkungan produksi.

Menguji alur pembelian lengkap

Setelah menyelesaikan pengujian respons statis, dan Anda memverifikasi bahwa verifikasi tanda tangan berfungsi di aplikasi Anda, Anda dapat menguji implementasi Layanan Penagihan Google Play dengan melakukan pembelian dalam aplikasi yang sebenarnya. Menguji pembelian dalam aplikasi memungkinkan Anda menguji pengalaman Layanan Penagihan Google Play menyeluruh, termasuk pembelian sebenarnya dari Google Play dan alur pembayaran sebenarnya yang akan dilakukan pengguna di aplikasi Anda.

Catatan: Anda dapat melakukan pengujian aplikasi secara menyeluruh dengan memublikasikannya ke track pengujian tertutup. Ini memungkinkan Anda untuk memublikasikan aplikasi ke Google Play Store, tetapi membatasi ketersediaannya hanya kepada penguji yang Anda tetapkan.

Untuk menguji implementasi Layanan Penagihan Google Play Anda dengan pembelian dalam aplikasi yang sebenarnya, Anda harus menggunakan akun pengujian. Secara default, satu-satunya akun pengujian yang terdaftar adalah yang terkait dengan akun developer Anda. Anda dapat mendaftarkan akun pengujian tambahan dengan menggunakan Konsol Google Play. Jika Anda belum menyiapkan akun pengujian sebelumnya, lihat Menyiapkan akun pengujian.

Akun pengujian dapat membeli item dalam daftar produk Anda hanya jika item tersebut dipublikasikan.

Untuk menguji implementasi Layanan Penagihan Google Play Anda dengan pembelian yang sebenarnya, ikuti langkah-langkah berikut:

  1. Upload aplikasi Anda ke track pengujian tertutup di Konsol Play.

    Catatan: Setelah aplikasi awal Anda diupload, penguji lisensi dapat melakukan pembelian dari versi pengembangan aplikasi Anda tanpa perlu mengupload ke Konsol Play. Ini memungkinkan Anda untuk menggunakan build bertanda debug dan membuat perubahan tanpa perlu mengupload versi baru setiap saat.

    Catatan: Sebelumnya Anda dapat menguji aplikasi dengan mengupload versi "draf" yang tidak dipublikasikan. Fungsi ini tidak lagi didukung. Sebagai gantinya, Anda harus memublikasikan aplikasi Anda ke track pengujian tertutup atau terbuka. Untuk informasi lebih lanjut, lihat Aplikasi Draf yang Tidak Lagi Didukung.

  2. Buat produk dalam aplikasi Anda di Konsol Play. Untuk detail lebih lanjut, baca Membuat produk sekali pakai dan Membuat langganan
  3. Instal aplikasi Anda di perangkat Android. Anda tidak dapat menggunakan emulator untuk menguji Layanan Penagihan Google Play. Untuk mempelajari cara menginstal aplikasi pada perangkat, lihat Menjalankan aplikasi Anda di perangkat.
  4. Pastikan perangkat Anda menjalankan versi aplikasi Google Play yang didukung atau aplikasi MyApps. Jika perangkat Anda menjalankan Android 3.0, Layanan Penagihan Google Play memerlukan aplikasi MyApps versi 5.0.12 (atau yang lebih tinggi). Jika perangkat Anda menjalankan versi Android lainnya, Layanan Penagihan Google Play memerlukan aplikasi Google Play versi 2.3.4 (atau yang lebih tinggi). Untuk mempelajari cara memeriksa versi aplikasi Google Play, lihat Mengupdate Google Play.
  5. Lakukan pembelian dalam aplikasi di aplikasi Anda.

Catatan: Satu-satunya cara untuk mengubah akun utama pada perangkat adalah dengan melakukan reset ke setelan pabrik, pastikan Anda login dengan akun utama Anda terlebih dahulu.

Melakukan pengujian pengguna aplikasi Layanan Penagihan Google Play

Menyiapkan akun pengujian

Untuk menyiapkan akun penguji:

  1. Gunakan Konsol Play untuk mengupload dan memublikasikan produk dalam aplikasi yang ingin Anda tawarkan kepada penguji. Harap perhatikan bahwa Anda dapat mengupload dan memublikasikan item dalam aplikasi sebelum memublikasikan APK itu sendiri.
  2. Gunakan Konsol Play untuk membuat akun penguji lisensi:
    1. Buka Setelan > Detail akun
    2. Di bagian Pengujian Lisensi, tambahkan alamat email penguji Anda ke kolom Akun Gmail dengan akses pengujian.
    3. Simpan perubahan. Penguji dapat mulai melakukan pembelian produk dalam aplikasi Anda dalam waktu 15 menit.

Catatan: Akun pengujian harus berada di perangkat Android penguji. Jika perangkat memiliki lebih dari satu akun, pembelian akan dilakukan oleh akun yang digunakan untuk mendownload aplikasi. Jika tidak ada akun yang digunakan untuk mendownload aplikasi, pembelian dilakukan dengan akun pertama. Pengguna dapat melakukan konfirmasi terhadap akun yang melakukan pembelian dengan meluaskan dialog pembelian.

Memberikan petunjuk kepada penguji untuk melakukan pengujian pembelian

Setelah akun pengujian disiapkan, Anda dapat memberikan petunjuk kepada pengguna untuk melakukan pengujian pembelian. Berikut ini adalah beberapa detail tentang proses pengujian pembelian:

  • Pengguna akan menggunakan alur pembelian aplikasi yang sama dengan yang digunakan oleh pengguna reguler.
  • Pengguna harus melakukan setidaknya dua pembelian, satu dengan metode pembayaran "selalu setujui" dan satu dengan metode pembayaran "selalu ditolak". Pengujian metode pembayaran tersebut memungkinkan Anda untuk memastikan aplikasi bereaksi dengan semestinya ketika pembayaran disetujui atau ditolak. Gambar 1 menunjukkan pengujian metode pembayaran seperti yang akan muncul dalam alur pembelian:
    Gambar 1. Opsi instrumen pengujian metode pembayaran untuk pengguna uji lisensi.
    Hanya dua metode pembayaran tersebut yang tersedia bagi penguji berlisensi. Ketika menggunakan metode pembayaran ini, alur pembelian akan menampilkan hasilnya secara langsung.
  • Pajak tidak dihitung untuk pengujian pembelian.
  • Penguji berlisensi tidak akan ditagih untuk pembelian mereka.
  • Google Play mengindikasikan pengujian pembelian dengan menampilkan pemberitahuan di bagian tengah dialog pembelian.

Catatan: Jika Anda ingin menjalankan beberapa pengujian pembelian untuk produk dalam aplikasi yang sama, tandai item tersebut setelah setiap pembelian. Untuk melakukannya, panggil consumeAsync().

Pengujian dengan akun yang sebenarnya

Ketika bersiap meluncurkan aplikasi yang menggunakan Layanan Penagihan Google Play, Anda dapat memanfaatkan opsi rilis tertutup atau terbuka Google Play untuk melakukan validasi dan pengujian beban pada implementasi sebelum mendistribusikan aplikasi ke semua pengguna Anda.

Dengan grup pengujian tertutup atau terbuka, pengguna dapat menginstal aplikasi Anda dari Google Play dan menguji produk dalam aplikasi Anda. Pengguna dapat melakukan pembelian nyata yang dikenakan biaya di akunnya dan menggunakan metode pembayaran apa pun yang biasanya mereka gunakan di Google Play.

Catatan: Jika Anda menyertakan akun lisensi pengujian dalam grup distribusi pengujian tertutup dan terbuka, pengguna tersebut hanya akan dapat melakukan pengujian pembelian.

Menguji fitur sekali pakai khusus produk

Menguji promosi dalam aplikasi

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

Pengguna menukarkan kode promosi dalam aplikasi

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

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 promosi untuk aplikasi yang tidak diinstal pada perangkat, Play Store akan meminta pengguna untuk menginstal aplikasi. (Jika aplikasi telah diinstal tetapi tidak update, 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. Verifikasi bahwa pada saat dimulai, aplikasi memanggil getPurchases() dan mendeteksi dengan benar pembelian yang dilakukan pengguna dengan kode promosi.
Aplikasi telah diinstal, tetapi tidak berjalan

Jika pengguna menukarkan kode promosi untuk aplikasi yang telah diinstal pada perangkat, Play Store akan meminta pengguna untuk beralih ke aplikasi tersebut. Uji urutan berikut pada perangkat yang telah menginstal aplikasi Anda, tetapi tidak dapat 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. Verifikasi bahwa pada saat dimulai, aplikasi memanggil getPurchases() dan mendeteksi dengan benar pembelian yang dilakukan pengguna dengan kode promosi.
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. Verifikasi bahwa aplikasi telah terdaftar dengan benar untuk menerima intent PURCHASES_UPDATED.
  2. Pengguna meluncurkan aplikasi Play Store, baik secara manual maupun menggunakan URL yang dihasilkan yang berisi kode promosi, dan menukar kode promosi untuk aplikasi tersebut. Play Store mengaktifkan intent PURCHASES_UPDATED. Verifikasi bahwa callback BroadcastReceiver.onReceive() diaktifkan untuk menangani intent tersebut.
  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 promosi.
  4. Pengguna beralih kembali ke aplikasi Anda. Verifikasi bahwa pengguna memiliki item yang dibeli.

Menguji fitur berlangganan khusus.

Alur pembelian untuk produk sekali pakai dan langganan serupa, tetapi langganan memiliki skenario tambahan, seperti perpanjangan langganan yang berhasil atau ditolak. Untuk membantu menguji aplikasi dengan kedua situasi tersebut, Anda dapat menggunakan metode pembayaran "Instrumen uji, selalu setuju" dan "Instrumen uji, selalu tolak". Gunakan instrumen pembayaran ini untuk menguji skenario di luar skenario langganan yang berhasil.

Menguji perpanjangan langganan

Uji perpanjangan langganan lebih cepat dari biasanya untuk membantu dalam pengujian. Tabel berikut menunjukkan pengujian waktu perpanjangan untuk berbagai durasi langganan.

Catatan: Waktu ini merupakan hasil perkiraan; Anda mungkin melihat beberapa variasi kecil dalam waktu akuratnya dari suatu peristiwa. Sebagai kompensasi variasi, panggil API untuk melihat status saat ini setelah tiap tanggal habis masa berlaku langganan.

Periode langganan produksiPengujian perpanjangan langganan
1 minggu5 menit
1 bulan5 menit
3 bulan10 menit
6 bulan15 menit
1 tahun30 menit

Catatan: Pengujian langganan akan diperpanjang maksimal 6 kali.

Fitur berbasis waktu yang tersedia untuk langganan, seperti uji coba gratis, juga dipersingkat untuk pengujian. Tabel berikut menampilkan jangka waktu pengujian yang terkait dengan fitur berlangganan berbasis waktu:

FiturJangka waktu pengujian
Uji coba gratis3 menit
Jangka waktu harga perkenalanSama dengan jangka waktu pengujian langganan
Masa tenggang (3 dan 7 hari) 5 menit
Penangguhan akun10 menit

Skenario pengujian frekuensi perpanjangan

Klik Tampilkan/Sembunyikan untuk menampilkan beberapa skenario pengujian yang menunjukkan interval pengujian frekuensi perpanjangan.

Membatalkan pengujian pembelian yang telah selesai

Google Play mengakumulasi pengujian pembelian yang telah selesai untuk setiap pengguna tetapi tidak meneruskannya ke proses pembayaran.

Pengujian pembelian tidak dibatalkan secara otomatis, sehingga Anda sebaiknya membatalkan pembelian pengujian secara manual untuk melanjutkan pengujian. Untuk melakukannya, buka halaman aplikasi di Play Store. Jika pengujian pembelian yang ingin Anda batalkan adalah pengujian langganan, Anda juga dapat menggunakan metode cancel() dari Purchases.subscription API.

Penting: Metode refund() dan revoke() dari Purchases.subscriptions API tidak mendukung pengujian pembelian.

Langkah Berikutnya

Ketika Anda selesai menguji implementasi Layanan Penagihan Google Play, Anda siap untuk memublikasikan aplikasi Anda di Google Play. Anda dapat mengikuti langkah-langkah seperti biasa untuk menyiapkan, menandatangani, dan memublikasikan di Google Play.