Usar paywalls de respaldo en un proyecto Expo
Para mantener una experiencia de usuario fluida, es importante configurar respaldos para tus flows, paywalls y onboardings. Esta precaución amplía las capacidades de la aplicación en caso de pérdida parcial o total de la conexión a internet.
-
Si la aplicación no puede acceder a los servidores de Adapty:
Podrá mostrar un flow o paywall de respaldo, y acceder a la configuración local del onboarding.
-
Si la aplicación no puede acceder a internet:
Podrá mostrar un flow o paywall de respaldo. Los onboardings incluyen contenido remoto y requieren conexión a internet para funcionar.
Antes de seguir los pasos de esta guía, descarga los archivos de configuración de respaldo desde Adapty.
Configurar un paywall de respaldo en un proyecto Expo
En un proyecto Expo gestionado (o cualquier proyecto que use expo prebuild), el plugin de configuración react-native-adapty puede copiar automáticamente los archivos de paywall de respaldo a las ubicaciones correctas de iOS y Android durante el prebuild.
Paso 1. Descarga el archivo de paywall de respaldo
Para mantener una experiencia de usuario fluida, es importante configurar respaldos para tus flows, paywalls y onboardings. Esta precaución amplía las capacidades de la aplicación en caso de pérdida parcial o total de la conexión a internet.
-
Si la aplicación no puede acceder a los servidores de Adapty:
Podrá mostrar un flow o paywall de respaldo, y acceder a la configuración local del onboarding.
-
Si la aplicación no puede acceder a internet:
Podrá mostrar un flow o paywall de respaldo. Los onboardings incluyen contenido remoto y requieren conexión a internet para funcionar.
Antes de seguir los pasos de esta guía, descarga los archivos de configuración de respaldo desde Adapty.
Paso 2. Coloca el archivo de respaldo en tu proyecto
Guarda el archivo descargado en algún lugar dentro de tu proyecto, por ejemplo:
assets/adapty_fallback.json
Paso 3. Configura el plugin en app.json
En tu app.json (o app.config.js), añade react-native-adapty a la lista de plugins e indica la ruta al archivo de respaldo:
{
"expo": {
"plugins": [
[
"react-native-adapty",
{
"fallbackPaywall": "./assets/adapty_fallback.json"
}
]
]
}
}
El plugin copiará el archivo a las ubicaciones nativas correctas durante expo prebuild.
Paso 4. Ejecuta el prebuild
npx expo prebuild
Paso 5. Activa el paywall de respaldo en el código
Después del prebuild, activa el paywall de respaldo en el código de tu aplicación:
await adapty.setFallbackPaywalls(require('./assets/adapty_fallback.json'));
Esta guía aplica a proyectos Expo. Si usas React Native puro (sin Expo), consulta la guía de paywall de respaldo para React Native puro en su lugar.
Para mantener una experiencia de usuario fluida, es importante configurar respaldos para tus flows, paywalls y onboardings. Esta precaución amplía las capacidades de la aplicación en caso de pérdida parcial o total de la conexión a internet.
-
Si la aplicación no puede acceder a los servidores de Adapty:
Podrá mostrar un flow o paywall de respaldo, y acceder a la configuración local del onboarding.
-
Si la aplicación no puede acceder a internet:
Podrá mostrar un flow o paywall de respaldo. Los onboardings incluyen contenido remoto y requieren conexión a internet para funcionar.
Antes de seguir los pasos de esta guía, descarga los archivos de configuración de respaldo desde Adapty.
El SDK de Adapty lee el archivo de respaldo desde el bundle nativo: un recurso iOS dentro del paquete .app, o una entrada en android/app/src/main/assets/. En un proyecto Expo, npx expo prebuild --clean regenera esos directorios en cada ejecución, por lo que no puedes añadir los archivos manualmente. El plugin de configuración de react-native-adapty se encarga de conectar el archivo al bundle nativo por ti.
Hay una configuración completa y funcional disponible en la app de ejemplo FocusJournalExpo.
Configuración
-
Coloca los archivos JSON de respaldo en cualquier lugar de tu proyecto — normalmente junto a otros recursos:
<your-project>/ └── assets/ ├── ios_fallback.json └── android_fallback.json -
Añade la opción
fallbackFilea la entradareact-native-adaptyenapp.json(oapp.config.js). Cada clave de plataforma es opcional — configura solo las plataformas que necesites:
{
"expo": {
"plugins": [
[
"react-native-adapty",
{
"fallbackFile": {
"ios": "./assets/ios_fallback.json",
"android": "./assets/android_fallback.json"
}
}
]
]
}
}
Adapty exporta un JSON de respaldo distinto para cada plataforma: IDs de producto de Apple en iOS e IDs de producto de Google Play en Android. Apunta cada plataforma a su propio archivo.
- Regenera los proyectos nativos:
npx expo prebuild
El plugin añade el archivo iOS a los recursos del bundle del proyecto Xcode y copia el archivo Android en android/app/src/main/assets/. La salida del prebuild incluye líneas como:
[react-native-adapty] Registered ios_fallback.json as iOS bundle resource
[react-native-adapty] Copied android_fallback.json to android assets/
-
Registra el archivo con el SDK en tiempo de ejecución:
import { adapty } from 'react-native-adapty'; await adapty.activate('PUBLIC_SDK_KEY');
await adapty.setFallback({
ios: { fileName: 'ios_fallback.json' },
android: { relativeAssetPath: 'android_fallback.json' },
});
Los nombres de archivo que se pasan a setFallback deben coincidir con los nombres base de los archivos configurados en fallbackFile.
setFallback debe ejecutarse antes de que el SDK obtenga cualquier paywall u onboarding.
Verificación
Después de npx expo prebuild, comprueba ambas plataformas:
- Android: Lista el contenido de
android/app/src/main/assets/. El archivo configurado enfallbackFile.androiddebe estar presente, y el nombre de archivo exclusivo de iOS no debe aparecer aquí. - iOS: Busca
ios/<ProjectName>.xcodeproj/project.pbxprojel nombre de archivo exclusivo de iOS. Debe aparecer enPBXFileReference, el grupoResourcesyPBXResourcesBuildPhase. El nombre de archivo exclusivo de Android no debe aparecer enproject.pbxproj.