Presentar flows en modo Observer en el SDK de Android
Si usas 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 su texto, diseño y precios cuando quieras, sin publicar una nueva versión de la app. Cuando el usuario pulsa el botón de compra, el SDK llama a tu código para completar la compra.
Esta guía muestra cómo presentar esa pantalla y gestionar la llamada de compra. Si Adapty completa las compras por ti, consulta Mostrar flows y paywalls.
Antes de empezar
Necesitas:
- Adapty Android SDK v4 o posterior: Las versiones anteriores no pueden renderizar flows. Para migrar una app existente desde v3, consulta la guía de migración.
observerModeestablecido entrue: Consulta la guía de instalación del SDK de Android.- Integración inicial con la store: Configura Adapty con Google Play.
- Un flow publicado con productos: Créalo en el Flow & Paywall Builder y asígnale productos.
- Un placement de flow: Crea un placement y asígnale tu flow.
- El flow obtenido en tu app: Obtén el flow y su configuración antes de mostrarlo.
Implementación
- Implementa el
AdaptyUiObserverModeHandler.
El evento onPurchaseInitiated te informará de que el usuario ha iniciado una compra. Puedes activar tu flow de compra personalizado en respuesta a este callback:
Para gestionar las restauraciones en modo Observer, sobreescribe getRestoreHandler(). Por defecto devuelve null, lo que utiliza el flow integrado de Adapty Adapty.restorePurchases(). Para proporcionar tu propia implementación de restauración:
Recuerda invocar los siguientes callbacks para notificar a AdaptyUI sobre el proceso de compra o restauración. Esto es necesario para que el flow funcione correctamente, por ejemplo, para mostrar el indicador de carga:
| Callback | Description |
|---|---|
| onStartPurchase() | El callback debe invocarse para notificar a AdaptyUI que la compra ha comenzado. |
| onFinishPurchase() | El callback debe invocarse para notificar a AdaptyUI que la compra ha finalizado. |
| onStartRestore() | Opcional. El callback puede invocarse para notificar a AdaptyUI que la restauración ha comenzado. |
| onFinishRestore() | Opcional. El callback puede invocarse para notificar a AdaptyUI que la restauración ha finalizado. |
- Para mostrar el flow visual en la pantalla del dispositivo, primero debes configurarlo.
Parámetros de la solicitud:
| Parámetro | Presencia | Descripción |
|---|---|---|
| flowConfiguration | obligatorio | Proporciona un objeto AdaptyUI.FlowConfiguration con los detalles visuales del flow. Usa el método AdaptyUI.getFlowConfiguration(flow) para cargarlo. Consulta el tema Fetch the view configuration para más detalles. |
| products | opcional | Proporciona un array de AdaptyPaywallProduct para optimizar el tiempo de visualización de los productos en pantalla. Si se pasa null, AdaptyUI obtendrá automáticamente los productos necesarios. |
| eventListener | opcional | Proporciona un AdaptyFlowEventListener para observar los eventos del flow. Se recomienda extender AdaptyFlowDefaultEventListener para facilitar su uso. Consulta el tema Handle flow & paywall events para más detalles. |
| insets | opcional | Los insets son los espacios alrededor del flow que evitan que los elementos interactivos queden ocultos detrás de las barras del sistema. Por defecto: Unspecified, lo que permite que Adapty ajuste los insets automáticamente. Consulta Change flow insets. |
| customAssets | opcional | Pasa un objeto AdaptyCustomAssets para reemplazar imágenes y vídeos de tu flow en tiempo de ejecución. Consulta Customize assets para más detalles. |
| tagResolver | opcional | Usa AdaptyUiTagResolver para resolver etiquetas personalizadas dentro del texto del flow. Este resolver toma un parámetro de etiqueta y lo resuelve en la cadena de texto correspondiente. |
| observerModeHandler | obligatorio para el modo Observer | El AdaptyUiObserverModeHandler que implementaste en el paso anterior. |
No olvides asociar los paywalls a las transacciones de compra. De lo contrario, Adapty no podrá determinar el flow de origen de la compra.