Este complemento se ha transferido a la repositorio oficial de RevenueCat. Consulte la documentación oficial para obtener más información.
Capacitor Purchases is a plugin for the Capacitor framework that allows in-app purchases on iOS and Android. It provides a simple and consistent API across multiple platforms, making it easy for developers to implement in-app subscriptions and purchases in their mobile apps.
One of the key features of the Capacitor Purchases plugin is that it integrates with RevenueCat, a platform that provides tools for in-app subscriptions and in-app purchases. RevenueCat simplifies the process of implementing in-app subscriptions and purchases by providing a simple and consistent API across multiple platforms, and automating tasks such as receipt validation and user management.
Con RevenueCat, los desarrolladores pueden gestionar fácilmente suscripciones, rastrear ingresos y realizar otras tareas relacionadas. Algunas características ofrecidas por RevenueCat incluyen:
- Validación automática de recibos
- Gestión de usuarios
- Compatibilidad con modelos de precios personalizados
- Análisis detallado -Escalabilidad
Al utilizar el complemento de compras Capacitor con RevenueCat, los desarrolladores pueden ahorrar tiempo y esfuerzo al implementar suscripciones y compras en aplicaciones móviles, y proporcionar características adicionales que pueden ayudar a mejorar la experiencia del usuario y aumentar los ingresos.
Usando el complemento de compras Capacitor y RevenueCat, los desarrolladores pueden gestionar y rastrear fácilmente suscripciones y compras en aplicaciones móviles, validar recibos, y gestionar usuarios en varias plataformas. También permite crear modelos de precios personalizados y obtener análisis detallados para mejorar el rendimiento y los ingresos.
Instalación
Asegúrese de utilizar la versión más reciente de Capacitor y el complemento de compras Capacitor. Puede verificar la versión más reciente de Capacitor y el complemento de compras Capacitor en el sitio web de Capacitor.
Para instalar el complemento de compras Capacitor, ejecute el siguiente comando:
npm i @capgo/capacitor-purchases
agregue el complemento nativo code a su aplicación
npx cap sync
agregue la capacidad de compras en aplicaciones en Xcode:
luego

1. Crea una cuenta de RevenueCat
Esta guía te guiará a través de cómo obtener en marcha con suscripciones y RevenueCat’s SDK con solo unas pocas líneas de code.
Regístrate para una nueva cuenta de RevenueCat aquí.
📘
💡 ¡Aquí tienes un consejo!
RevenueCat recomienda crear una cuenta separada de RevenueCat para cada aplicación / proyecto que tengas, especialmente si alguna vez planeas vender la aplicación. Esto acelerará el proceso de transferencia, ya que puedes transferir la cuenta completa en lugar de esperar a que el soporte de RevenueCat transfiera proyectos individuales.
Organizaciones / Empresa
Recomendamos utilizar una cuenta de la empresa al registrarse en RevenueCat y configurar la aplicación dentro de un proyecto. Puedes invitar al resto de tu equipo como colaboradores a tu proyecto, pero solo el propietario del proyecto puede gestionar la facturación. Los colaboradores del proyecto no pueden gestionar los detalles de facturación.
2. Configuración del Proyecto y la Aplicación
▶️ Crear un Proyecto
Navegue hasta la consola de RevenueCat y agregue un nuevo proyecto desde el menú desplegable en la parte superior de la navegación llamado Proyectos.

El modal de diálogo para crear un nuevo Proyecto
▶️ Agregar una Aplicación / Plataforma
Desde Configuración del proyecto > Aplicaciones en el menú izquierdo de la consola de proyecto, seleccione la plataforma para la aplicación que estará agregando.

Consola de proyecto para seleccionar la plataforma de la aplicación
El campo Nombre de la aplicación es necesario para agregar su aplicación a RevenueCat. El resto de campos de configuración pueden agregarse más tarde. Para realizar compras de prueba y producción, deben configurarse el ID de paquete (iOS) / Nombre de paquete (Android) así como la Clave compartida (iOS) / Credenciales de servicio (Android).

