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 Fetch the visual configuration of paywall para más detalles.
productsopcionalProporciona un array de AdaptyPaywallProduct para optimizar el momento en que se muestran 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 Handling paywall events 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. Esto funciona bien 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 Change paywall insets más abajo para saber cómo hacerlo.

personalizedOfferResolveropcionalPara indicar precios personalizados (más información), implementa AdaptyUiPersonalizedOfferResolver y proporciona tu propia lógica que mapee AdaptyPaywallProduct a true si el precio del producto es personalizado, o a 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 a la cadena correspondiente. Consulta el tema Custom tags in Paywall Builder para más detalles.
timerResolveropcionalPasa el resolver aquí si vas a usar 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>