Kesalahan Aplikasi: Versi aplikasi ini tidak dikonfigurasi untuk Penagihan Pasar

91

Sejak beberapa hari dimungkinkan untuk menggunakan penagihan dalam aplikasi di aplikasi Android. Sangat keren tentunya. Jadi, saya mulai mengerjakan pembaruan untuk aplikasi saya untuk menerapkan ini. Tapi sekarang saya mengalami beberapa masalah. Inilah yang saya lakukan:

  • Saya pertama kali mencoba ID produk khusus untuk menguji respons penagihan dalam aplikasi statis. Itu bekerja tanpa masalah.
  • Saya mengunggah APK draf ke pasar (dengan penandatanganan produksi, tidak ada penandatanganan debug), yang menyertakan izin com.android.vending.BILLING.
  • Ketika saya melakukannya, saya dapat menambahkan 'Produk Dalam Aplikasi' ke aplikasi saya di pasar dan menyetelnya ke status dipublikasikan.
  • Saya membuat pengguna uji dan menyetel ulang perangkat saya untuk menjadikan pengguna uji tersebut sebagai akun utama di perangkat uji saya.
  • ID produk yang dipesan masih berfungsi.

Sekarang masalahnya. Ketika saya menggunakan ID produk saya sendiri (yang saya tambahkan sebelumnya, lihat di atas) sebuah dialog ditampilkan dengan teks berikut:

" Kesalahan Aplikasi: Versi aplikasi ini tidak dikonfigurasi untuk Penagihan Pasar. Periksa pusat bantuan untuk informasi lebih lanjut. "

Tidak ada yang aneh yang bisa saya temukan di log. Ada yang tahu apa yang saya lakukan salah di sini?

Peter Fortuin
sumber

Jawaban:

157

Saya baru saja mengalami masalah ini dan menyadari itu karena saya menjalankan debug, versi aplikasi saya yang tidak ditandatangani. Di Eclipse, ketika saya mengekspor dan menandatangani aplikasi saya dan menginstalnya di ponsel, maka saya dapat menggunakan produk dalam aplikasi saya tanpa melihat pesan kesalahan ini.

esilver
sumber
8
Versi debug baik-baik saja tetapi harus ditandatangani.
Barry Fruitman
1
apakah ini perlu untuk menerbitkan aplikasi untuk menguji item inApp. Saya telah menerbitkan item aplikasi dan membiarkan aplikasi tidak diterbitkan. saya minta maaf jika pertanyaannya konyol atau tidak berhubungan.
Jana
@ jana tidak tidak perlu mempublikasikan aplikasi untuk pengujian dalam aplikasi tapi ya ada kebutuhan untuk mempublikasikan produk dalam aplikasi untuk diterbitkan jika tidak, Anda akan mendapatkan kesalahan pada perangkat Anda saat menguji produk dalam aplikasi "Item tidak ditemukan "
Usman Kurd
21
Penting untuk diperhatikan, seperti di beberapa jawaban lain - kode versi aplikasi uji Anda harus sama dengan kode versi draf Anda di Google Play. Jadi, jika Anda memulai dengan placeholder v1 di Google Play, lalu persiapkan aplikasi sebenarnya sebagai v2 - aplikasi asli tersebut harus diunggah ke GP sebagai draf sebelum Anda dapat menyelesaikannya.
Steve Haley
1
Banyak hal baru-baru ini berubah, dan Anda sekarang perlu memublikasikan aplikasi Anda ke saluran alfa di google play sebelum pengujian IAP dapat dilanjutkan.
tenpn
43

Saya menemukan bahwa setelah saya mengunggah salinan baru APK saya ke pasar, maka saya mengalami "kesalahan aplikasi" selama sekitar satu jam berikutnya. Setelah setidaknya satu jam berlalu (terkadang hingga dua jam harus berlalu), maka saya tidak lagi mendapatkan kesalahan itu lagi dan saya kemudian dapat membeli item saya tanpa masalah. Tampaknya server Google membutuhkan setidaknya satu jam untuk memproses fakta bahwa Anda telah mengunggah APK baru (berkaitan dengan aspek Penagihan InApp APK).

