Android - Presentar paywalls con el nuevo Paywall Builder

Si has personalizado un paywall con el Paywall Builder, no necesitas preocuparte por renderizarlo en el código de tu app para mostrárselo al usuario. Ese paywall ya contiene tanto lo que se muestra como la forma en que se muestra.

Esta guía es solo para paywalls del nuevo Paywall Builder que requieren SDK v3.0. El proceso para mostrar paywalls es diferente según si fueron diseñados con versiones anteriores del Paywall Builder, si son paywalls con Remote Config, o si usas el modo Observer.

Para obtener el objeto viewConfiguration utilizado a continuación, consulta Obtener paywalls de Paywall Builder y su configuración.

Parámetros de la solicitud:

ParámetroPresenciaDescripción
viewConfigurationobligatorioProporciona un objeto AdaptyUI.LocalizedViewConfiguration con los detalles visuales del paywall. Usa el método Adapty.getViewConfiguration(paywall) para cargarlo. Consulta el tema Obtener la configuración visual del paywall para más detalles.
productsopcionalProporciona 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.
eventListeneropcionalProporciona un AdaptyUiEventListener para observar los eventos del paywall. Se recomienda extender AdaptyUiDefaultEventListener para facilitar su uso. Consulta el tema Gestión de eventos del paywall para más detalles.
insetsopcional

Los insets son los espacios alrededor del paywall que evitan que los elementos interactivos queden ocultos detrás de las barras del sistema.

Por defecto: UNSPECIFIED, lo que significa que Adapty ajustará automáticamente los insets, lo cual funciona perfectamente para paywalls de borde a borde.

Si tu paywall no es de borde a borde, puede que quieras definir insets personalizados. Consulta la sección Cambiar los insets del paywall más abajo para ver cómo hacerlo.

personalizedOfferResolveropcionalPara indicar precios personalizados (más información), implementa AdaptyUiPersonalizedOfferResolver y pasa tu propia lógica que asigne true a AdaptyPaywallProduct si el precio del producto es personalizado, o false en caso contrario.
tagResolveropcionalUsa AdaptyUiTagResolver para resolver etiquetas personalizadas dentro del texto del paywall. Este resolver recibe un parámetro de etiqueta y lo resuelve en la cadena de texto correspondiente. Consulta el tema Etiquetas personalizadas en Paywall Builder para más detalles.
timerResolveropcionalPasa el resolver aquí si vas a usar la funcionalidad de temporizador personalizado.

¿Quieres ver un ejemplo real de cómo se integra el SDK de Adapty en una app móvil? Echa un vistazo a nuestras apps de ejemplo, que muestran la configuración completa, incluyendo la visualización de paywalls, la realización de compras y otras funcionalidades básicas.

Cambiar los márgenes del paywall

Los márgenes son los espacios alrededor del paywall que evitan que los elementos interactivos queden ocultos detrás de las barras del sistema. Por defecto, Adapty ajusta automáticamente estos márgenes, lo que funciona perfectamente para paywalls de borde a borde.

Si tu paywall no es de borde a borde, puede que quieras definir márgenes personalizados:

  • Si ni la barra de estado ni la barra de navegación se superponen con AdaptyPaywallView, usa AdaptyPaywallInsets.NONE.
  • Para configuraciones más personalizadas, como cuando tu paywall se superpone con la barra de estado superior pero no con la inferior, puedes establecer solo el bottomInset a 0, como se muestra en el ejemplo a continuación:

Usar temporizador definido por el desarrollador

Para usar temporizadores definidos por el desarrollador en tu app, crea un objeto timerResolver —un diccionario o mapa que asocia temporizadores personalizados con los valores de cadena que los reemplazarán cuando se renderice el paywall. Aquí tienes un ejemplo:

En este ejemplo, CUSTOM_TIMER_NY es el Timer ID del temporizador definido por el desarrollador que configuraste en el Adapty dashboard. El timerResolver garantiza que tu app actualice dinámicamente el temporizador con el valor correcto, como 13d 09h 03m 34s (calculado como la hora de fin del temporizador, por ejemplo el Año Nuevo, menos la hora actual).

Usa etiquetas personalizadas

Para usar etiquetas personalizadas en tu app, crea un objeto tagResolver—un diccionario o mapa que asocia etiquetas personalizadas con los valores de cadena que las reemplazarán cuando se renderice el paywall. Aquí tienes un ejemplo:

En este ejemplo, USERNAME es una etiqueta personalizada que introdujiste en el Adapty dashboard como <USERNAME/>. El tagResolver se encarga de que tu app reemplace dinámicamente esta etiqueta personalizada con el valor especificado, como John.

Te recomendamos crear y rellenar el tagResolver justo antes de mostrar tu paywall. Una vez listo, pásalo al método de AdaptyUI que uses para presentar el paywall.

Cambiar el color del indicador de carga del paywall

Puedes sobrescribir el color predeterminado del indicador de carga de la siguiente manera:


<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">

    <item name="adapty_progressIndicatorColor">@color/yourColor</item>
</style>