Flows de respaldo

Para mantener una experiencia de usuario fluida, es importante configurar versiones de respaldo de tus flows. Cuando tu aplicación solicita un flow, el SDK de Adapty contacta con nuestros servidores para obtener su configuración. Si el dispositivo no puede llegar a Adapty (problema de red, caída del servidor), el SDK recurre a los datos locales:

  • Si el usuario ya ha visto el flow anteriormente, el SDK sirve la copia en caché.
  • Si no existe caché, el SDK carga un archivo de configuración de respaldo incluido en la app.

Adapty genera estos archivos de respaldo automáticamente. El bundle de respaldo del flow se comparte con los paywalls: un único archivo JSON por plataforma contiene las variaciones de respaldo para ambos. El SDK lee la sección que necesita en cada caso.

Los fallbacks de flow se incluyen en el paquete del SDK de Adapty 4.0+. Si seleccionas una versión anterior del SDK en el diálogo de descarga, el archivo solo contiene variaciones de paywall y onboarding, sin flows. Asegúrate de que tu app use una versión del SDK compatible con flows antes de depender de un flow de respaldo.

Antes de empezar

  1. Crea un flow en el Flow Builder.
  2. Crea un placement para el flow.

Descarga el archivo de respaldo

  1. Abre la página Placements.
  2. Haz clic en el botón Fallbacks en la parte superior derecha.
  3. Selecciona tu plataforma de destino en el desplegable.
  4. Elige la versión del SDK que coincida con la que se incluye en tu app. Selecciona Adapty SDK v4.0.0 and higher (o una opción posterior) para recibir un bundle que incluya flows.

El navegador descarga un archivo JSON por plataforma; por ejemplo, ios_4_0_0_fallback.json.

Ejemplo de entrada de fallback de flow (haz clic para expandir)
"PLACEMENT_ID": {
  "data": [
    {
      "developer_id": "PLACEMENT_ID",
      "variation_id": "cb1c0ef8-aecd-4a53-a6f3-b98266e66884",
      "flow_id": "daf25858-3fa2-4981-8500-9c8a30e5b7e6",
      "flow_name": "FLOW_NAME",
      "flow_version_id": "FLOW_VERSION_ID",
      "placement_audience_version_id": "a9eb3ab8-3178-477d-84d4-ef9d3978e48b",
      "audience_name": "All Users",
      "ab_test_name": "",
      "cross_placement_info": null,
      "weight": 100,
      "variations": [
        {
          "variation_id": "cb1c0ef8-aecd-4a53-a6f3-b98266e66884",
          "paywall_id": "PAYWALL_ID",
          "paywall_name": "PAYWALL_NAME",
          "ab_test_name": "",
          "products": [],
          "revision": 1,
          "custom_payload": null,
          "weight": 100
        }
      ],
      "remote_configs": []
    }
  ],
  "meta": {
    "placement": {
      "developer_id": "PLACEMENT_ID",
      "is_tracking_purchases": true,
      "audience_name": "All Users",
      "placement_audience_version_id": "a9eb3ab8-3178-477d-84d4-ef9d3978e48b",
      "revision": 0,
      "ab_test_name": ""
    }
  }
}

La forma exacta puede cambiar entre versiones del SDK. Usa siempre el archivo que Adapty generó para tu versión del SDK en lugar de crearlo manualmente.

Después de la descarga

Añade el archivo al código de tu app y sigue la guía de configuración específica para cada plataforma. Las mismas APIs que cargan los paywall de respaldo también cargan los flow de respaldo una vez que tu app esté en una versión del SDK compatible con flows:

Limitaciones

Los flows de respaldo están codificados y almacenados localmente, por lo que no cuentan con todas las capacidades dinámicas de los flows en vivo:

  • Una variación por placement. Si un placement tiene más de un flow (distintas audiencias, variantes de prueba A/B), el archivo de respaldo usa la variación con mayor peso, o la audiencia más amplia.
  • Sin pruebas A/B. Una prueba A/B de flow en vivo se resuelve en el servidor; el respaldo siempre sirve una única variación elegida.
  • Sin actualizaciones remotas. Actualizar el respaldo requiere publicar una nueva versión de la app. Para los cambios que normalmente harías mediante Remote Config en tiempo de ejecución, publícalos a través del flow en vivo.
  • Solo la configuración regional predeterminada. El respaldo usa la configuración regional en; las variantes localizadas no se incluyen en el bundle.