Jadi saran saya adalah Anda menunggu 1 hingga 2 jam setelah mengunggah APK Anda, dan kemudian lihat apakah Anda masih mendapatkan "kesalahan aplikasi".

Simon K
sumber
Saya hanya ingin menegaskan kembali bahwa jawaban ini berhasil untuk saya. Saya mendapatkan kesalahan ini - meskipun versi aplikasinya benar. Saya tidak melakukan apa pun selain menunggu beberapa jam, dan itu mulai bekerja dengan benar (saya tidak melihat kesalahan lagi).
Booger
4
Saya akan setuju: itu berhasil bagi saya juga untuk menunggu beberapa jam (sebenarnya menunggu semalaman jadi saya tidak tahu waktu yang tepat). Sebagai komentar editorial kecil, sangat mengesalkan karena Google tidak dapat memberikan pesan kesalahan yang lebih akurat untuk ini dan menyelamatkan kita dari banyak masalah.
M Katz
Apakah ini berarti, saya pengguna dengan versi aplikasi yang lebih lama dari yang sekarang, tidak dapat menggunakan pembelian dalam aplikasi, dan harus memperbarui aplikasi terlebih dahulu?
Kedu
34

Saya juga mengalami masalah ini. Saya akhirnya menyadari bahwa aplikasi saya yang diterbitkan memiliki versionCode 3, draf saya (apk tidak dipublikasikan dengan izin Penagihan) memiliki versionCode 4, dan apk bertanda tangan yang saya gunakan untuk menguji penagihan dalam aplikasi masih menggunakan versionCode 3. Setelah saya mengubah versionCode menjadi 4, saya bisa membuka halaman produk dalam aplikasi yang sebenarnya untuk pembelian yang saya minta.

ashughes
sumber
22

Hal ini dapat terjadi pada build yang ditandatangani dan dirilis saat apk yang diupload sebagai draf tidak cocok dengan apk yang berjalan di sistem Anda dalam mode pengujian. Pastikan saja build Anda cocok, Anda akan baik-baik saja dalam mode pengujian dan akan berhenti melihat error.

Kekhawatiran terbesar di sini adalah kita akan melihat perilaku yang sama dalam produksi, yaitu, kita merilis 1.0.0-1 dengan penagihan dalam aplikasi, lalu kita merilis 1.0.0-2, dan pengguna yang menjalankan 1.0.0-1 akan tidak dapat membeli atau memulihkan pembeliannya dan akan menerima kesalahan yang sama (pengalaman pengguna yang sangat buruk). Telah menjelajahi dokumen untuk menyebutkan perilaku ini sebagai khusus untuk mode uji, tetapi sejauh ini tidak berhasil; kami telah menambahkan bug di sini: http://code.google.com/p/marketbilling/issues/detail?id=15#c0

jen_h
sumber
3
1 untuk informasi tambahan, pemikiran ke depan dan tautan ke utas bug.
Bill The Ape
14

Saya juga mengalami masalah yang sama ... tetapi sekarang masalah telah terpecahkan

Pengamatan saya berdasarkan beberapa percobaan:

  1. Kode versi harus cocok di Google Play dan Perangkat
  2. Meskipun versinya cocok, kami mungkin masih mendapatkan kesalahan ini
  3. Tunggu sekitar 1 hingga 2 jam kemudian coba, kami tidak akan mendapatkan kesalahan ini

Semoga ini membantu

pengguna1444172
sumber
1
Saya juga menemukan bahwa kode versi harus cocok. Setidaknya versi pengujian Anda tidak bisa lebih tinggi dari yang di Google Play. Saya tidak yakin apakah sebaliknya juga benar. Saya harap tidak, karena itu berarti orang dengan versi aplikasi yang lebih lama tidak dapat menggunakan penagihan dalam aplikasi saya.
Peter Fortuin
# 3 adalah triknya. Jika Anda yakin semuanya baik-baik saja, istirahatlah dan coba nanti. Hanya perlu waktu untuk memperbarui :)
nuala
7

