Error de aplicación: esta versión de la aplicación no está configurada para Market Billing

91

Desde hace un par de días, es posible utilizar la facturación en la aplicación en aplicaciones de Android. Muy guay, por supuesto. Entonces, comencé a trabajar en una actualización de mi aplicación para implementar esto. Pero ahora me encuentro con algunos problemas. Esto es lo que hice:

  • Primero probé los ID de producto reservados para probar las respuestas de facturación estáticas dentro de la aplicación. Eso funciona sin problemas.
  • Subí un borrador de APK al mercado (con firma de producción, sin firma de depuración), que incluía el permiso com.android.vending.BILLING.
  • Cuando hice eso, pude agregar un 'Productos integrados en la aplicación' a mi aplicación en el mercado y establecer su estado en publicado.
  • Creé un usuario de prueba y reinicié mi dispositivo para que ese usuario de prueba fuera la cuenta principal en mi dispositivo de prueba.
  • El ID de producto reservado todavía funciona.

Ahora viene el problema. Cuando utilizo mi propia ID de producto (la que agregué antes, ver arriba), se muestra un cuadro de diálogo con el siguiente texto:

" Error de aplicación: esta versión de la aplicación no está configurada para Market Billing. Consulte el centro de ayuda para obtener más información " .

No hay nada extraño que pueda encontrar en el registro. ¿Alguien sabe lo que estoy haciendo mal aquí?

Peter Fortuin
fuente

Respuestas:

157

Acabo de encontrar este problema y me di cuenta de que se debía a que estaba ejecutando una versión de depuración sin firmar de mi aplicación. En Eclipse, cuando exporté y firmé mi aplicación y la instalé en el teléfono, pude usar mis productos en la aplicación sin ver este mensaje de error.

esilver
fuente
8
Las versiones de depuración están bien, pero deben estar firmadas.
Barry Fruitman
1
¿Es esto necesario para publicar la aplicación para probar un elemento inApp? He publicado el elemento inapp y he mantenido la aplicación sin publicar. Me disculpo si la pregunta es tonta o no está relacionada.
Jana
@ jana no, no es necesario publicar la aplicación para probarla en la aplicación, pero sí, es necesario publicar el producto en la aplicación para que se publique; de ​​lo contrario, obtendrá un error en su dispositivo mientras prueba el producto en la aplicación "No se encontró el artículo "
Usman Kurd
21
Es importante tener en cuenta, como en algunas de las otras respuestas, el código de versión de su aplicación de prueba debe ser el mismo que el código de versión de su borrador en Google Play. Entonces, si comenzó con un marcador de posición v1 en Google Play, luego preparó la aplicación real como v2, esa aplicación real debe cargarse en GP como borrador antes de que pueda terminar de probarla.
Steve Haley
1
Las cosas han cambiado recientemente y ahora debe publicar su aplicación en el canal alfa en Google Play antes de que las pruebas de IAP puedan continuar.
10 de
43

Descubrí que una vez que subo una nueva copia de mi APK al mercado, experimento ese "error de aplicación" durante el transcurso de la siguiente hora. Después de que ha pasado al menos una hora (a veces es necesario que hayan pasado hasta dos horas), ya no recibo ese error y puedo comprar mis artículos sin ningún problema. Parece que los servidores de Google necesitan al menos una hora para procesar el hecho de que ha subido un nuevo APK (con respecto al aspecto de facturación InApp del APK).

Así que mi consejo es que espere de 1 a 2 horas después de cargar su APK, y luego vea si todavía aparece el "error de aplicación".

Simón K
fuente
Solo quería reafirmar que esta respuesta funcionó para mí. Recibía este error, aunque las versiones de la aplicación eran correctas. No hice nada más que esperar unas horas y comenzó a funcionar correctamente (no volví a ver el error).
Booger
4
Respaldaré eso: también me funcionó esperar un par de horas (en realidad, esperé durante la noche, así que no sé el momento exacto). Como pequeño comentario editorial, es frustrante que Google no pueda dar un mensaje de error más preciso para esto y ahorrarnos muchos problemas.
M Katz
¿Significa esto que soy usuario con una versión de la aplicación anterior a la actual, no puedo usar compras dentro de la aplicación y tengo que actualizar la aplicación primero?
Kedu
34

También me encontré con este problema. Finalmente me di cuenta de que mi aplicación publicada tenía un código de versión de 3, mi borrador (apk no publicado con el permiso de facturación) tenía un código de versión de 4 y el apk firmado que estaba usando para probar la facturación en la aplicación todavía estaba en el código de versión 3. Una vez que cambiado el versionCode a 4, pude acceder a la página del producto en la aplicación real para la compra que estaba solicitando.

Ashughes
fuente
22

Esto puede suceder en compilaciones firmadas y publicadas cuando el apk cargado como borrador no coincide con el apk que se ejecuta en su sistema en modo de prueba. Solo asegúrese de que sus compilaciones coincidan, debería estar bien en el modo de prueba y dejará de ver los errores.

