Optimizar la obtención de flows y paywalls en Unity SDK
Una obtención fiable de un flow o paywall en Unity hace tres cosas: renderiza rápido, devuelve la variación orientada a la audiencia y recurre al respaldo sin problemas cuando la red es lenta. Las reglas a continuación cubren la temporización, la caché y los patrones de respaldo para conseguirlo.
Las reglas asumen que Adapty.Activate() y Adapty.Identify() ya se han resuelto. Consulta Orden de llamadas en el SDK de Unity.
Reglas y errores comunes
| Haz esto | No hagas esto | Por qué |
|---|---|---|
| Obtén el placement que estás a punto de mostrar. | No hagas prefetch de todos los placements a la vez al arrancar. | El prefetch masivo bloquea el hilo principal y provoca una pantalla en negro durante el pico de carga. |
Obtén GetFlow después de que la atribución haya tenido tiempo de resolverse — por ejemplo, 1–2 segundos después de Activate o tras el evento OnLoadLatestProfile. | No llames a GetFlow en Awake(). | La atribución todavía no ha llegado. El flow se resuelve contra la audiencia por defecto y omite silenciosamente los segmentos y la personalización de ASA. |
Define un loadTimeout y configura un paywall de respaldo para cada placement. | No esperes indefinidamente a GetFlow. | Sin un timeout, los usuarios con mala conectividad ven una pantalla en blanco hasta que la red responde — o cierran la app. |
Consulta Cargar paywalls y productos para la referencia de los parámetros fetchPolicy y loadTimeout, y Placements para elegir el placement adecuado.
Mostrar el contenido multimedia de la primera pantalla desde el bundle de la app
Un flow descarga sus imágenes y vídeos desde Adapty. Para mostrar el contenido multimedia de la primera pantalla de forma instantánea, sírvelo desde el bundle de la app. Es una buena forma de reutilizar los archivos multimedia que ya incluyes, como los de un onboarding nativo existente.
- En el Flow & Paywall Builder, asigna un ID de contenido multimedia personalizado a la imagen o el vídeo. El archivo que subas ahí se usará como respaldo.
- Añade el archivo a tu proyecto de Unity.
- Al crear la vista del flow, pasa el archivo del bundle para ese ID con
SetCustomAssets:
// "welcome_video" is the custom media ID set in the Flow & Paywall Builder
var bundledAssets = new Dictionary<string, AdaptyCustomAsset>
{
{ "welcome_video", AdaptyCustomAsset.LocalVideoFile("custom_assets/videos/welcome.mp4") }
};
var parameters = new AdaptyUICreateFlowViewParameters()
.SetCustomAssets(bundledAssets);
AdaptyUI.CreateFlowView(flow, parameters, (view, error) => {
// handle the result
});
Los archivos incluidos aumentan el tamaño de descarga de tu app, así que incluye solo los recursos multimedia que los usuarios ven primero.
Los medios que no incluyes en el bundle aparecen igualmente de inmediato: el layout del flow incluye una copia pequeña de baja resolución de cada imagen —incluido el fotograma estático de un vídeo— y la muestra hasta que se carga el archivo completo.
Para la referencia completa de customAssets, consulta Personalizar assets.
Ajustes para conectividad deficiente
Para mercados con conectividad consistentemente deficiente (zonas rurales, transporte, regiones con problemas de enrutamiento):
- Establece
fetchPolicyenAdaptyPlacementFetchPolicy.ReturnCacheDataElseLoaden cada solicitud excepto la primera. - Configura un paywall de respaldo para cada placement en el Adapty Dashboard.
- Establece
loadTimeoutentre 3 y 5 segundos y acepta el respaldo cuando se agote el tiempo. - No condicionales la visualización del flow a
GetProfile. Llama aGetFlowde forma independiente para que un perfil lento no bloquee la interfaz.