Disalin dari pertanyaan duplikat: https://stackoverflow.com/a/22469253/1321401

Kesalahan ini dapat terjadi karena beberapa alasan.
Berikut adalah daftar persyaratan untuk pengujian IAB Google.

Prasyarat:

  1. AndroidManifest harus menyertakan izin "com.android.vending.BILLING" .
  2. APK dibuat dalam mode rilis .
  3. APK ditandatangani dengan sertifikat rilis .
  4. APK diunggah ke saluran distribusi alfa / beta (sebelumnya - sebagai draf) ke konsol pengembang setidaknya sekali. (membutuhkan waktu ~ 2h-24h ).
  5. Produk IAB diterbitkan dan statusnya disetel ke aktif .
  6. Akun percobaan ditambahkan di konsol pengembang.

Persyaratan pengujian:

  1. APK pengujian memiliki versionCode yang sama dengan yang diunggah ke konsol pengembang.
  2. APK pengujian ditandatangani dengan sertifikat yang sama dengan yang diunggah ke dev.console.
  3. Akun percobaan (bukan pengembang) - adalah akun utama di perangkat.

PS: Debugging dengan sertifikat rilis : https://stackoverflow.com/a/15754187/1321401 (Thnx @dipp untuk tautannya)

PPS: Ingin membuat daftar ini sejak lama.

Thnx @zlgdev untuk pembaruan

Luten
sumber
1
VersionCode mendapatkan saya - mengapa ini diperlukan?
slott
5

Solusi saya adalah saya perlu menggunakan kunci yang sama untuk menandatangani apk di Market (sebagai draf APK), dan dalam pengujian. Jadi, alih-alih hanya Jalankan Aplikasi, saya selalu harus mengekspor APK yang ditandatangani dengan setiap pembaruan, hapus instalan dan instal ulang di perangkat menggunakan perintah baris perintah apk. Pada prinsipnya, Anda juga dapat menggunakan keystore Anda sendiri sebagai keystore debug, tetapi perlu menggunakan sandi dan nama hardcode khusus untuk kunci.

JaakL
sumber
0

Pikir saya akan membagikan satu solusi lagi yang mungkin jika Anda mendapatkan kesalahan ini. Saya awalnya mengunggah ke Google draf apk saya dengan izin penagihan diaktifkan, jadi saya dapat menyiapkan di app yang dapat dibeli. Kemudian saya mengunggah apk lain tanpa izin penagihan hilang dari AndroidManifest saya, yang mengakibatkan kesalahan. Jelas tampak seperti kasus yang tidak mungkin, tetapi itu terjadi pada saya jadi itu mungkin.

Edit: Di paro yang sama, jika versi yang Anda kirimkan sebagai draf ke google tidak ditandatangani, kesalahan juga akan terjadi.

pengguna1174195
sumber
0

Untuk memasukkan dua sen saya, saya dapat mengujinya dengan mengunggah ke versi Beta dan membuat akun Gmail dengan akses pengujian di bawah tab pengaturan dengan versi baru aplikasi saya ...

Saya sekarang memindahkannya ke produksi ...

Terima kasih! Nathan

Nathan Prather
sumber
-2

Utas lama, tetapi menambahkan pengalaman saya ...

Saya menginstal apk dengan versionCode 1 lebih tinggi daripada yang ada di toko. Memainkannya di 2 akun berbeda di Nexus 7 saya dan mengalami masalah ini. Jadi saya menghapus dan menginstal ulang dari toko untuk memastikan versionCode cocok. Bahkan menunggu semalaman kesalahan tidak jelas.

Ternyata saya perlu mencopot pemasangan dari semua 3 akun Google yang telah saya kaitkan dengan Nexus 7. Saya pulih ketika saya mencopot pemasangan aplikasi secara eksplisit dari ketiga akun di nexus 7 saya kemudian memasangnya kembali dari toko.

Farrell
sumber