Página de configuración de la aplicación para una aplicación de la Tienda de Mac App Store
📘
💡 ¡Aquí tienes una pista!
Después de registrar su aplicación, RevenueCat recomienda configurar Notificaciones del servidor de plataforma. Estas notificaciones no son obligatorias, pero acelerarán el tiempo de entrega de webhooks y de integraciones, y reducirán el tiempo de espera al actualizar a sus suscriptores. webhooks y integraciones
📘
Staging vs. Aplicaciones de Producción y usuarios
RevenueCat no tiene entornos separados para Staging y Producción. En su lugar, las transacciones subyacentes para los usuarios se diferencian por sandbox y producción.
Cualquier aplicación de RevenueCat puede realizar compras tanto en sandbox como en producción desde las tiendas. Si tienes aplicaciones separadas para Staging y Producción, puedes crear varios proyectos en RevenueCat para reflejar tu configuración.
Además, los usuarios no se separan por entorno. El mismo usuario puede tener compras activas tanto en sandbox como en producción al mismo tiempo.
▶️ Credenciales de Servicio
Las credenciales de servicio deben configurarse para que RevenueCat pueda comunicarse con las tiendas de aplicaciones en su nombre. Consulte las guías de RevenueCat Secreta Compartida de App Store Connect, Credenciales de Servicio de Play, y Amazon Appstore Shared Secret para obtener más información.
Tenga en cuenta que las credenciales de servicio de Google Play pueden tardar hasta 36 horas en propagarse a través de los servidores de Google.
3. Configuración del producto
▶️ Configuración de la tienda
Antes de que puedas empezar a utilizar RevenueCat para obtener productos, debes configurar tus productos en las tiendas correspondientes. Consulta los siguientes guías para App Store Connect, Google Play Console, Amazon Appstore, y Stripe para obtener ayuda para navegar por este proceso.
If estás vendiendo productos iOS, asegúrate de firmar tu ‘Acuerdo de Aplicaciones Pagadas’ y rellena tu información bancaria y fiscal en App Store Connect > Acuerdos, Impuestos y Bancos. Debes completar esto antes de poder probar cualquier compra.
📘
¿Quieres saltarte la configuración de la tienda mientras estás probando?
En iOS, puedes posponer la configuración de productos en App Store Connect probando con archivos de configuración de StoreKit en lugar de eso. Estos archivos de configuración requieren una configuración mínima y son configurables directamente a través de Xcode.
Lee más sobre la configuración de archivos de configuración de StoreKit en RevenueCat Pruebas de Entorno de Desarrollo guía.
▶️ Configura Productos y Entitlements en RevenueCat
Una vez que tus productos en la aplicación hayan sido configurados en App Store Connect, Google Play Console, Amazon Appstore, o Stripe, necesitarás copiar esa configuración en la consola de RevenueCat. RevenueCat utiliza un sistema de Entitlements para controlar el acceso a características premium y Ofertas para gestionar el conjunto de productos que ofreces a los clientes.
Los Entitlements son el nivel de acceso que un cliente está “entitulado” a después de comprar un producto específico. Las Ofertas son una forma sencilla de organizar los productos en la tienda de tu aplicación y configurarlos remotamente. RevenueCat recomienda utilizar estas características para simplificar tu code y permitirte cambiar productos sin tener que actualizar la aplicación.
Ver Configuración de productos para configurar tus productos y luego organizarlos en Ofertas o Entitlements.

