Optimizar la obtención de paywalls en el SDK de Capacitor
Una obtención fiable de paywalls en Capacitor hace tres cosas: renderiza rápido, devuelve el paywall segmentado por audiencia y recurre al respaldo sin problemas cuando la red es lenta. Las reglas que se describen a continuación cubren los tiempos, 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 Capacitor.
El consejo a continuación usa los nombres de métodos de v3. En el SDK v4, getPaywall pasa a llamarse getFlow (consulta la guía de migración) — todas las reglas aplican sin cambios.
Reglas y errores comunes
| Haz esto | No hagas esto | Por qué |
|---|---|---|
| Obtén el placement que estás a punto de mostrar. | Precarga todos los placements en paralelo al iniciar. | La precarga masiva bloquea el hilo principal y provoca una pantalla en negro durante la ráfaga. |
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 el listener onLatestProfileLoad. | Llama a getPaywall al iniciar la app en App.tsx. | La atribución aún no ha llegado. El paywall se resuelve contra la audiencia por defecto y silenciosamente omite los segmentos y la personalización de ASA. |
Establece un loadTimeoutMs y configura un paywall de respaldo para cada placement. | Esperes indefinidamente a getPaywall. | Sin un tiempo de espera límite, los usuarios con mala conectividad ven una pantalla en blanco hasta que la red responde, o cierran la app. |
Consulta Obtener paywalls y productos para la referencia de los parámetros fetchPolicy y loadTimeoutMs, y Placements para elegir el placement adecuado. |
Ajuste para conectividad deficiente
Para mercados con conectividad consistentemente deficiente (zonas rurales, transporte, regiones afectadas por enrutamiento):
- Establece
fetchPolicy: 'return_cache_data_else_load'en cada obtención excepto la primera. - Configura un paywall de respaldo para cada placement en el Adapty Dashboard.
- Establece
loadTimeoutMsentre 3000 y 5000 milisegundos y acepta el paywall de respaldo cuando se agote el tiempo. - No condicionales la visualización del paywall a
adapty.getProfile(). Llama agetPaywallde forma independiente para que un perfil lento no bloquee la interfaz.