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:
- 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.
- Detecta cuando tus usuarios vuelven a la app y luego solicita
.getProfileen 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:
openWebPaywall(product), que genera las URLs por paywall y también añade los datos del producto a las URLs.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
}
}