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:
- Adapty Unity SDK 4.1 o posterior: Las versiones anteriores no pueden renderizar flows. Para migrar una app existente, consulta la guía de migración.
SetObserverMode(true)llamado en el constructor de configuración: Consulta la guía de instalación del SDK de Unity.- Integración inicial con el store: Configura Adapty con el App Store y con Google Play.
- Un flow publicado con productos: Créalo en el Flow & Paywall Builder y asígnale productos.
- Un placement para el flow: Crea un placement y asigna tu flow a él.
- El flow obtenido en tu app: Obtén el flow y su configuración antes de mostrarlo.
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í.
-
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:
| Callback | Descripció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.
-
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.
-
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.
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.