La gran preocupación aquí es que veremos este mismo comportamiento en producción, es decir, lanzamos 1.0.0-1 con facturación en la aplicación, luego lanzamos 1.0.0-2, y los usuarios que ejecutan 1.0.0-1 serán no puede comprar o recuperar sus compras y recibirá el mismo error (muy mala experiencia de usuario). He estado revisando los documentos en busca de mención de este comportamiento como específico del modo de prueba, pero hasta ahora no hemos tenido suerte; agregamos un error aquí: http://code.google.com/p/marketbilling/issues/detail?id=15#c0

jen_h
fuente
3
+1 para obtener información adicional, pensar en el futuro y el enlace al hilo del error.
Bill The Ape
14

También encontré el mismo problema ... pero ahora el problema está resuelto

Mis observaciones basadas en algunos ensayos:

  1. El código de versión debe coincidir tanto en Google Play como en el dispositivo
  2. Aunque las versiones coincidan, es posible que recibamos este error.
  3. Espere de 1 a 2 horas y luego intente, no obtendremos este error

Espero que esto ayude

usuario1444172
fuente
1
También descubrí que el código de la versión debería coincidir. Al menos tu versión de prueba no puede ser superior a la de Google Play. No estoy seguro de si lo contrario también es cierto. Espero que no, porque eso significaría que las personas con una versión anterior de la aplicación no pueden usar mi facturación en la aplicación.
Peter Fortuin
# 3 fue el truco. Si está seguro de que todo está bien, tome un descanso e intente más tarde. Solo necesita algo de tiempo para actualizar :)
nuala
7

Copiado de la pregunta duplicada: https://stackoverflow.com/a/22469253/1321401

Este error puede ocurrir por varias razones.
Aquí está la lista de requisitos para las pruebas de Google IAB.

Prerrequisitos:

  1. AndroidManifest debe incluir el permiso "com.android.vending.BILLING" .
  2. APK está integrado en modo de lanzamiento .
  3. El APK está firmado con los certificados de lanzamiento .
  4. El APK se carga en el canal de distribución alfa / beta (anteriormente, como borrador) a la consola del desarrollador al menos una vez. (toma algo de tiempo ~ 2h-24h ).
  5. Los productos IAB se publican y su estado se establece en activo .
  6. Las cuentas de prueba se agregan en la consola del desarrollador.

Requisitos de prueba:

  1. El APK de prueba tiene el mismo código de versión que el que se cargó en la consola del desarrollador.
  2. El APK de prueba está firmado con los mismos certificados que el que se cargó en dev.console.
  3. Cuenta de prueba (no de desarrollador): es la cuenta principal del dispositivo.

PD: Depuración con certificado de versión : https://stackoverflow.com/a/15754187/1321401 (Thnx @dipp para el enlace)

PPS: Quería hacer esta lista desde hace mucho tiempo.

Thnx @zlgdev para actualizar

Luten
fuente
1
El versionCode me consiguió, ¿por qué es necesario?
slott
5

Mi solución fue que necesitaba usar la misma clave para firmar apk en Market (como borrador de APK) y en prueba. Entonces, en lugar de solo ejecutar la aplicación, siempre tengo que exportar el APK firmado con cada actualización, desinstalarlo y reinstalarlo en el dispositivo usando los comandos de la línea de comandos de apk. En principio, también puede usar su propio almacén de claves como almacén de claves de depuración, pero requiere el uso de contraseñas y nombres específicos codificados para las claves.

JaakL
fuente
0

Pensé en compartir una posible solución más si recibe este error. Originalmente subí a Google un borrador de mi apk con el permiso de facturación habilitado, así que pude configurarlo en aplicaciones comprables. Más tarde, cargué otra apk sin el permiso de facturación que faltaba en mi AndroidManifest, lo que resultó en el error. Definitivamente parece un caso poco probable, pero me sucedió así que es posible.

Editar: en el mismo pliegue, si la versión que envió como borrador a Google no está firmada, también se producirá el error.

usuario1174195
fuente
0

Para aportar mis dos centavos, pude probarlo subiendo a la versión Beta y creando una cuenta de Gmail con acceso de prueba en la pestaña de configuración con una nueva versión de mi aplicación ...

Ahora lo estoy moviendo a producción ...

¡Gracias! Nathan

Nathan Prather
fuente
-2

Hilo antiguo, pero agregando mi experiencia ...

Instalé un apk con un código de versión 1 superior al que estaba en la tienda. Lo jugué en 2 cuentas diferentes en mi Nexus 7 y experimenté este problema. Así que desinstalé y volví a instalar de la tienda para asegurarme de que el código de versión coincidiera. Incluso esperando durante la noche, el error no desapareció.

Resulta que necesitaba desinstalar de las 3 cuentas de Google que he vinculado a mi Nexus 7. Se recuperó cuando desinstalé la aplicación explícitamente de las tres cuentas en mi Nexus 7 y luego la reinstalé desde la tienda.

Farrell
fuente