Obtener onboardings en el SDK de Flutter
Los onboardings están obsoletos en el SDK v4 y se eliminarán en una versión futura. Ya no reciben correcciones ni mejoras. Usa flows en su lugar: a diferencia de los onboardings, que se ejecutan dentro de un WebView, los flows se renderizan de forma nativa en el dispositivo, lo que ofrece animaciones más fluidas, un aspecto nativo consistente, tiempos de carga más rápidos y sin dependencia del entorno WebView. Consulta Obtener flows y paywalls y Mostrar flows y paywalls para empezar.
Después de diseñar la parte visual de tu onboarding con el builder en el Adapty Dashboard, puedes mostrarlo en tu app de Flutter. El primer paso en este proceso es obtener el onboarding asociado con el placement y su configuración de vista, tal como se describe a continuación.
Antes de empezar, asegúrate de:
- Haber instalado el SDK de Adapty para Flutter en su versión 3.8.0 o superior.
- Haber creado un onboarding.
- Haber añadido el onboarding a un placement.
Obtener el onboarding
Cuando creas un onboarding con nuestro editor sin código, se almacena como un contenedor con la configuración que tu app necesita obtener y mostrar. Este contenedor gestiona toda la experiencia: qué contenido aparece, cómo se presenta y cómo se procesan las interacciones del usuario (como respuestas a cuestionarios o entradas de formularios). El contenedor también registra automáticamente los eventos de analítica, por lo que no necesitas implementar un seguimiento de vistas por separado.
Para un mejor rendimiento, obtén la configuración del onboarding con antelación para que las imágenes tengan tiempo suficiente de descargarse antes de mostrárselas a los usuarios.
Para obtener un onboarding, utiliza el método getOnboarding:
try {
final onboarding = await Adapty().getOnboarding(placementId: "YOUR_PLACEMENT_ID");
} on AdaptyError catch (e) {
//handle error
} catch (e) {
//handle error
}
A continuación, llama al método createOnboardingView para obtener la vista que mostrarás.
El resultado del método createOnboardingView solo puede usarse una vez. Si necesitas usarlo de nuevo, llama al método createOnboardingView nuevamente. Llamarlo dos veces sin recrearlo puede provocar el error AdaptyUIError.viewAlreadyPresented.
try {
final onboardingView = await Adapty().createOnboardingView(onboarding: onboarding);
} on AdaptyError catch (e) {
//handle error
} catch (e) {
//handle error
}
Parámetros:
| Parámetro | Presencia | Descripción |
|---|---|---|
| placementId | obligatorio | El identificador del Placement deseado. Es el valor que especificaste al crear un placement en el Adapty Dashboard. |
| locale | opcional por defecto: | El identificador de la localización del onboarding. Se espera que este parámetro sea un código de idioma compuesto por uno o dos subetiquetas separadas por el carácter menos (-). La primera subetiqueta corresponde al idioma y la segunda a la región. Ejemplo: |
| fetchPolicy | por defecto: .reloadRevalidatingCacheData | Por defecto, el SDK intentará cargar los datos desde el servidor y devolverá los datos en caché en caso de fallo. Recomendamos esta opción porque garantiza que tus usuarios siempre reciban los datos más actualizados. Sin embargo, si crees que tus usuarios tienen una conexión a internet inestable, considera usar Ten en cuenta que la caché se mantiene intacta al reiniciar la app y solo se borra cuando se reinstala la app o mediante una limpieza manual. El SDK de Adapty almacena los onboardings localmente en dos capas: la caché de actualización periódica descrita anteriormente y los onboardings de respaldo. También usamos CDN para cargar los onboardings más rápido y un servidor de respaldo independiente en caso de que el CDN no esté disponible. Este sistema está diseñado para garantizar que siempre obtengas la versión más reciente de tus onboardings, asegurando la fiabilidad incluso cuando la conexión a internet es escasa. |
| loadTimeout | por defecto: 5 seg | Este valor limita el tiempo de espera de este método. Si se alcanza el tiempo de espera, se devolverán los datos en caché o el fallback local. Ten en cuenta que en casos excepcionales este método puede agotar el tiempo ligeramente después de lo especificado en |
Parámetros de respuesta
| Parámetro | Descripción |
|---|---|
| Onboarding | Un objeto AdaptyOnboarding con: el identificador y la configuración del onboarding, el Remote Config y otras propiedades. |
Acelera la obtención del onboarding con el onboarding de audiencia predeterminada
Normalmente, los onboardings se obtienen casi de forma instantánea, por lo que no necesitas preocuparte por optimizar este proceso. Sin embargo, cuando tienes numerosas audiencias y onboardings, y tus usuarios tienen una conexión a internet débil, obtener un onboarding puede tardar más de lo deseable. En esos casos, puede que quieras mostrar un onboarding predeterminado para garantizar una experiencia de usuario fluida en lugar de no mostrar ningún onboarding.
Para solucionar esto, puedes usar el método getOnboardingForDefaultAudience, que obtiene el onboarding del placement especificado para la audiencia All Users. Sin embargo, es importante entender que el enfoque recomendado es obtener el onboarding mediante el método getOnboarding, tal como se detalla en la sección Obtener el onboarding anterior.
Considera usar getOnboarding en lugar de getOnboardingForDefaultAudience, ya que este último tiene limitaciones importantes:
- Problemas de compatibilidad: Puede ocasionar problemas al dar soporte a múltiples versiones de la app, lo que requiere diseños retrocompatibles o asumir que las versiones antiguas podrían mostrarse incorrectamente.
- Sin personalización: Solo muestra contenido para la audiencia “All Users”, eliminando la segmentación por país, atribución o atributos personalizados.
Si la mayor velocidad de carga compensa estos inconvenientes para tu caso de uso, utiliza getOnboardingForDefaultAudience como se muestra a continuación. De lo contrario, usa getOnboarding tal como se describe anteriormente.
try {
final onboarding = await Adapty().getOnboardingForDefaultAudience(placementId: 'YOUR_PLACEMENT_ID');
} on AdaptyError catch (adaptyError) {
// handle error
} catch (e) {
// handle unknown error
}
Parámetros:
| Parámetro | Presencia | Descripción |
|---|---|---|
| placementId | obligatorio | El identificador del Placement deseado. Es el valor que especificaste al crear un placement en el Adapty Dashboard. |
| locale | opcional por defecto: | El identificador de la localización del onboarding. Se espera que este parámetro sea un código de idioma compuesto por uno o dos subetiquetas separadas por el carácter menos (-). La primera subetiqueta corresponde al idioma y la segunda a la región. Ejemplo: |
| fetchPolicy | por defecto: .reloadRevalidatingCacheData | Por defecto, el SDK intentará cargar los datos desde el servidor y devolverá los datos en caché en caso de error. Recomendamos esta opción porque garantiza que tus usuarios siempre reciban los datos más actualizados. Sin embargo, si crees que tus usuarios tienen una conexión a internet inestable, considera usar Ten en cuenta que la caché se mantiene intacta al reiniciar la app y solo se borra cuando se desinstala la app o mediante una limpieza manual. El SDK de Adapty almacena los onboardings localmente en dos capas: la caché de actualización periódica descrita anteriormente y los onboardings de respaldo. También utilizamos CDN para obtener los onboardings más rápido y un servidor de respaldo independiente en caso de que el CDN no esté disponible. Este sistema está diseñado para garantizar que siempre obtengas la versión más reciente de tus onboardings, asegurando la fiabilidad incluso cuando la conexión a internet es escasa. |