In-App Purchase con RevenueCat + Swift (Parte 4 de 6)1

In-App Purchase con RevenueCat en Swift - ¿Cómo instalarlo?

2

In-App Purchase con RevenueCat en Swift - ¿Cómo configurar los productos?

3

In-App Purchase con RevenueCat en Swift - ¿Cómo mostrar los productos?

4

In-App Purchase con RevenueCat en Swift - ¿Cómo comprar productos?

5

In-App Purchase con RevenueCat en Swift - ¿Cómo comprobar el estado de una suscripción?

6

In-App Purchase con RevenueCat en Swift - ¿Cómo restaurar compras?

In-App Purchase con RevenueCat en Swift - ¿Cómo comprar productos?

Después de configurar y mostrar los productos en nuestra aplicación, es hora de ver cómo realizar una compra con RevenueCat.

Comprar un producto con RevenueCat

Para efectuar una compra, se necesita disponer de un package que contenga toda la información pertinente al producto que el usuario desea adquirir. Si no se tiene claro cómo obtener estos packages, se puede consultar el artículo sobre cómo mostrar los productos.

El SDK de RevenueCat proporciona un método para llevar a cabo la compra, donde simplemente se debe enviar el package de la siguiente manera:

Purchases.shared.purchase(package: package) {
(transaction, customerInfo, error, userCancelled) in
}

El completion block contiene varios atributos que resultan útiles para manejar la transacción:

  • transaction: Contiene información sobre la transacción, incluyendo el identificador del producto, la fecha de compra, el identificador de la transacción y la cantidad.

  • customerInfo: Si la compra se ha realizado con éxito, este objeto contendrá información relevante; de lo contrario, será nulo. Proporciona detalles sobre todas las compras y suscripciones que el usuario ha realizado en la aplicación, lo que incluye la posibilidad de determinar si el usuario está suscrito a alguno de los productos ofrecidos.

  • error: Este objeto solo estará presente si la compra experimentó un fallo; de lo contrario, será nulo.

  • userCancelled: Uno de los tipos de error que se puede recibir es aquel que indica que el usuario canceló la compra. Sin embargo, para evitar la necesidad de manejar diversos errores, el SDK nos proporciona este booleano para identificar específicamente si el usuario canceló la transacción.

Para verificar si la compra se realizó correctamente, se puede inspeccionar el objeto customerInfo y comprobar si el entitlement está activo o no. Para más detalles sobre los entitlements, se puede consultar este artículo.

Purchases.shared.purchase(package: package) { (transaction, customerInfo, error, userCancelled) in
if customerInfo.entitlements["entitlement_id_que_quieres_comprobar"]?.isActive == true {
// Desbloquear el contenido que el usuario haya comprado
}
}

Notas

  • Es fundamental manejar los errores adecuadamente para proporcionar al usuario información clara sobre cualquier problema durante el proceso de compra.
  • Se debe ofrecer una opción para que el usuario pueda restaurar sus compras en caso de que lo necesite, ya que Apple requiere esta funcionalidad durante el proceso de revisión de la aplicación.
  • El método Purchases.shared.getCustomerInfo proporcionado por el SDK permite verificar si el usuario está suscrito o no en la aplicación.
In-App Purchase con RevenueCat + Swift (Parte 4 de 6)1

In-App Purchase con RevenueCat en Swift - ¿Cómo instalarlo?

2

In-App Purchase con RevenueCat en Swift - ¿Cómo configurar los productos?

3

In-App Purchase con RevenueCat en Swift - ¿Cómo mostrar los productos?

4

In-App Purchase con RevenueCat en Swift - ¿Cómo comprar productos?

5

In-App Purchase con RevenueCat en Swift - ¿Cómo comprobar el estado de una suscripción?

6

In-App Purchase con RevenueCat en Swift - ¿Cómo restaurar compras?

Comparte este artículo

Subscríbete a nuestro Newsletter

Mantente al día en el mundo de las aplicaciones móviles con nuestro blog especializado.

Artículos semanales

Todas las semanas artículos nuevos sobre el mundo de las aplicaciones móviles.

No spam

No te enviaremos spam, solo contenido de calidad. Puedes darte de baja cuando quieras.

Contenido de calidad

Nada de contenido generado de manera automática usando ChatGPT.

Recomendaciones

Tips indispensables sobre mejores prácticas y metodologías.

© 2024 AsyncLearn