Pruebas en sandbox

Una vez que hayas configurado todo en el Adapty Dashboard y en tu aplicación móvil, es momento de realizar pruebas de compras in-app. Nota: ninguna de las herramientas de prueba cobra a los usuarios cuando prueban comprar un producto. La App Store no envía correos electrónicos por compras ni reembolsos realizados en los entornos de prueba.

Las transacciones en sandbox se excluyen de todos los gráficos de análisis. Siguen apareciendo en las páginas de perfil individuales y en el feed de eventos.

Para proceder con las pruebas de compras in-app, asegúrate de que:

  • Has completado las guías de inicio rápido sobre integración con la store, añadir productos e integración del SDK de Adapty.
  • Tu producto está marcado como Ready to submit en App Store Connect.

Pruebas en sandbox

Recomendamos probar las compras in-app con un dispositivo real. Aunque las compras en sandbox pueden ejecutarse en simuladores, los dispositivos reales son necesarios para probar todos los flows por completo, incluidos los diálogos de pago y las solicitudes biométricas.

Tienes dos formas principales de probar las compras in-app:

  • Compilar en Xcode y ejecutar en un dispositivo de prueba: Ideal para desarrolladores y QA engineers.
  • Usar una cuenta de prueba en sandbox con TestFlight: Adecuado para cualquier otra persona.

Ambas opciones se explican en la guía a continuación.

Paso 1. Crear una cuenta de prueba Sandbox en App Store Connect

Crea una cuenta de prueba Sandbox nueva para asegurarte de que tu historial de compras esté limpio. Si reutilizas una cuenta existente, los productos que hayas comprado anteriormente seguirán disponibles y no podrás probar volver a comprarlos.

Puedes crear una nueva cuenta de prueba Sandbox en unos pocos clics:

  1. Ve a Users and Access > Sandbox > Test Accounts en App Store Connect y haz clic en +.
add-sandbox-user.webp
  1. Introduce los datos del usuario de prueba. Asegúrate de definir el Country or Region que quieres probar, ya que afecta a la disponibilidad de productos en esa región y a la moneda de compra.
  • Si usas Gmail o iCloud, puedes reutilizar tu dirección de correo existente con subdireccionamiento con signo más.
  • Puedes usar una dirección de correo aleatoria que ni siquiera exista, pero asegúrate de rechazar la autenticación de dos factores (2FA) cuando inicies sesión en un dispositivo de prueba más adelante.
57c3a7c-apple_new_test_account.webp
  1. Haz clic en Create.

Paso 2. Activar el modo de desarrollador

Omite este paso si el modo de desarrollador ya está activado en tu dispositivo de prueba o si no tienes un Mac.

Necesitarás un Mac con Xcode instalado y el cable de tu dispositivo de prueba:

  1. Abre Xcode en tu Mac. Si vas a probar compras in-app con TestFlight, solo necesitas tener Xcode instalado; no hace falta tener ninguna app abierta.
  2. Conecta tu dispositivo de prueba al Mac con el cable.
  3. Ve a Settings > Privacy & Security > Developer Mode en tu dispositivo de prueba y activa el Developer Mode.

Paso 3. Descarga la app desde TestFlight

Este paso solo aplica si estás probando con TestFlight. Si estás compilando la app en Xcode, omite este paso.

Para más información sobre cómo enviar tu app a TestFlight, consulta la documentación de Apple.

Antes de descargar la app de TestFlight, asegúrate de que en tu dispositivo de prueba estás conectado con tu Apple Account de producción. Luego descarga desde TestFlight la app que quieres probar.

No abras la aplicación una vez descargada. Continúa directamente con los siguientes pasos. Si la abriste por accidente, elimínala de tu dispositivo de prueba y descárgala de nuevo. De lo contrario, tu historial de compras podría no estar limpio y las pruebas de compras in-app producirán errores.

Paso 4. Cambia a la cuenta de prueba Sandbox

¿No usas Mac? Aquí tienes una alternativa

Si no trabajas en macOS, no puedes cambiar a una cuenta sandbox desde Xcode. Sin embargo, puedes hacerlo directamente en tu dispositivo de prueba:

  1. Ve a Settings > Your Apple Account > Media & Purchases en tu dispositivo de prueba.
  2. Selecciona Sign Out en el menú emergente.
  3. Abre la app descargada desde TestFlight e intenta comprar un producto.
  4. Cuando se te pida que inicies sesión, introduce las credenciales de tu cuenta sandbox para cambiar al entorno sandbox.

Para cambiar a tu cuenta sandbox:

  1. Ve a Settings > Your Apple Account > Media & Purchases en tu dispositivo de prueba.
  2. Selecciona Sign Out en el menú emergente.
  3. Ve a Settings > Developer. Si la opción Developer no está disponible, asegúrate de haberla activado en el paso 2.
