In-App Purchase con RevenueCat + Swift (Parte 2 de 6)
1In-App Purchase con RevenueCat en Swift - ¿Cómo instalarlo?
2In-App Purchase con RevenueCat en Swift - ¿Cómo configurar los productos?
3In-App Purchase con RevenueCat en Swift - ¿Cómo mostrar los productos?
4In-App Purchase con RevenueCat en Swift - ¿Cómo comprar productos?
5In-App Purchase con RevenueCat en Swift - ¿Cómo comprobar el estado de una suscripción?
6In-App Purchase con RevenueCat en Swift - ¿Cómo restaurar compras?
In-App Purchase con RevenueCat en Swift - ¿Cómo configurar los productos?
Marcelo Laprea
25 mayo, 20238min de lectura
El dashboard de RevenueCat permite configurar que productos se muestran a los usuarios y controlarlos sin necesidad de actualizar la aplicación. Para ello, RevenueCat proporciona 3 niveles de configuración de productos que son:
- Products
- Entitlements
- Offerings
Products
Los productos son los SKU (Stock Keeping Unit o un identificador de una unidad) individuales que los usuarios realmente compran. Estos productos se configuran desde el App Store Connect para luego agregarlos en RevenueCat.
Hay 4 variantes de productos que se le pueden ofrecer a los usuarios:
- Suscripciones auto renovables
- Suscripciones no renovables
- Consumibles
- No Consumibles
Suscripciones Auto renovables
Es un producto que permite a los usuarios comprar contenido dinámico durante un período determinado. Este tipo de suscripción se renueva automáticamente a menos que el usuario la cancele.
Para crear suscripciones auto renovables, nos dirigimos a la sección Subscriptions justo en la sección Features a la izquierda del menú.
Luego creamos un Subscription Group o grupo de suscripción que básicamente son formas de organizar sus productos en App Store Connect para que los usuarios puedan cambiar entre productos. Todas las suscripciones deben ser parte de un grupo. Los usuarios solo pueden suscribirse a una suscripción en un grupo a la vez, pero pueden cambiar a otra suscripción en el mismo grupo.
Una vez dentro del grupo, creamos una suscripción. Para ello, escribimos un nombre de referencia y un ID.
Ya podemos configurar la suscripción, eligiendo los países en lo que estará activo, el precio y la duración. Una vez terminamos ésta edición de la suscripción, guardamos, y ya podrá ser revisada por Apple. Podemos crear nuevas suscripciones/productos sin necesidad de crear una nueva versión de la app.
Podemos crear más de un tipo de suscripción dentro de un grupo, con diferentes precios o duraciones, sin embargo, un usuario solo puede tener una sola suscripción del grupo activa a la vez.
Suscripciones no renovables
Permite a los usuario acceder a un servicio o contenidos por una duración limitada, como un pase de temporada para el contenido del juego. Este tipo de suscripción no se renueva automáticamente, por lo que los usuarios deben comprar una nueva suscripción una vez que finalice si desean conservar el acceso.
Para crear una suscripción no renovable, nos dirigimos a la sección Subscriptions justo en la sección Features a la izquierda del menú. Luego al fondo de la página, en la sección Non-Renewing Subscriptions, hacemos click en el botón manage.
Una vez dentro de la sección, creamos suscripción no renovable. Para ello, escribimos un nombre de referencia y un ID.
Ya podemos configurar la suscripción, eligiendo los países en lo que estará activo y el precio. Una vez terminamos ésta edición de la suscripción, guardamos, y ya podrá ser revisada por Apple en lo que se suba una nueva app a revisión.
Consumibles
Proporciona diferentes tipos de consumibles, como vidas o gemas que se usan para progresar en un juego. Las compras dentro de la aplicación consumibles se agotan a medida que se usan y se pueden volver a comprar. Se ofrecen con frecuencia en aplicaciones y juegos que utilizan el modelo comercial freemium.
Para crear un consumible, nos dirigimos a la sección In-App Purchases justo en la sección Features a la izquierda del menú. Luego creamos un producto, seleccionando Consumable como tipo e indicando nombre de referencia y un ID.
Ya podemos configurar el producto, eligiendo los países en lo que estará activo y el precio.
No consumibles
Proporciona características premium no consumibles que se compran una vez y no caducan. Un ejemplo pueden ser artículos cosméticos en un juego. Las compras en la aplicación no consumibles pueden ofrecer Family Sharing.
Para crear un producto no consumible, seguimos los mismos pasos que para los consumibles, pero a la hora de elegir el tipo de producto, seleccionamos Non-Consumable.
Una vez creados los productos en el App Store Connect, los agregamos al Dashboard de RevenueCat. Para ello, en el dashboard de RevenueCat seleccionamos Products en la sección Products and pricing a la izquierda del menú.
Luego, le damos al botón New, seleccionamos App Store, y como identificador se pone el mismo que se usó en el App Store Connect. De ésta forma, existe un match entre ambos productos.
Entitlements
Un Entitlement representa un nivel de acceso, funciones o contenido al que un usuario tiene "derecho". Se utilizan para garantizar que un usuario tenga acceso adecuado al contenido en función de sus compras, sin tener que administrar todos los identificadores de productos en el código de su aplicación.
Veamos un ejemplo de como funcionan los Entitlements:
Tenemos una app de trivia que necesitas vidas para poder jugar un nivel. Estas vidas se regeneran cada cierto tiempo hasta un límite de 5 vidas. En esta app, se pueden tener 3 productos diferentes:
- Suscripción mensual con vidas ilimitadas.
- Aumentar el número de vidas que se pueden regenerar, por ejemplo de 5 a 10.
- Regenerar vidas.
Para la suscripción, creamos un Entitlement llamado "VidasIlimitadas" asociando el producto respectivo. Cuando te suscribes, el Entitlement queda activo durante la duración de la suscripción. En este caso, el usuario tendrá vidas ilimitadas hasta que el usuario cancele su suscripción.
Para el caso de aumentar número de vidas, creamos otro Entitlement llamado "AumentarVidas" asociando el producto respectivo. Al ser un producto no consumible, es decir, que se compra una sola vez, el Entitlement estará activo para siempre.
Por último, para el caso de regenerar vidas, es posible que no queramos asociar a algún Entitlement, ya que la compra se hará repetidas veces.
Podemos crear cuantos Entitlements queramos, para ello en el dashboard de RevenueCat seleccionamos Entitlements en la sección Products and pricing a la izquierda del menú. Luego elegiremos un identificador y una descripción.
Seguido al crear los Entitlements, tenemos que asociarlos a los productos que creamos anteriormente, así RevenueCat sabe que Entitlement desbloquear a la hora de comprar un producto en específico. Para ello entramos en el Entitlement creado, y le damos click al botón Attach para seleccionar el producto a asociar.
Offerings
Las ofertas son la selección de productos que se "ofrecen" a un usuario. Es algo opcional, pero recomendada por RevenueCat, ya que puede facilitar el cambio y la experimentación con distintos productos. Por ejemplo, su oferta predeterminada puede contener una suscripción mensual y anual, pero es posible que desee experimentar con ofertas con una combinación diferente de duraciones de suscripción, duraciones de prueba, precios, etc. Dentro de cada oferta debe haber uno o más Paquetes. Los paquetes son simplemente un grupo de productos equivalentes en iOS, Android y la web. Si su aplicación está disponible en varias plataformas, un paquete contendría todos los ID de productos equivalentes de cada plataforma.
Para crear una oferta seleccionamos Offerings en la sección Products and pricing a la izquierda del menú. Creamos un Offering eligiendo un identificador y una descripción.
El dashboard de RevenueCat permite elegir que oferta debe ser la actual. La oferta "actual" o "current" es un método conveniente para que el SDK de Compras haga referencia a una oferta principal. Gracias a esto, podemos cambiar que productos ofertar dinámicamente desde el dashboard, sin necesidad de subir una nueva app a revisión.
Cada oferta que cree debe contener al menos un paquete que contenga productos multi-plataforma, para ello una vez creado el Offering, vamos a crear un paquete.
Entra en la oferta creada y haga click en New. Escribimos una descripción y elegir un identificador del menú desplegable que corresponda con la duración del paquete. Si la duración no es la adecuada, como pasa con las compras de productos consumibles, podemos elegir un identificador custom.
Una vez creado el paquete, hay que asociar un producto, para ello entramos en el paquete y hacemos click en Attach. Se nos pedirá que seleccionemos que producto asociar al paquete.
Ya tenemos los productos configurados, ahora podemos mostrarlos en nuestra app.
In-App Purchase con RevenueCat + Swift (Parte 2 de 6)
1In-App Purchase con RevenueCat en Swift - ¿Cómo instalarlo?
2In-App Purchase con RevenueCat en Swift - ¿Cómo configurar los productos?
3In-App Purchase con RevenueCat en Swift - ¿Cómo mostrar los productos?
4In-App Purchase con RevenueCat en Swift - ¿Cómo comprar productos?
5In-App Purchase con RevenueCat en Swift - ¿Cómo comprobar el estado de una suscripción?
6In-App Purchase con RevenueCat en Swift - ¿Cómo restaurar compras?