¿Cuáles son las posibilidades de obtener este código de error 3 en la compra de InApp?

Estoy usando el código InApp V3 para las compras en la aplicación en mi aplicación, estoy recibiendo este error BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE y error value :3 cuando la cuenta de Google no está disponible en el dispositivo. Quiero saber si hay otras posibilidades para obtener este error, porque cuando recibo este error necesito mostrar un popup al usuario con algunos datos. Si esto está causando debido a la cuenta de Google no disponible en el dispositivo que va a mostrar el diálogo con el texto relacionado. este es el código que estoy usando

 mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() { public void onIabSetupFinished(IabResult result) { if (!result.isSuccess()) { // error here return; } } }); 

este es el error Error checking for billing v3 support. (response: 3:Billing Unavailable) Error checking for billing v3 support. (response: 3:Billing Unavailable)

Como podemos ver directamente en el código de la configuración de la IabHElper de la muestra proporcionada por google, el error significa:

"El servicio de facturación no está disponible en el dispositivo."

Como se puede leer aquí, el error significa

 Billing API version is not supported for the type requested 

Esta es la Referencia de facturación en la aplicación (IAB Version 3), por lo que el error significa que la IAB v3 no está instalada en el dispositivo.

En realidad esto significa que el usuario tiene una cuenta de google, y probablemente también un servicio de facturación en la aplicación, pero no tiene la última versión. Esto sucede en los dispositivos antiguos, y donde el usuario nunca actualiza nada, se utiliza para dispositivos en los que puede ver la antigua aplicación Market en lugar de la aplicación Play.

Así que el error que tiene que mostrar al usuario, y la prueba que tiene que realizar no es si el dispositivo tiene un acount google, pero si tiene los servicios de google play instalados y actualizados correctamente.

ACTUALIZAR:

Si buscas el código en todo el SDK de la biblioteca y las clases de ayuda proporcionadas por google, el único lugar donde podemos encontrarlo exactamente en la función que estás llamando: startSetup de la clase IabHelper

 Intent serviceIntent = new Intent( "com.android.vending.billing.InAppBillingService.BIND"); if (!mContext.getPackageManager().queryIntentServices(serviceIntent, 0) .isEmpty()) { // service available to handle that Intent mContext.bindService(serviceIntent, mServiceConn, Context.BIND_AUTO_CREATE); } else { // no service available to handle that Intent mServiceConn=null; if (listener != null) { listener.onIabSetupFinished(new IabResult( BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE, "Billing service unavailable on device.")); } } 

Esto significa que la aplicación no podría conectarse al servicio en el dispositivo, ya que el gestor de paquetes ni siquiera lo sabe . Esa es la única opción que puede desencadenar ese error. ¿Y qué significa que no podría conectar con el servicio? Significa uno de estos:

  • El dispositivo no tiene instalado el servicio.
  • Tiene una versión antigua, ya que sabemos que las últimas versiones de Play Store, utiliza el IAB v3.

Por lo tanto, su error sólo puede significar uno de esto, que para usted significa que usted tiene que mostrar una mesagge al usuario como "No tienes google play servicios instalados, o tienes que actualizarlo". Y no hay otras posibilidades o conseguir ese error.

Sin embargo, si desea facilitar la tarea a los usuarios, puede decir que deben actualizar la aplicación de Google Play a la última versión . Y eso hará que todo funcione como un encanto.

Este error también se recibe después de que el usuario quita su cuenta de google del dispositivo.

Principalmente la posibilidad de su problema BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE es que En algunos países aún no se permite la compra de aplicaciones como Serbia y muchos países.

Por lo tanto, cualquier usuario del país en el que Google Play no admita Compra en la aplicación y obtendrá BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE .

Esto tendría menos posibilidades de que el usuario no tenga actualizado Google Play Service instalado en el teléfono, así que no te preocupes por este caso.

Pruebe este hacks

Quitar la caché, datos y actualizaciones para la aplicación de reproducción, reinició la aplicación de reproducción de nuevo que debería funcionar! o intentar con las últimas actualizaciones (si es fijo)

FYI:

Sólo tenga en cuenta:

  • IABv3 está integrado en los servicios de Google Play, por lo que se requiere una actualización de Play Services apk.

  • V2 se ha incorporado al propio cliente de Play Store. El problema de caché / EULA no está específicamente relacionado con IAB, está relacionado con la configuración de Play Services (y espero que sea innecesario para la mayoría de los usuarios, la parte de caché de todos modos).

  • Es una lástima estar en este período de transición donde Play Services tiene que actualizarse antes de que tu aplicación pueda aprovecharlo, pero creo que la mayoría de la gente estaría de acuerdo en que es mejor que esperar por una actualización del sistema operativo.

Ver esta referencia: informe de error , publicación de G +

En algún momento si no ha autenticado su dispositivo con la cuenta de Google, puede recibir este error.

Para cualquier persona que aún enfrenta este problema, en la mayoría de los casos iab no es compatible con su país, como dijo Williams. Puede utilizar una VPN para que funcione.

  • Determinar la fecha de compra original de una aplicación de Android
  • Esta es una orden de prueba, no se le cobrará
  • Preguntas relacionadas con la seguridad y el diseño de la facturación en la aplicación
  • Límite máximo de artículos en la facturación de la aplicación o en la compra de la aplicación
  • ClassNotFoundException: com.google.android.finsky.billing.lightpurchase.PurchaseParams
  • ¿Cómo comprobar si el usuario pagó en android?
  • Juego para móviles con Unity - Plugin para compra en la aplicación
  • ¿Cómo podría comprobar mediante programación si el usuario que está tratando de comprar en el elemento de facturación de la aplicación es su editor?
  • Android InApp Billing - ¿para qué son realmente nociosos?
  • ¿Cómo utilizar la Biblioteca de facturación de Android?
  • Cómo solucionar los defectos de la lógica de adquisición de la API de los consumibles en la API de facturación de Google Play v3 (relevante para todos los consumibles con API v3)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.