Pasar al contenido principal
Guía del usuario

compras en la aplicación para capacitor

Cómo implementar compras en la aplicación para capacitor utilizando el complemento de compras de Capacitor y RevenueCat

Martin Donadieu

Martin Donadieu

Gerente de contenido

compras en la aplicación para capacitor

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.

Una de las características clave del plugin de compras Capacitor es que se integra con RevenueCat, una plataforma que proporciona herramientas para suscripciones en aplicaciones y compras en aplicaciones. RevenueCat simplifica el proceso de implementar suscripciones en aplicaciones y compras proporcionando un API simple y consistente a través de múltiples plataformas, y automatizando tareas como la validación de recibos y el manejo de usuarios.

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
  • Soporte para modelos de precios personalizados
  • Análisis detallado -Escalabilidad

Al utilizar el plugin de compras Capacitor con RevenueCat, los desarrolladores pueden ahorrar tiempo y esfuerzo al implementar suscripciones en aplicaciones y compras en sus aplicaciones móviles, y proporcionar características adicionales que pueden ayudar a mejorar la experiencia del usuario y aumentar los ingresos.

Al utilizar el plugin de compras Capacitor y RevenueCat, los desarrolladores pueden gestionar y rastrear fácilmente suscripciones en aplicaciones y compras, validar recibos y gestionar usuarios a través de múltiples 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 plugin de compras Capacitor. Puede verificar la versión más reciente de Capacitor y el plugin de compras Capacitor en el sitio web de Capacitor.

Para instalar el plugin de compras Capacitor, ejecute el siguiente comando: npm i @capgo/capacitor-purchases agrega el plugin a tu aplicación nativa code npx cap sync

agrega la capacidad de compras en la aplicación en Xcode:

Paso 1 de Xcode luego paso 2 de Xcode

1. Crea una cuenta de RevenueCat

Esta guía te guiará a través de cómo obtener en funcionamiento con suscripciones y RevenueCat’s SDK con solo unas pocas líneas de code.

Registra una nueva cuenta de RevenueCat aquí.

📘

💡 ¡Aquí tienes una pista!

RevenueCat recomienda crear una cuenta de RevenueCat separada 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 empresa al registrarse en RevenueCat y configurar su aplicación dentro de un proyecto. Podrá invitar al resto de su equipo como colaboradores de su 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 Aplicación

▶️ Crear un Proyecto

Navegue hasta la consola de RevenueCat y agregue un nuevo proyecto desde el menú desplegable en la navegación superior llamado Proyectos.

Paso 1 de RevenueCat

El modal emergente para crear un nuevo Proyecto

▶️ Agregar una Aplicación / Plataforma

Desde Configuración de Proyecto > Aplicaciones en el menú izquierdo de la consola de proyecto, seleccione la plataforma para la aplicación que estará agregando.

Paso 2 de RevenueCat

Consola de proyecto para seleccionar la plataforma de la aplicación

El campo Nombre de la Aplicación es requerido 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 Bundle ID (iOS) / Nombre de Paquete (Android) así como la Clave Compartida (iOS) / Credenciales de Servicio (Android).

Paso 3 de RevenueCat

Página de configuración de Aplicación para una aplicación de Apple App Store

📘

¡Ten en cuenta esto!

Después de registrar tu aplicación, RevenueCat recomienda configurar Notificaciones del Servidor de la Plataforma. Estas notificaciones no son obligatorias, pero acelerarán webhooks y reducirán el tiempo de entrega de la integración y el tiempo de actualización de tus suscriptores.

📘

Aplicaciones de producción y de staging

RevenueCat no tiene entornos separados para producción y staging. 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 de sandbox como de producción desde las tiendas. Si tienes aplicaciones separadas para producción y staging, 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 de sandbox y compras activas de 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 tu nombre. Consulta las guías de RevenueCat App Store Connect Shared Secret, 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 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 respectivas. Consulta las siguientes guías para App Store Connect, Google Play Console, Amazon Appstore, y Stripe para obtener ayuda para navegar por este proceso.

Si 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. Esto debe completarse antes de que puedas probar cualquier compra..

📘

¿Quieres saltarte la configuración de la tienda mientras pruebas?

En iOS, puedes posponer la configuración de productos en App Store Connect configurando 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 sus productos en la aplicación hayan sido configurados en App Store Connect, Google Play Console, Amazon Appstoreo StripeRevenueCat utiliza un sistema de Entitlements para controlar el acceso a características premium y Ofertas para gestionar el conjunto de productos que ofrece a los clientes.

Las Entitlements son el nivel de acceso que un cliente está "autorizado" a después de comprar un producto específico. Las Ofertas son una forma sencilla para organizar los productos en la aplicación que desea "ofrecer" en su paywall y configurarlos remotamente. RevenueCat recomienda utilizar estas características para simplificar su code y permitirle cambiar productos sin tener que actualizar la aplicación.