4. Utilizando la función de compras de RevenueCat SDK
RevenueCat SDK implementa compras y suscripciones de manera fluida en varias plataformas mientras sincroniza tokens con el servidor de RevenueCat.
Si se encuentran problemas con el SDK, consulte Solución de problemas de los SDK para obtener orientación.
📘
Solo utilice su clave pública SDK para configurar Compras
Puede obtener su clave pública SDK desde la API keys pantalla bajo Configuración de proyecto en la consola.
Solo configure la instancia compartida de Compras generalmente en la inicialización de la aplicación. Posteriormente, la misma instancia se comparte a lo largo de tu aplicación al acceder a la .shared instancia en el SDK.
Consulte la guía de RevenueCat sobre Configuración de SDK para obtener más información y mejores prácticas.
Asegúrate de configurar Purchases con tu clave pública SDK solo. Puedes leer más sobre las diferentes claves API disponibles en la guía de autenticación de RevenueCat Guía de autenticación.
import { CapacitorPurchases } from '@capgo/capacitor-purchases'
import { isPlatform } from '@ionic/vue' // use the right one for your framework
CapacitorPurchases.setDebugLogsEnabled({ enabled: import.meta.env.DEV }) // Enable to get debug logs in dev mode
if (isPlatform('ios')) {
CapacitorPurchases.setup({ apiKey:'appl_******'})
} else if (isPlatform('android')) {
CapacitorPurchases.setup({ apiKey:'goog_******'})
}
Cuando estás en desarrollo, RevenueCat recomienda habilitar registros de depuración más verbosos. Para obtener más información sobre estos registros, consulta su Guía de depuración Guía de depuración
Si planea utilizar RevenueCat junto con su compra existente code, consulte su guía en Modo de Observación.
📘
Configuración de compras con IDs de usuario
Si tiene un sistema de autenticación de usuarios en su aplicación, puede proporcionar un identificador de usuario en el momento de la configuración o en una fecha posterior con una llamada a
.logIn()Para obtener más información, consulte la guía de RevenueCat sobre Identificación de usuarios.
El SDK recuperará automáticamente los Ofertas configuradas y recuperará la información del producto de Apple, Google o Amazon. Por lo tanto, los productos disponibles ya estarán cargados cuando los clientes lancen su pantalla de compra.
A continuación, se muestra un ejemplo de recuperación de Ofertas. Puede utilizar Ofertas para organizar su pantalla de pago. Consulte la guía de RevenueCat sobre Mostrar productos para obtener más información y mejores prácticas.
▶️ Recuperar y mostrar productos disponibles
📘
Configurando compras con identificadores de usuario
Si tienes un sistema de autenticación de usuarios en tu aplicación, puedes proporcionar un identificador de usuario en el momento de la configuración o en un momento posterior con una llamada a
.logIn(). Para obtener más información, consulta la guía de RevenueCat sobre Identificación de usuarios.
El SDK recuperará automáticamente los ofertas configuradas y recuperará la información de producto de Apple, Google o Amazon. Por lo tanto, los productos disponibles ya estarán cargados cuando los clientes lancen tu pantalla de compra.
A continuación, se muestra un ejemplo de recuperación de ofertas. Puedes utilizar ofertas para organizar tu pantalla de pago. Consulta la guía de RevenueCat sobre Mostrar productos para obtener más información y mejores prácticas.
const { offerings } = await CapacitorPurchases.getOfferings()
if (offerings.current !== null) {
// Display current offering with offerings.current
}
Si se recuperan tus Ofertas, productos, o disponibles paquetes Los paquetes están vacíos, esto se debe a algún problema de configuración en la tienda correspondiente.
Las razones más comunes para esto en App Store Connect son un 'Acuerdo de Aplicaciones Pagadas' desactualizado o productos que no están al menos en el estado 'Listo para Presentar'. En Google Play, esto suele ocurrir cuando la aplicación no está publicada en un track cerrado y no se ha agregado un usuario de prueba válido.
Puede encontrar más información sobre cómo solucionar este problema en RevenueCat Centro de Ayuda.
▶️ Realizar una Compra
El SDK incluye un método simple para facilitar las compras. El purchase:package procesa un paquete desde la oferta obtenida y procesa la transacción con la tienda de aplicaciones correspondiente.
El ejemplo de muestra de code a continuación muestra el proceso de compra de un paquete y la confirmación de que desbloquea el contenido 'your_entitlement_id'. Más detalles sobre el purchase:package El método se puede encontrar en la guía de RevenueCat sobre Hacer Compras.
const purchase = async (p: Package): Promise<PurchaserInfo | null> => {
try {
// console.log('purchase', p)
const data = await CapacitorPurchases.purchasePackage({
identifier: p.identifier,
offeringIdentifier: p.offeringIdentifier,
})
const purchaserInfo = data.purchaserInfo
// console.log('listenBuy', purchaserInfo)
if (purchaserInfo.activeSubscriptions.includes(p.identifier)) {
// set the user as paid
}
return purchaserInfo
}
catch (e) {
console.error('listenBuy error', e)
}
return null
}
▶️ Verificar el estado de la suscripción
Puede utilizar este método cada vez que necesite obtener el estado más reciente, y es seguro llamar a este método repetidamente a lo largo de la vida útil de su aplicación. Compras se almacena automáticamente el estado más reciente CustomerInfo cada vez que se actualiza — por lo tanto, en la mayoría de los casos, este método extrae de la caché y ejecuta muy rápido.
Es típico llamar a este método cuando se decide qué interfaz mostrar al usuario, y cada vez que el usuario realiza una acción que requiere un nivel de permiso determinado.
📘
💡 ¡Aquí tienes un consejo!
Puede acceder a mucha más información sobre una suscripción que simplemente si está activa o no. Consulte la guía de RevenueCat sobre Estado de la Suscripción para aprender si la suscripción está configurada para renovarse, si se ha detectado un problema con la tarjeta de crédito del usuario y más.
RevenueCat permite a sus usuarios restaurar sus compras en la aplicación, reactivando cualquier contenido que compraron anteriormente desde la misma cuenta de tienda. (Cuenta de Apple, Google o Amazon). Recomendamos que todas las aplicaciones tengan alguna forma para que los usuarios desencadenen el método de restauración. Ten en cuenta que Apple requiere un mecanismo de restauración en caso de que un usuario pierda acceso a sus compras (por ejemplo: desinstalando/reinstalando la aplicación, perdiendo su información de cuenta, etc).
const res = await CapacitorPurchases.restoreTransactions()
const purchaserInfo = res.purchaserInfo
const ids: string[] = [] // extract active subscriptions ids
purchaserInfo.activeSubscriptions.forEach((id) => {
ids.push(id)
})
Si dos diferentes IDs de usuario de la aplicación restauran transacciones de la misma cuenta de tienda subyacente (Cuenta de Apple, Google o Amazon). RevenueCat puede intentar crear un alias entre los dos IDs de usuario de la aplicación y contarlos como el mismo usuario en adelante. Consulte la guía de RevenueCat sobre la restauración de compras para obtener más información sobre los diferentes comportamientos de restauración configurables. Desde que la __CAPGO_KEEP_0__ funciona sin problemas en cualquier plataforma, los cambios en la información de compra de un usuario pueden provenir de varias fuentes. Puede responder a cualquier cambio en la información de compra de un cliente concretando a un método de delegado opcional.
Este método disparará cada vez que la SDK reciba un objeto de compra actualizado desde llamadas a CustomerInfo Restoring Purchases purchases:receivedUpdated:.
This method will fire whenever the SDK receives an updated CustomerInfo Since the __CAPGO_KEEP_0__ works seamlessly on any platform, changes to a user’s purchase info may come from a variety of sources. You can respond to any changes in a customer’s getCustomerInfo(), purchase(package:), purchase(product:)o bien restorePurchases().
las actualizaciones de CustomerInfo no se envían a tu aplicación desde el backend de RevenueCat, las actualizaciones solo pueden ocurrir desde una solicitud de red saliente a RevenueCat, como se mencionó anteriormente. dependiendo de tu aplicación, puede ser suficiente ignorar el delegado y manejar cambios en la información del cliente la próxima vez que tu aplicación se inicie o en los bloques de finalización de los métodos __CAPGO_KEEP_0__. ¡Lo has hecho!
¡Has implementado ahora un sistema de suscripción completo de compra sin gastar un mes escribiendo servidores SDK! ¡Felicidades!
CapacitorPurchases.addListener('purchasesUpdate', (data) => {
console.log('purchasesUpdate', data)
})
👍
Ejemplos de Aplicación
Para descargar ejemplos más completos de la integración de la code, dirígete a los recursos de aplicaciones de muestra de RevenueCat.
Ver Ejemplos
Pronto publicaré una aplicación de muestra utilizando SDK y Vue.js.
Si necesitas mover un uso profundo de la __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ revisa la documentación
Capacitor
If you need to move deep usage of the Capacitor SDK check the documentation here.
Pasos siguientes
\
- Si aún no lo has hecho, asegúrate de que tus productos estén configurados correctamente revisando la documentación de RevenueCat sobre la configuración de productos Si deseas utilizar tus propios identificadores de usuario, lee sobre.
- configuración de identificadores de usuario de aplicaciones Si estás cambiando a RevenueCat desde otro sistema, consulta la guía de RevenueCat sobre .
- migración de suscripciones existentes Una vez que estés listo para probar tu integración, puedes seguir las guías de RevenueCat sobre.
- pruebas y depuración Si calificas para el Programa de Pequeñas Empresas de la Tienda de Mac App, consulta la guía de RevenueCat sobre.
- cómo solicitar y notificar a RevenueCat __CAPGO_KEEP_0__
Si necesita actualizaciones en vivo en su aplicación
Únete aquí 👇
Registra aquí para obtener tu cuenta
Sigue adelante con compras en la aplicación para capacitor
Si está utilizando compras en la aplicación para capacitor para planificar pagos y compras, conecte con Capgo Precios para el flujo de trabajo del producto en Capgo Precios, Sistema de pago para los detalles de implementación en Sistema de pago @capgo/compras nativas para el detalle de implementación en @capgo/compras nativas, Inicio rápido para el detalle de implementación en Inicio rápido, y Guía de ingresos para el detalle de implementación en Guía de ingresos.