Responder a acciones de botones en el SDK de Android
Si estás creando paywalls con el Paywall Builder de Adapty, es fundamental configurar los botones correctamente:
- Añade un botón en el Paywall Builder y asígnale una acción predefinida o crea un ID de acción personalizado.
- Escribe código en tu app para gestionar cada acción que hayas asignado.
Esta guía explica cómo gestionar acciones personalizadas y predefinidas en tu código.
Solo las compras, restauraciones, cierres de paywall y apertura de URLs se gestionan automáticamente. Todas las demás acciones de botones requieren una implementación de respuesta adecuada en el código de la app.
Cerrar paywalls
Para añadir un botón que cierre tu paywall:
- En el Paywall Builder, añade un botón y asígnale la acción Close.
- En el código de tu app, implementa un manejador para la acción
closeque descarte el paywall.
En el SDK de Android, la acción close cierra el paywall por defecto. Sin embargo, puedes sobreescribir este comportamiento en tu código si lo necesitas. Por ejemplo, cerrar un paywall podría abrir otro.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Close -> (context as? Activity)?.onBackPressed() // default behavior
}
}
Abrir URLs desde paywalls
Si quieres añadir un grupo de enlaces (por ejemplo, términos de uso y restauración de compras), añade un elemento Link en el Paywall Builder y gestiónalo de la misma forma que los botones con la acción Open URL.
Para añadir un botón que abra un enlace desde tu paywall (por ejemplo, Términos de uso o Política de privacidad):
- En el Paywall Builder, añade un botón, asígnale la acción Open URL e introduce la URL que quieres abrir.
- En el código de tu app, implementa un manejador para la acción
openUrlque abra la URL recibida en un navegador.
En el SDK de Android, la acción openUrl abre la URL por defecto. Sin embargo, puedes sobreescribir este comportamiento en tu código si lo necesitas.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.OpenUrl -> {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(action.url)) // default behavior
context.startActivity(intent)
}
}
}
Iniciar sesión en la app
Para añadir un botón que permita a los usuarios iniciar sesión en tu app:
- En el Paywall Builder, añade un botón y asígnale la acción Login.
- En el código de tu app, implementa un manejador para la acción
loginque identifique a tu usuario.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Login -> {
val intent = Intent(context, LoginActivity::class.java)
context.startActivity(intent)
}
}
}
Gestionar acciones personalizadas
Para añadir un botón que gestione cualquier otra acción:
- En el Paywall Builder, añade un botón, asígnale la acción Custom y asígnale un ID.
- En el código de tu app, implementa un manejador para el ID de acción que hayas creado.
Por ejemplo, si tienes otro conjunto de ofertas de suscripción o compras únicas, puedes añadir un botón que muestre otro paywall:
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.Custom -> {
if (action.customId == "openNewPaywall") {
// Display another paywall
}
}
}
}