devmode.png
  1. Desplázate hacia abajo hasta la sección Sandbox Apple Account y pulsa Sign In.
sandbox-acc.png
  1. Inicia sesión con las credenciales de tu Sandbox Apple Account.

Paso 5. Borrar el historial de compras

Si acabas de crear una nueva cuenta de prueba de Sandbox y has cambiado a ella, puedes saltarte este paso, ya que solo aplica cuando repites pruebas con la misma cuenta de Sandbox.

  1. Ve a Settings > Developer > Sandbox Apple Account en tu dispositivo de prueba.
  2. Selecciona Manage en el menú emergente.
  3. Ve a Account Settings y pulsa Clear Purchase History.

Este paso es obligatorio cada vez que repitas las pruebas con la misma cuenta de prueba de Sandbox. En ese caso, también tendrás que cerrar sesión en tu cuenta de prueba de Sandbox y volver a iniciar sesión para borrar la caché del historial de compras en el dispositivo de prueba.

Paso 6. Compilar en Xcode y ejecutar

Este paso solo aplica si estás probando con una compilación de Xcode. Si usas TestFlight, omite este paso.

  1. Conecta tu dispositivo de prueba al Mac.
  2. Abre Xcode.
  3. Haz clic en Run en la barra de herramientas o selecciona Product > Run para compilar y ejecutar la app en el dispositivo conectado.

Si la compilación es correcta, Xcode lanzará la app en tu dispositivo y abrirá una sesión de depuración en el área de debug.

Tu app ya está lista para pruebas en el dispositivo.

Paso 7. Realiza una compra de prueba

Abre la app y realiza tu compra de prueba a través de un paywall.

Una vez hecho, consulta el artículo sobre validación de compras de prueba para revisar los resultados.

Paso 8. Sigue probando

Tu entorno de pruebas ya está listo. Si quieres volver a probarlo, borra el historial de compras de la cuenta sandbox.

Problemas de prueba

A continuación se describen los problemas más comunes que puedes encontrar al probar una app.

Problemas con TestFlight

No puedes borrar tu historial de compras si usas TestFlight sin una cuenta de prueba de Sandbox, lo que genera varios problemas y resultados de prueba incorrectos.

Si olvidaste accidentalmente cambiar a la cuenta de prueba de Sandbox y abriste la app aunque sea una vez, TestFlight asocia tu historial de compras con tu cuenta de Apple de producción, lo que provoca problemas inesperados.

Para solucionarlo, sigue estos pasos:

  1. Elimina la app del dispositivo de prueba.
  2. Sigue los pasos para las pruebas en Sandbox.

Es importante no solo reinstalar la aplicación, sino también cambiar a la cuenta de prueba Sandbox, borrar el historial de compras e iniciarla con la cuenta de prueba Sandbox.

Problemas con los niveles de acceso compartidos

Si repites las pruebas con la misma cuenta de prueba de Sandbox, es posible que encuentres un comportamiento inesperado con los niveles de acceso compartidos para el usuario de prueba.

Para comprobar si el usuario tiene un nivel de acceso heredado, ve a Profiles & Segments desde el Adapty Dashboard y abre el perfil del usuario.

profile-access-level-origin.webp

Si el usuario tiene un nivel de acceso heredado, sigue estos pasos para obtener resultados de prueba precisos:

  1. Elimina el perfil principal.
  2. Elimina la app del dispositivo de prueba.
  3. Descarga la app desde TestFlight.
  4. Cambia a la cuenta de prueba de Sandbox.
  5. Borra el historial de compras.
  6. Abre la app y realiza tu compra de prueba.

Borrar el historial de compras es lo que restablece la compra en el lado del store. Eliminar el perfil principal solo borra el registro en el lado de Adapty. Para entender por qué una cuenta reutilizada mantiene el acceso y qué acciones de restablecimiento funcionan realmente, consulta Restablecer la suscripción de un tester.

Actualización de la app en TestFlight

Si la app de TestFlight se ha actualizado:

  1. Elimina la app del dispositivo de prueba.
  2. Descarga la app desde TestFlight.
  3. Cambia a la cuenta de prueba Sandbox.
  4. Borra el historial de compras.
  5. Abre la app y realiza tu compra de prueba.

Restablecer la suscripción de un tester

En el entorno sandbox, una compra pertenece a la cuenta sandbox de Apple, no al perfil de Adapty. Las acciones que realices en el perfil —eliminarlo o editar su nivel de acceso— no eliminan la compra de la cuenta del store. En el siguiente reinstalado o sincronización, el SDK vuelve a asociar la misma transacción y el tester recupera el acceso.

La siguiente tabla muestra qué cambia con cada acción de restablecimiento y qué ve el tester después.

