Presentar flows en modo Observer - Unity

Si has personalizado un flow o paywall con el builder, no necesitas preocuparte por renderizarlo en el código de tu app móvil para mostrárselo al usuario. Ese flow o paywall ya contiene tanto lo que debe mostrarse como la forma en que debe mostrarse.

Esta sección hace referencia únicamente al modo Observer. Si no trabajas en modo Observer, consulta el tema Mostrar flows y paywalls.

Esta funcionalidad requiere el SDK de Adapty para Unity 4.0 (beta) o posterior — anteriormente solo estaba disponible en los SDKs nativos de iOS y Android. Consulta la guía de migración para actualizar.

Antes de empezar a mostrar flows (haz clic para expandir)
  1. Configura la integración inicial de Adapty con el App Store y con Google Play. 2. Instala y configura el SDK de Adapty. Asegúrate de llamar a SetObserverMode(true) en el configuration builder. Consulta la guía de instalación del SDK de Unity. 3. Crea productos en el Adapty Dashboard. 4. Configura flows o paywalls en los builders y asígnales productos. 5. Crea placements y asígnales tus flows o paywalls. 6. Obtén los flows y su configuración en el código de tu app.

En el modo Observer, el SDK no realiza compras por ti. Cuando un usuario pulsa el botón de compra o restauración en un flow o paywall renderizado por Adapty, el SDK llama a tu IAdaptyUIObserverModeResolver en su lugar — realiza la compra o restauración con tu propio código allí.

  1. Implementa la interfaz IAdaptyUIObserverModeResolver:

    using System;
    using AdaptySDK;
    
    public class MyObserverModeResolver : IAdaptyUIObserverModeResolver
    {
        public void FlowViewDidInitiatePurchase(
            AdaptyUIFlowView view,
            AdaptyPaywallProduct product,
            Action onStartPurchase,
            Action onFinishPurchase
        )
        {
            onStartPurchase(); // the view shows its loading indicator
            // make the purchase with your own code,
            // then report the transaction to Adapty and call:
            onFinishPurchase(); // the view hides the loading indicator
        }
    
        public void FlowViewDidInitiateRestore(
            AdaptyUIFlowView view,
            Action onStartRestore,
            Action onFinishRestore
        )
        {
            onStartRestore();
            // restore purchases with your own code, then:
            onFinishRestore();
        }
    }

El método FlowViewDidInitiatePurchase te informa de que el usuario ha iniciado una compra, y FlowViewDidInitiateRestore, de que ha iniciado una restauración. Activa tu flow de compra o restauración personalizado en respuesta.

Además, recuerda invocar los siguientes callbacks para notificar a AdaptyUI sobre el proceso de compra o restauración. Esto es necesario para el correcto funcionamiento del flow, como mostrar el indicador de carga, entre otras cosas:

CallbackDescription
onStartPurchase()Este callback debe invocarse para notificar a AdaptyUI que la compra ha comenzado.
onFinishPurchase()Este callback debe invocarse para notificar a AdaptyUI que la compra ha finalizado.
onStartRestore()Este callback debe invocarse para notificar a AdaptyUI que la restauración ha comenzado.
onFinishRestore()Este callback debe invocarse para notificar a AdaptyUI que la restauración ha finalizado.

El flow permanece abierto mientras se ejecuta tu código — ciérralo tú mismo tras una compra o restauración correcta.

  1. Registra el resolver antes de mostrar cualquier pantalla:

    Adapty.SetObserverModeResolver(new MyObserverModeResolver());

    Sin un resolver registrado, la vista del flow no tiene forma de transferir la compra a tu código, y no ocurre nada cuando el usuario pulsa el botón de compra.

  2. Crea y presenta la vista del flow como de costumbre: obtén el flow y crea su vista, luego preséntalo. No se necesitan parámetros adicionales: una vez registrado el resolver, todos los flows y paywalls renderizados por Adapty enrutarán las compras y restauraciones a través de él.

No olvides reportar la transacción y asociarla con el paywall. De lo contrario, Adapty no reconocerá la transacción y no podrá determinar el paywall de origen de la compra.