Habilitar compras en tu paywall personalizado con el SDK de Kotlin Multiplatform
Esta guía describe cómo integrar Adapty en tus paywalls personalizados. Mantén el control total sobre la implementación del paywall mientras el SDK de Adapty obtiene los productos, gestiona las nuevas compras y restaura las anteriores.
Esta guía es para desarrolladores que implementan paywalls personalizados. Si quieres la forma más sencilla de habilitar compras, usa el Paywall Builder de Adapty. Con el Paywall Builder, creas paywalls en un editor visual sin código, Adapty gestiona toda la lógica de compra automáticamente y puedes probar distintos diseños sin volver a publicar tu app.
Antes de empezar
Configura los productos
Para habilitar las compras in-app, necesitas entender tres conceptos clave:
- Productos – cualquier cosa que los usuarios pueden comprar (suscripciones, consumibles, acceso de por vida)
- Paywalls – configuraciones que definen qué productos ofrecer. En Adapty, los paywalls son la única forma de recuperar productos, pero este diseño te permite modificar productos, precios y ofertas sin tocar el código de tu app.
- Placements – dónde y cuándo muestras paywalls en tu app (como
main,onboarding,settings). Configuras paywalls para placements en el dashboard y luego los solicitas por ID de placement en tu código. Esto facilita ejecutar pruebas A/B y mostrar distintos paywalls a diferentes usuarios.
Asegúrate de entender estos conceptos aunque trabajes con tu paywall personalizado. En esencia, son solo tu forma de gestionar los productos que vendes en tu app.
Para implementar tu paywall personalizado, necesitarás crear un paywall y añadirlo a un placement. Esta configuración te permite recuperar tus productos. Para entender qué debes hacer en el dashboard, sigue la guía de inicio rápido aquí.
Gestiona los usuarios
Puedes trabajar con o sin autenticación de backend por tu parte.
Sin embargo, el SDK de Adapty gestiona de forma diferente los usuarios anónimos y los identificados. Lee la guía de inicio rápido de identificación para entender los detalles y asegurarte de que trabajas con los usuarios correctamente.
Paso 1. Obtén los productos
Para recuperar los productos de tu paywall personalizado, necesitas:
- Obtener el objeto
paywallpasando el ID del placement al métodogetPaywall. - Obtener el array de productos para este paywall usando el método
getPaywallProducts.
fun loadPaywall() {
Adapty.getPaywall(placementId = "YOUR_PLACEMENT_ID")
.onSuccess { paywall ->
Adapty.getPaywallProducts(paywall = paywall)
.onSuccess { products ->
// Use products to build your custom paywall UI
}
.onError { error ->
// Handle the error
}
}
.onError { error ->
// Handle the error
}
}
Paso 2. Acepta las compras
Cuando un usuario toca un producto en tu paywall personalizado, llama al método makePurchase con el producto seleccionado. Esto gestionará el flujo de compra y devolverá el perfil actualizado.
fun purchaseProduct(product: AdaptyPaywallProduct) {
Adapty.makePurchase(product = product)
.onSuccess { purchaseResult ->
when (purchaseResult) {
is AdaptyPurchaseResult.Success -> {
val profile = purchaseResult.profile
// Purchase successful, profile updated
}
is AdaptyPurchaseResult.UserCanceled -> {
// User canceled the purchase
}
is AdaptyPurchaseResult.Pending -> {
// Purchase is pending (e.g., user will pay offline with cash)
}
}
}
.onError { error ->
// Handle the error
}
}
Paso 3. Restaura las compras
Los stores de apps exigen que todas las apps con suscripciones ofrezcan una forma de restaurar las compras.
Llama al método restorePurchases cuando el usuario toque el botón de restaurar. Esto sincronizará su historial de compras con Adapty y devolverá el perfil actualizado.
fun restorePurchases() {
Adapty.restorePurchases()
.onSuccess { profile ->
// Restore successful, profile updated
}
.onError { error ->
// Handle the error
}
}
Pasos siguientes
¿Tienes preguntas o estás teniendo algún problema? Consulta nuestro foro de soporte donde encontrarás respuestas a preguntas frecuentes o podrás plantear las tuyas. ¡Nuestro equipo y la comunidad están aquí para ayudarte!
Tu paywall está listo para mostrarse en la app. Prueba tus compras en el sandbox de App Store o en Google Play Store para asegurarte de que puedes completar una compra de prueba desde el paywall. Para ver cómo funciona esto en una implementación lista para producción, consulta el AppViewModel.kt en nuestra app de ejemplo, que demuestra la gestión de compras con manejo adecuado de errores y gestión de estados.
A continuación, comprueba si los usuarios han completado su compra para determinar si mostrar el paywall o conceder acceso a las funciones de pago.