+{"fileHash":"sha256:4f197295126ae6679b5b935140072cc96753d085986020c7ff3a60920bed4bef","sections":{"preamble-p1302fe54":{"contentHash":"sha256:1302fe54dddb80fcb533a821a06f7b71ddf80454f2ab834b23af067a4c55713d","proseHash":"sha256:1302fe54dddb80fcb533a821a06f7b71ddf80454f2ab834b23af067a4c55713d","translation":"---\ntitle: \"Usar paywalls de respaldo en un proyecto Expo\"\ndescription: \"Configura paywalls de respaldo en un proyecto Expo React Native mediante el plugin de configuración de react-native-adapty.\"\nmetadataTitle: \"Usar paywalls de respaldo en Expo | Documentación de Adapty\"\nkeywords: ['paywalls de respaldo', 'expo', 'react native', 'plugin de configuración', 'prebuild', 'paywalls sin conexión']\n---\nimport FallbackPaywallIntroduction from '@site/src/components/reusable/FallbackPaywallIntroduction.md';\n\n<FallbackPaywallIntroduction />\n\n## Configurar un paywall de respaldo en un proyecto Expo \\{#configure-a-fallback-paywall-in-an-expo-project\\}\n\nEn 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.\n\n### Paso 1. Descarga el archivo de paywall de respaldo \\{#step-1-download-the-fallback-paywall-file\\}\n\n<FallbackPaywallIntroduction />\n\n### Paso 2. Coloca el archivo de respaldo en tu proyecto \\{#step-2-place-the-fallback-file-in-your-project\\}\n\nGuarda el archivo descargado en algún lugar dentro de tu proyecto, por ejemplo:\n\n```\nassets/adapty_fallback.json\n```\n\n### Paso 3. Configura el plugin en `app.json` \\{#step-3-configure-the-plugin-in-appjson\\}\n\nEn 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:\n\n```json title=\"app.json\"\n{\n \"expo\": {\n \"plugins\": [\n [\n \"react-native-adapty\",\n {\n \"fallbackPaywall\": \"./assets/adapty_fallback.json\"\n }\n ]\n ]\n }\n}\n```\n\nEl plugin copiará el archivo a las ubicaciones nativas correctas durante `expo prebuild`.\n\n### Paso 4. Ejecuta el prebuild \\{#step-4-run-prebuild\\}\n\n```sh\nnpx expo prebuild\n```\n\n### Paso 5. Activa el paywall de respaldo en el código \\{#step-5-activate-the-fallback-paywall-in-code\\}\n\nDespués del prebuild, activa el paywall de respaldo en el código de tu aplicación:\n\n```typescript\nawait adapty.setFallbackPaywalls(require('./assets/adapty_fallback.json'));\n```"},"preamble-pf34a2051":{"contentHash":"sha256:f34a2051efa122122cfd9f9714aca9cc01df0047e8cb41b8d0fb5f3d46a3ee1f","proseHash":"sha256:f34a2051efa122122cfd9f9714aca9cc01df0047e8cb41b8d0fb5f3d46a3ee1f","translation":":::important\nEsta guía aplica a **proyectos Expo**.\nSi usas **React Native puro (sin Expo)**, consulta la [guía de paywall de respaldo para React Native puro](react-native-use-fallback-paywalls-pure) en su lugar.\n:::\n\n<FallbackPaywallIntroduction />"},"preamble-p56fa3701":{"contentHash":"sha256:56fa3701f1fbb6fe20ab8eddcf59f091aa3375c8748538045f8e1c89823aa7a2","proseHash":"sha256:56fa3701f1fbb6fe20ab8eddcf59f091aa3375c8748538045f8e1c89823aa7a2","translation":"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.\n\n:::tip\nHay una configuración completa y funcional disponible en la [app de ejemplo `FocusJournalExpo`](https://github.com/adaptyteam/AdaptySDK-React-Native/tree/master/examples/FocusJournalExpo).\n:::"},"h2-configuration-p05682c42":{"contentHash":"sha256:05682c42c3827fa481eb53369b79d9ed52451e8676439a502e2519f8fde69e9f","proseHash":"sha256:05682c42c3827fa481eb53369b79d9ed52451e8676439a502e2519f8fde69e9f","translation":"## Configuración \\{#configuration\\}\n\n1. Coloca los archivos JSON de respaldo en cualquier lugar de tu proyecto — normalmente junto a otros recursos:\n\n ```\n <your-project>/\n └── assets/\n ├── ios_fallback.json\n └── android_fallback.json\n ```\n\n2. Añade la opción `fallbackFile` a la entrada `react-native-adapty` en `app.json` (o `app.config.js`). Cada clave de plataforma es opcional — configura solo las plataformas que necesites:"},"h2-configuration-pb5ab8726":{"contentHash":"sha256:b5ab8726df8d7a8d685165842778ee872803431345cacb0e4594af8b067e195f","proseHash":"sha256:b5ab8726df8d7a8d685165842778ee872803431345cacb0e4594af8b067e195f","translation":"```json title=\"app.json\"\n {\n \"expo\": {\n \"plugins\": [\n [\n \"react-native-adapty\",\n {\n \"fallbackFile\": {\n \"ios\": \"./assets/ios_fallback.json\",\n \"android\": \"./assets/android_fallback.json\"\n }\n }\n ]\n ]\n }\n }\n ```\n\n :::note\n 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.\n :::\n\n3. Regenera los proyectos nativos:"},"h2-configuration-p3494d844":{"contentHash":"sha256:3494d844756f264d14c47109d56c0cbeafa9866590374340e9bb8d84130e1b25","proseHash":"sha256:3494d844756f264d14c47109d56c0cbeafa9866590374340e9bb8d84130e1b25","translation":"```sh title=\"Shell\"\n npx expo prebuild\n ```\n\n 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:\n\n ```\n [react-native-adapty] Registered ios_fallback.json as iOS bundle resource\n [react-native-adapty] Copied android_fallback.json to android assets/\n ```\n\n4. Registra el archivo con el SDK en tiempo de ejecución:\n\n ```typescript showLineNumbers title=\"App.tsx\"\n import { adapty } from 'react-native-adapty';\n\n await adapty.activate('PUBLIC_SDK_KEY');"},"h2-configuration-pfa6ae833":{"contentHash":"sha256:fa6ae833d57ffe354447ab9844567e784731864dc39a650a971d067ec58dd446","proseHash":"sha256:fa6ae833d57ffe354447ab9844567e784731864dc39a650a971d067ec58dd446","translation":"```\n await adapty.setFallback({\n ios: { fileName: 'ios_fallback.json' },\n android: { relativeAssetPath: 'android_fallback.json' },\n });\n ```\n\n Los nombres de archivo que se pasan a `setFallback` deben coincidir con los nombres base de los archivos configurados en `fallbackFile`.\n\n:::important\n`setFallback` debe ejecutarse antes de que el SDK obtenga cualquier paywall u onboarding.\n:::"},"h2-verification":{"contentHash":"sha256:9b09b0f21ac08a74a0beab1b0eba9e659de08a72ef7e4c0533604f73c15911be","proseHash":"sha256:9b09b0f21ac08a74a0beab1b0eba9e659de08a72ef7e4c0533604f73c15911be","translation":"## Verificación \\{#verification\\}\n\nDespués de `npx expo prebuild`, comprueba ambas plataformas:\n\n- **Android**: Lista el contenido de `android/app/src/main/assets/`. El archivo configurado en `fallbackFile.android` debe estar presente, y el nombre de archivo exclusivo de iOS no debe aparecer aquí.\n- **iOS**: Busca `ios/<ProjectName>.xcodeproj/project.pbxproj` el nombre de archivo exclusivo de iOS. Debe aparecer en `PBXFileReference`, el grupo `Resources` y `PBXResourcesBuildPhase`. El nombre de archivo exclusivo de Android no debe aparecer en `project.pbxproj`."}}}
0 commit comments