Obtener onboardings en el SDK de Capacitor

Los onboardings están obsoletos en la versión 4 del SDK 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, una apariencia nativa consistente, tiempos de carga más rápidos y sin dependencia del runtime de 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 aplicación Capacitor. El primer paso en este proceso es obtener el onboarding asociado al placement y su configuración de vista, tal como se describe a continuación.

Antes de empezar, asegúrate de que:

  1. Has creado un onboarding.
  2. Has añadido el onboarding a un placement.

Obtener el onboarding

Cuando creas un onboarding con nuestro editor no-code, 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, usa el método getOnboarding:


try {
  const onboarding = await adapty.getOnboarding({ 
    placementId: 'YOUR_PLACEMENT_ID', 
    locale: 'en',
    params: {
      fetchPolicy: 'reload_revalidating_cache_data', // Load from server, fallback to cache
      loadTimeoutMs: 5000 // 5 second timeout
    }
  });
  console.log('Onboarding fetched successfully');
} catch (error) {
  console.error('Failed to fetch onboarding:', error);
}

A continuación, llama al método createOnboardingView para crear una instancia de vista.

El resultado del método createOnboardingView solo puede utilizarse una vez. Si necesitas volver a utilizarlo, llama al método createOnboardingView de nuevo.


if (onboarding.hasViewConfiguration) {
  try {
    const view = await createOnboardingView(onboarding);
    console.log('Onboarding view created successfully');
  } catch (error) {
    console.error('Failed to create onboarding view:', error);
  }
} else {
  // Use your custom logic
  console.log('Onboarding does not have view configuration');
}

Parámetros:

ParámetroPresenciaDescripción
placementIdobligatorioEl identificador del Placement deseado. Es el valor que especificaste al crear un placement en el Adapty Dashboard.
locale

opcional

por defecto: en

El identificador de la localización del onboarding. Se espera que este parámetro sea un código de idioma compuesto de una o dos subetiquetas separadas por el carácter menos (-). La primera subetiqueta corresponde al idioma y la segunda a la región.

Ejemplo: en significa inglés, pt-br representa el portugués de Brasil.

Consulta Localizaciones y códigos de idioma para más información sobre los códigos de idioma y cómo recomendamos utilizarlos.

params.fetchPolicy

opcional

por defecto: 'reload_revalidating_cache_data'

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 'return_cache_data_else_load' para devolver los datos en caché si existen. En este caso, puede que los usuarios no obtengan los datos más recientes, pero experimentarán tiempos de carga más rápidos independientemente de la calidad de su conexión. La caché se actualiza regularmente, por lo que es seguro utilizarla durante la sesión para evitar peticiones de red.

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.

params.loadTimeoutMs

opcional

por defecto: 5000 ms

Este valor limita el tiempo de espera (en milisegundos) para 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 superar ligeramente el tiempo de espera especificado en loadTimeoutMs, ya que la operación puede estar compuesta por diferentes peticiones internamente.

Parámetros de respuesta:
ParámetroDescripción
:----------:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
onboardingUn objeto AdaptyOnboarding con: el identificador y la configuración del onboarding, Remote Config y otras propiedades.

Acelerar la obtención del onboarding con el onboarding de audiencia predeterminada

Por lo general, los onboardings se obtienen casi al instante, por lo que no necesitas preocuparte por acelerar este proceso. Sin embargo, si tienes muchas audiencias y onboardings, y tus usuarios tienen una conexión a internet lenta, obtener un onboarding puede tardar más de lo que quisieras. En esas situaciones, puede que prefieras mostrar un onboarding predeterminado para garantizar una experiencia de usuario fluida en lugar de no mostrar ninguno. Para solucionar esto, puedes usar el método getOnboardingForDefaultAudience, que obtiene el onboarding del placement especificado para la audiencia All Users. Sin embargo, es fundamental 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 generar conflictos al dar soporte a varias versiones de la app, lo que obliga a diseños compatibles con versiones anteriores o a 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 una obtención más rápida compensa estos inconvenientes en tu caso de uso, utiliza getOnboardingForDefaultAudience tal como se muestra a continuación. De lo contrario, usa getOnboarding como se describe arriba.


try {
  const onboarding = await adapty.getOnboardingForDefaultAudience({ 
    placementId: 'YOUR_PLACEMENT_ID', 
    locale: 'en',
    params: {
      fetchPolicy: 'reload_revalidating_cache_data' // Load from server, fallback to cache
    }
  });
  console.log('Default audience onboarding fetched successfully');
} catch (error) {
  console.error('Failed to fetch default audience onboarding:', error);
}

Parámetros:

ParámetroPresenciaDescripción
placementIdobligatorioEl identificador del Placement deseado. Es el valor que especificaste al crear un placement en el Adapty Dashboard.
locale

opcional

predeterminado: en

El identificador de la localización del onboarding. Se espera que este parámetro sea un código de idioma compuesto de uno o dos subetiquetas separadas por el carácter menos (-). La primera subetiqueta corresponde al idioma y la segunda a la región.

Ejemplo: en significa inglés, pt-br representa el portugués de Brasil.

Consulta Localizaciones y códigos de idioma para más información sobre los códigos de idioma y cómo recomendamos usarlos.

params.fetchPolicy

opcional

predeterminado: 'reload_revalidating_cache_data'

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 los usuarios siempre reciban los datos más actualizados.

Sin embargo, si crees que tus usuarios tienen una conexión a internet inestable, considera usar 'return_cache_data_else_load' para devolver los datos en caché si existen. En este caso, los usuarios puede que no obtengan los datos más recientes, pero experimentarán tiempos de carga más rápidos, independientemente de la calidad de su conexión. La caché se actualiza con regularidad, por lo que es seguro usarla durante la sesión para evitar peticiones de red.

Ten en cuenta que la caché permanece intacta al reiniciar la app y solo se borra cuando se reinstala la app o mediante una limpieza manual.