Gestionar errores en el SDK de Android

Cada error devuelto por el SDK es de tipo AdaptyError.

Tip

Activa los logs detallados antes de depurar. La mayoría de los AdaptyError envuelven un error subyacente de Play Billing, de red o del backend. Con los logs detallados activados (Adapty.logLevel = AdaptyLogLevel.VERBOSE — consulta Logging), ese error envuelto se imprime en la consola, lo que normalmente te indica la causa real.

Important

Si estas soluciones no resuelven tu problema, consulta Otros problemas para ver los pasos que debes seguir antes de contactar con el soporte y así ayudarnos a asistirte de forma más eficiente.

ErrorSolución
UNKNOWNEste error indica que ocurrió un error desconocido o inesperado.
ITEM_UNAVAILABLEEste error ocurre principalmente durante la fase de pruebas. Puede significar que los productos no están en producción o que el usuario no pertenece al grupo de Testers en Google Play.
ADAPTY_NOT_INITIALIZEDEl SDK de Adapty no está activado.
Se produce habitualmente cuando una splash screen o un hook de UI temprano llama a métodos de Adapty antes de que Adapty.activate haya terminado. El síntoma es intermitente y puede no reproducirse en un emulador porque el timing en dispositivos reales es diferente. Espera a que Adapty.activate complete antes de programar cualquier otra llamada al SDK. Consulta Orden de llamadas en el SDK de Android para ver la secuencia completa. También debes configurar el SDK de Adapty correctamente usando el método Adapty.activate.
PROFILE_WAS_CHANGEDEl perfil de usuario cambió durante la operación.
Esto ocurre cuando se llama a un método mientras Adapty.identify todavía está en curso: la llamada en vuelo aterriza en un perfil que está a punto de ser reemplazado y el SDK la rechaza. Espera a que Adapty.identify complete antes de programar otras llamadas al SDK. Consulta Orden de llamadas en el SDK de Android.
PRODUCT_NOT_FOUNDEste error indica que el producto solicitado para la compra no está disponible en el store.

CURRENT_SUBSCRIPTION_TO_UPDATE

_NOT_FOUND_IN_HISTORY

La suscripción original que debe reemplazarse no se encuentra entre las suscripciones activas.
BILLING_SERVICE_TIMEOUTEste error indica que la solicitud alcanzó el tiempo máximo de espera antes de que Google Play pudiera responder. Esto puede deberse, por ejemplo, a un retraso en la ejecución de la acción solicitada por la llamada a la Play Billing Library.
FEATURE_NOT_SUPPORTEDLa función solicitada no es compatible con el Play Store en el dispositivo actual.
BILLING_SERVICE_DISCONNECTEDEste error indica que la conexión de la app cliente al servicio de Google Play Store mediante BillingClient se ha interrumpido.
BILLING_SERVICE_UNAVAILABLEEste error indica que el servicio de facturación de Google Play no está disponible en este momento. En la mayoría de los casos, significa que hay un problema de conexión de red en algún punto entre el dispositivo cliente y los servicios de facturación de Google Play.
BILLING_UNAVAILABLE

Este error indica que ocurrió un problema de facturación durante el proceso de compra. Las posibles causas son:

1. La app de Play Store en el dispositivo del usuario falta o está desactualizada.

2. El usuario se encuentra en un país no compatible.

3. El usuario forma parte de una cuenta empresarial donde el administrador ha desactivado las compras.

4. Google Play no pudo cobrar el método de pago del usuario (por ejemplo, una tarjeta de crédito caducada).

5. El usuario no ha iniciado sesión en la app de Play Store.

DEVELOPER_ERROREste error indica que estás usando una API de forma incorrecta.
BILLING_ERROREste error indica un problema interno con el propio Google Play.
ITEM_ALREADY_OWNEDEl producto ya ha sido comprado.
ITEM_NOT_OWNEDEste error indica que la acción solicitada sobre el artículo falló porque el usuario no es su propietario.
BILLING_NETWORK_ERROREste error indica que hubo un problema con la conexión de red entre el dispositivo y los sistemas de Play.
NO_PRODUCT_IDS_FOUND

Este error indica que ninguno de los productos del paywall está disponible en el store.

