Optimizar la obtención de paywalls en Flutter SDK

Una obtención de paywall fiable en Flutter hace tres cosas: renderiza rápido, devuelve el paywall orientado a la audiencia y recurre al respaldo con elegancia cuando la red es lenta. Las reglas que se describen a continuación cubren el timing, la caché y los patrones de respaldo para conseguirlo.

Las reglas asumen que Adapty().activate() y Adapty().identify() ya han sido resueltos. Consulta Orden de llamadas en el SDK de Flutter.

Los consejos a continuación usan los nombres de métodos de la v3. En el SDK v4, getPaywall pasa a llamarse getFlow y el tipo de política de obtención a AdaptyFlowFetchPolicy — todas las reglas aplican sin cambios.

Reglas y errores comunes

Haz estoNo hagas estoPor qué
Obtén el placement que vas a mostrar.Precargues todos los placements de forma concurrente al inicio.La precarga masiva bloquea el hilo principal y produce una pantalla en negro durante el pico.
Llama a getPaywall después de que la atribución haya tenido tiempo de resolverse — por ejemplo, 1–2 segundos después de activate o tras dispararse didUpdateProfileStream.Llames a getPaywall en main() antes de runApp.La atribución aún no ha llegado. El paywall se resuelve contra la audiencia por defecto y omite en silencio los segmentos y la personalización de ASA.
Establece un loadTimeout y configura un paywall de respaldo para cada placement.Esperes indefinidamente en getPaywall.Sin un timeout, los usuarios con mala conectividad ven una pantalla en blanco hasta que se resuelve la red — o cierran la app.
Consulta Obtener paywalls y productos para la referencia de los parámetros fetchPolicy y loadTimeout, y Placements para elegir el placement adecuado.

Ajuste para mala conectividad

Para mercados con conectividad consistentemente deficiente (zonas rurales, transporte, regiones afectadas por enrutamiento):

  • Establece fetchPolicy: AdaptyPaywallFetchPolicy.returnCacheDataElseLoad en cada carga excepto la primera.
  • Configura un paywall de respaldo para cada placement en el Adapty Dashboard.
  • Establece loadTimeout en 3–5 segundos y acepta el respaldo cuando se agote el tiempo.
  • No condicionales la visualización del paywall a getProfile(). Llama a getPaywall de forma independiente para que un perfil lento no bloquee la interfaz.