Presentar flows en modo Observer - Unity

Si utilizas el modo Observer, eres responsable de tu propia lógica de compras. Pero puedes delegar la interfaz del paywall al Flow & Paywall Builder.

Diseña la pantalla en el builder, y el SDK de Adapty la renderiza de forma nativa. Actualiza el texto, el diseño y los precios cuando quieras, sin necesidad de publicar una nueva versión de la app.

Esta guía muestra cómo presentar un flow y gestionar los callbacks de compra. Si Adapty gestiona las compras por ti, consulta Mostrar flows y paywalls en su lugar.

Antes de empezar

Necesitas:

Implementación

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 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 el usuario ha iniciado una restauración. Activa tu flujo personalizado de compra o restauración 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 comportamiento del flow, como mostrar el loader, entre otras cosas:

CallbackDescripción
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 exitosa.

  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 de la forma habitual: obtén el flow y crea su vista y luego preséntala. No se necesitan parámetros adicionales — una vez que el resolver está registrado, cada flow renderizado por Adapty enruta las compras y restauraciones a través de él.

Warning

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.