AcciónPerfil de AdaptyCuenta sandbox de AppleAcceso del tester después
Eliminar el perfil en el Adapty DashboardEliminadoSin cambiosRegresa — al reinstalar, un nuevo perfil vuelve a enlazar la misma cadena de transacciones
Eliminar el perfil mediante la API de eliminación de perfilEliminadoSin cambiosRegresa — igual que eliminarlo en el Dashboard
Añadir una fecha de expiración pasada mediante Add access levelSobreescrito en la siguiente sincronizaciónSin cambiosRegresa en la siguiente renovación — la suscripción activa vuelve a aplicar una fecha de expiración futura
Llamar a la API de revocación de nivel de accesoExpira ahora, dispara access_level_updated (is_active=false)Sin cambiosRegresa en la siguiente renovación o reinstalación — no es un reinicio de sandbox fiable
Cancelar la suscripción en la cuenta sandboxSin cambio directoSuscripción canceladaLas renovaciones se detienen, el acceso termina cuando expira el período actual y el tester puede volver a comprar el producto
Iniciar sesión con una cuenta sandbox de Apple nuevaPerfil nuevoCuenta nueva y vacíaLimpio — recomendado para pruebas repetidas

Restablecer un tester a un estado limpio

Para probar el flujo de compra varias veces, usa una cuenta sandbox de Apple nueva para cada prueba en lugar de restablecer el perfil. Sigue el Paso 1 para crear la cuenta y el Paso 4 para cambiar a ella en el dispositivo. Si reutilizas una cuenta sandbox existente, borra su historial de compras primero — eliminar el perfil de Adapty no lo borra.

Eliminar el acceso a un tester existente

Para quitar el acceso a un tester, no retrocedas la fecha de expiración ni llames a la API Revoke access level. En sandbox, la suscripción se renueva automáticamente cada pocos minutos. Cada renovación restaura una fecha de expiración futura en la misma cadena de transacciones, por lo que el acceso se recupera solo. La API Revoke access level sí dispara un evento access_level_updated (is_active=false), pero la siguiente renovación lo sobreescribe. Para detener el acceso realmente, cancela la suscripción desde el store. En el dispositivo de prueba, ve a Settings > Developer > Sandbox Apple Account, selecciona Manage y cancela la suscripción. Los renovaciones se detienen y el acceso termina cuando expira el período actual.

Por qué eliminar el perfil devuelve el acceso

Cuando un tester reinstala la app, Adapty recibe el historial de compras de la cuenta sandbox y vincula la nueva instalación a la compra existente. La compra está asociada a la cuenta del store, no al perfil que eliminaste.

  • Perfiles anónimos: Una reinstalación sin customer_user_id siempre hereda el nivel de acceso de la cuenta de la store, independientemente de tu configuración de compartición de acceso de pago.
  • Perfiles identificados: Si el acceso se transfiere a un nuevo customer_user_id depende de tu configuración de compartición de acceso de pago.

Para entender cómo Adapty enlaza estos perfiles en una cadena, consulta Cómo funcionan los perfiles.

Probar suscripciones

Al probar la app con una cuenta de prueba de sandbox, puedes configurar la tasa de renovación de la suscripción para cada tester en sandbox. Consulta más información sobre cómo editar las tasas de renovación en la documentación oficial de Apple.

Por defecto, las suscripciones se renuevan hasta 12 veces antes de detenerse, según el siguiente calendario:

Duración de la suscripción1 semana1 mes2 meses3 meses6 meses1 año
Velocidad de renovación3 minutos5 minutos10 minutos15 minutos30 minutos1 hora
Duración del reintento de cobro10 minutos10 minutos10 minutos10 minutos10 minutos10 minutos
Duración del período de gracia3 minutos5 minutos5 minutos5 minutos5 minutos5 minutos

Ten en cuenta que las transacciones de prueba pueden tardar hasta 10 minutos en aparecer en el Event feed.

Usa el sandbox para verificar que tu app y tu backend gestionan correctamente las renovaciones, los reintentos de cobro y los períodos de gracia — no para predecir los tiempos de renovación en producción. El calendario acelerado y limitado que se muestra arriba no coincide con el de producción. Para reproducir transacciones en tu servidor con fines de prueba de backend, usa la API Set transaction.

Probar ofertas

Para que la elegibilidad funcione correctamente al probar ofertas, es necesario eliminar todos los recibos del usuario.

La forma más fiable de probar ofertas es usar una cuenta de prueba Sandbox completamente nueva. Repetir las pruebas con la misma cuenta de prueba Sandbox puede provocar comportamientos inesperados.

Si repites las pruebas con la misma cuenta de prueba Sandbox, asegúrate de borrar el historial de compras para evitar problemas de elegibilidad.