Consulte Configuración de productos para configurar tus productos y luego organizarlos en Ofertas o Entregas.

RevenueCat paso 4

4. Usando Purchases de RevenueCat SDK

RevenueCat SDK implementa de manera fluida compras y suscripciones en varias plataformas mientras sincroniza tokens con el servidor de RevenueCat.

Si tienes problemas con el SDK, vea Solución de problemas de los SDK para obtener orientación.

📘

Solo utiliza tu clave pública SDK para configurar Purchases

Puedes obtener tu clave pública SDK desde la API claves pantalla bajo Configuración de proyecto en el panel de control.

Deberías configurar solo la instancia compartida de Compras solo una vez, generalmente al iniciar la aplicación. Posteriormente, la misma instancia se comparte a lo largo de tu aplicación accediendo 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 Compras 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 guide.

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 se encuentra en desarrollo, RevenueCat recomienda habilitar registros de depuración más verbales. Para obtener más información sobre estos registros, consulte su guía de depuración.

Si planea utilizar RevenueCat junto con su compra existente code, consulte su guía sobre 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 un momento 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 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 un momento posterior con una llamada a .logIn(). Para obtener más información, consulte la guía de RevenueCat sobre Identificar usuarios.

El SDK recuperará automáticamente las 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 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 Mostrando 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 está obteniendo su Ofertas, productos, o disponibles paquetes están vacíos, 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 Enviar'. En Google Play esto suele ocurrir cuando la aplicación no está publicada en un track cerrado y un usuario de prueba válido agregado.

Puede encontrar más información sobre cómo solucionar este problema en RevenueCat Centro de Ayuda.

▶️ Realizar una Compra

The SDK incluye un método simple para facilitar las compras. El purchase:package realiza un paquete desde la oferta recuperada y procesa la transacción con la tienda de aplicaciones correspondiente.

The code muestra a continuación el proceso de compra de un paquete y la confirmación de que desbloquea el contenido ‘your_entitlement_id’. Para obtener más detalles sobre el purchase:package método, consulte 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. Las compras se almacenan automáticamente en caché el estado más reciente cada vez que se actualiza — por lo que en la mayoría de los casos, este método recupera de la caché y ejecuta muy rápido. CustomerInfo Es común 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 una pista!

📘

Purchases

Puedes acceder a mucha más información sobre una suscripción que simplemente si está activa o no. Consulta la guía de RevenueCat sobre Estado de Suscripción para aprender si la suscripción está configurada para renovarse, si hay un problema detectado con la tarjeta de crédito del usuario y más.

RevenueCat permite a tus 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 puedan desencadenar 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 la 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 Usuarios de Aplicación restauran transacciones desde la misma cuenta de tienda subyacente (cuenta de Apple, Google o Amazon). RevenueCat puede intentar crear un alias entre los dos IDs de Usuarios de Aplicación y contarlos como el mismo usuario a partir de ese momento. Consulta la guía de RevenueCat sobre Restaurar Compras

Since the SDK 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 CustomerInfo por medio de la conformidad con un método de delegado opcional, purchases:receivedUpdated:.

Este método disparará cada vez que el SDK reciba una actualización CustomerInfo del objeto desde llamadas a getCustomerInfo(), purchase(package:), purchase(product:), o restorePurchases().

Las actualizaciones de información del cliente no son

Depending on your app, it may be sufficient to ignore the delegate and simply handle changes to customer information the next time your app is launched or in the completion blocks of the SDK methods.

CapacitorPurchases.addListener('purchasesUpdate', (data) => {
  console.log('purchasesUpdate', data)
})

👍

Dependiendo de tu aplicación, puede ser suficiente ignorar al delegado y simplemente manejar cambios a 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 del __CAPGO_KEEP_0__.

You have now implemented a fully-featured subscription purchasing system without spending a month writing server code. Congrats!

¡Has implementado ahora un sistema de compras de suscripciones completo sin gastar un mes escribiendo servidores __CAPGO_KEEP_0__! ¡Felicidades!

Aplicaciones de muestra de ejemplo para descargar más ejemplos completos de integración del SDK visita los recursos de aplicaciones de muestra de RevenueCat.

Ver Ejemplos

Publicaré pronto una aplicación de muestra utilizando Capacitor y Vue.js.

Si necesita mover una utilización profunda del Capacitor SDK, consulte la documentación aquí.

Pasos Siguientes

\

Si necesita actualizaciones en vivo en su aplicación

Únete aquí 👇

Regístrate aquí para obtener tu cuenta

Capgo

Actualizaciones en vivo para aplicaciones Capacitor

Cuando haya un error en la capa web, envía la corrección a través de Capgo en lugar de esperar días para la aprobación de la tienda. Los usuarios reciben la actualización en segundo plano mientras que los cambios nativos siguen en el camino de revisión normal.

Comienza ahora

Últimas noticias de nuestro Blog

Capgo te da las mejores pistas que necesitas para crear una aplicación móvil verdaderamente profesional.