Si encuentras este error, sigue los pasos a continuación para resolverlo:

  1. Comprueba que todos los productos se han añadido al Adapty Dashboard.
  2. Asegúrate de que el Package name de tu app coincide con el del Google Play Console.
  3. Verifica que los identificadores de producto de los stores coinciden con los que has añadido al Dashboard. Ten en cuenta que los identificadores no deben incluir el Bundle ID, a menos que ya esté incluido en el store.
  4. Confirma que el estado de pago de la app es Active en tu configuración fiscal de Google. Asegúrate de que tu información fiscal esté actualizada y que tus certificados sean válidos.
  5. Comprueba que hay una cuenta bancaria vinculada a la app para que pueda ser apta para monetización.
  6. Verifica si los productos están disponibles en tu región.
  7. Asegúrate de que tu app está en alguno de los tracks de prueba. El track Internal testing es la opción más sencilla, ya que no requiere revisión y mantiene la app oculta para los usuarios.
NO_PURCHASES_TO_RESTOREObsoleto en Adapty Android SDK 3.17.3 y 4.0.2: restorePurchases() ya no devuelve este error. Cuando no hay nada que restaurar, el método finaliza correctamente con el perfil actual, por lo que debes comprobar el estado del nivel de acceso en él. En versiones anteriores del SDK, este error indica que Google Play no encontró la compra a restaurar.
AUTHENTICATION_ERRORDebes configurar el SDK de Adapty correctamente mediante el método Adapty.activate.
BAD_REQUESTSolicitud incorrecta.
Asegúrate de haber completado todos los pasos necesarios para integrarte con Google Play.
SERVER_ERRORError del servidor.
REQUEST_FAILEDEste error indica un problema de red que no se puede definir con precisión.
DECODING_FAILEDNo se pudo decodificar la respuesta.
Revisa tu código y asegúrate de que los parámetros que envías son válidos. Por ejemplo, este error puede indicar que estás usando una clave de API no válida.
ANALYTICS_DISABLEDNo podemos gestionar los eventos de analítica porque has desactivado esta opción.
WRONG_PARAMETER

Este error indica que alguno de tus parámetros no es correcto: está en blanco cuando no puede estarlo, es del tipo incorrecto, etc.

El SDK también devuelve este error cuando no puede leer un archivo de respaldo local, generalmente porque la versión del archivo no coincide con la versión del SDK. Descarga un archivo nuevo desde el dashboard.

LOGGING_OUT_UNIDENTIFIED_USERSe llamó a Adapty.logout() para un usuario que nunca fue identificado. Llámalo solo después de Adapty.identify.

Errores de renderizado del flow

El SDK de Adapty 4.0 y versiones posteriores notifica estos errores a través de onError en tu AdaptyFlowEventListener, en lugar de devolverlos desde una llamada a un método. Consulta Gestionar eventos en el SDK de Android.

ErrorSolución
WRONG_ASSET_TYPEUn elemento de imagen en el flow apunta a un recurso que es un relleno de color o degradado, por lo que el SDK muestra un marcador de posición en su lugar. Asigna un recurso de imagen a ese elemento en el Flow & Paywall Builder.
JS_EXCEPTIONEl JavaScript del flow ha lanzado una excepción. Lee el texto de la excepción en el mensaje de error.
NAVIGATOR_NOT_FOUNDUna acción de apertura de pantalla hace referencia a un navegador que no existe en la configuración de vistas del flow, y el flow no tiene ningún navegador default al que recurrir. Revisa el destino de la acción en el Flow & Paywall Builder.
INVALID_ACTION_URLUna acción de apertura de URL hace referencia a un ID de cadena que no se resuelve en una URL válida. Define una URL válida para esa acción en el Flow & Paywall Builder.

Otros problemas

Si todavía no has encontrado una solución, los siguientes pasos pueden ser:

  • Actualizar el SDK a la última versión: Siempre recomendamos actualizar a las últimas versiones del SDK, ya que son más estables e incluyen correcciones de problemas conocidos.
  • Contactar al equipo de soporte u obtener ayuda de otros desarrolladores en el foro de soporte.
  • Contactar al equipo de soporte a través de support@adapty.io o por el chat: Si no puedes actualizar el SDK o la actualización no resolvió el problema, contacta a nuestro equipo de soporte. Ten en cuenta que tu problema se resolverá más rápido si activas el registro detallado y compartes los logs con el equipo. También puedes adjuntar fragmentos de código relevantes.