Implementar web paywalls en Android SDK

Antes de empezar, asegúrate de haber configurado tu web paywall en el dashboard e instalado Adapty SDK versión 3.15 o posterior.

Abrir web paywalls

Si estás trabajando con un paywall que desarrollaste tú mismo, necesitas gestionar los web paywalls mediante el método del SDK. El método .openWebPaywall:

  1. Genera una URL única que permite a Adapty vincular un paywall concreto mostrado a un usuario específico con la página web a la que es redirigido.
  2. Detecta cuando tus usuarios vuelven a la app y luego solicita .getProfile en intervalos cortos para determinar si los derechos de acceso del perfil se han actualizado.

De esta forma, si el pago fue exitoso y los derechos de acceso se actualizaron, la suscripción se activa en la app casi de inmediato.

Cuando los usuarios vuelvan a la app, actualiza la interfaz para reflejar los cambios del perfil. Adapty recibirá y procesará los eventos de actualización del perfil.

Adapty.openWebPaywall(
    activity = activity,
    product = product,
) { error ->
    if (error == null) {
        // the web paywall was opened successfully
    } else {
        // handle the error
    }
}

Existen dos versiones del método openWebPaywall:

  1. openWebPaywall(product), que genera las URLs por paywall y también añade los datos del producto a las URLs.
  2. openWebPaywall(paywall), que genera las URLs por paywall sin añadir los datos del producto a las URLs. Úsalo cuando tus productos en el paywall de Adapty sean distintos a los del web paywall.

Abrir web paywalls en un navegador in-app

Por defecto, los web paywalls se abren en el navegador externo.

Para ofrecer una experiencia de usuario fluida, puedes abrir los web paywalls en un navegador in-app. Esto muestra la página de compra web dentro de tu aplicación, permitiendo a los usuarios completar las transacciones sin cambiar de app.

Para habilitarlo, establece el parámetro presentation en AdaptyWebPresentation.InAppBrowser:

Adapty.openWebPaywall(
    activity = activity,
    product = product,
    presentation = AdaptyWebPresentation.InAppBrowser,
) { error ->
    if (error == null) {
        // the web paywall was opened successfully
    } else {
        // handle the error
        val adaptyError = error
    }
}