Pasar al contenido principal
Guía del tutorial

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 documentación oficial de RevenueCat. Consulte la documentación oficial para obtener más información.

Si prefieres una aplicación nativa API más sencilla sin RevenueCat, Compras nativas @capgo/ Implementa compras en la aplicación y suscripciones directamente con StoreKit y Google Play Billing.

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

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

Usando el plugin de compras Capacitor y RevenueCat, los desarrolladores pueden gestionar y rastrear fácilmente las suscripciones y compras en la aplicación, validar recibos y gestionar usuarios en múltiples plataformas. También permite crear modelos de precios personalizados y obtener análisis detallados para mejorar el rendimiento y la recaudación de ingresos.

Instalación

Asegúrese de utilizar la última versión de Capacitor y el plugin de compras Capacitor. Puede verificar la última versión 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 agregue el plugin a su aplicación nativa code npx cap sync

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

Xcode paso 1 luego Xcode paso 2

1. Cree una cuenta de RevenueCat

Esta guía le 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ístrese en una nueva cuenta de RevenueCat allí.

📘

💡 ¡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. Así podrás invitar al resto de tu equipo como colaboradores a tu proyecto, pero solamente 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

▶️ Crea un Proyecto

Navega a la consola de RevenueCat y agregar un nuevo proyecto desde el menú desplegable en la parte superior de la navegación llamado Proyectos.

RevenueCat paso 1

El modal de diálogo 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.

RevenueCat paso 2

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. Los demás campos de configuración se pueden agregar más tarde. Para realizar compras de prueba y producción, es necesario configurar el ID de paquete (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 la aplicación para una aplicación de la Tienda de Aplicaciones de Apple

📘

¡Una idea brillante!

Después de registrar su aplicación, RevenueCat recomienda configurar Notificaciones del servidor de plataformaEstas notificaciones no son obligatorias, pero acelerarán webhooks y reducirán el tiempo de entrega de la integración y el retraso al actualizar a sus suscriptores.

📘

Aplicaciones y usuarios de producción y de pruebas

RevenueCat no tiene entornos separados para pruebas y producción. En su lugar, las transacciones subyacentes para los usuarios se diferencian por entorno de pruebas y producción.

Any app de RevenueCat puede realizar compras tanto de pruebas como de 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, tampoco. El mismo usuario puede tener compras de pruebas activas y compras de producción activas 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 Credencial compartida de Amazon Appstore para obtener más información.

Ten 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 de producto

▶️ Configuración de tienda

Antes de poder empezar a utilizar RevenueCat para obtener productos, debes configurar tus productos en las tiendas correspondientes. Consulta los siguientes tutoriales para App Store Connect, Google Play Console, Amazon Appstorey Stripe para obtener ayuda para navegar por este proceso.

Si estás vendiendo productos de 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 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 un mínimo de configuración y son configurables directamente a través de Xcode.

Conoce 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 derechos en RevenueCat

Una vez que hayas configurado tus productos de pago 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 derechos para controlar el acceso a características premium y Ofertas para gestionar el conjunto de productos que ofreces a los clientes.

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

Ver Configuración de productos para configurar tus productos y luego organizarlos en Ofertas o Entidades.

RevenueCat paso 4

4. Utilizando la interfaz de programación de aplicaciones de RevenueCat SDK

La interfaz de programación de aplicaciones de RevenueCat SDK implementa compras y suscripciones de manera fluida en varias plataformas mientras sincroniza tokens con el servidor de RevenueCat.

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

📘

Sólo utiliza tu clave pública de SDK para configurar Compras

Puede obtener su clave pública SDK desde la API claves pestaña bajo Configuración del proyecto en la consola.

Debería configurar solo la instancia compartida de Purchases una vez, generalmente al iniciar la aplicación. Posteriormente, la misma instancia se comparte a lo largo de su 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 API claves disponibles en 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 más depuración de registros de depuración verbosos. Para obtener más información sobre estos registros, consulta su Guía de depuración Si planeas utilizar RevenueCat junto con tu compra existente __CAPGO_KEEP_0__, consulta su guía sobre

If you’re planning to use RevenueCat alongside your existing purchase code, refer to their guide on Configurando Compras con IDs 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

. Para aprender más, consulta la guía de RevenueCat sobre .logIn()Configuración de Compras con IDs de usuario Identificar a los usuarios.

El SDK recuperará automáticamente las 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 IDs de usuarios

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 a los 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.

Se muestra a continuación 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.

const { offerings } = await CapacitorPurchases.getOfferings()
if (offerings.current !== null) {  
    // Display current offering with offerings.current
}

Si la recuperación de sus Ofertas, productoso paquetes disponibles están vacíos, se debe a algún problema de configuración en la tienda correspondiente. configured Offerings

Los motivos más comunes para este problema 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 se ha agregado un usuario de prueba válido.

Encontrarás más información sobre la solución de problemas de este problema en RevenueCat Ayuda.

▶️ Hacer una compra

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

El ejemplo de code a continuación muestra el proceso de compra de un paquete y confirmar que desbloquea el contenido 'your_entitlement_id'. Más detalles sobre el purchase:package puedes 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

Puedes utilizar este método cada vez que necesites obtener el estado más reciente, y es seguro llamar a este método repetidamente a lo largo de la vida útil de tu aplicación. Compras almacena automáticamente la versión más reciente CustomerInfo cuando se actualiza — por lo tanto, en la mayoría de los casos, este método extrae de la caché y se ejecuta muy rápido.

Es habitual 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 acceso determinado.

📘

💡 ¡Aquí tienes un consejo!

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 saber 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 hayan comprado 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 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 usuario de la aplicación restaurar transacciones desde la misma cuenta de almacenamiento 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 a partir de ahora. Consulte la guía de RevenueCat sobre Restaurar compras para obtener más información sobre las diferentes configuraciones de comportamiento de restauración.

Desde que el SDK 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 CustomerInfo conformándose a un método de delegado opcional purchases:receivedUpdated:.

Este método se disparará cada vez que el SDK reciba un objeto actualizado CustomerInfo de 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)
})

👍

¡Lo has hecho!

Has implementado ahora un sistema de compras de suscripción completo sin gastar un mes escribiendo el servidor code. ¡Felicidades!

Aplicaciones de muestra

Para descargar ejemplos más completos de la integración del SDK, dirígete a los recursos de aplicaciones de muestra de RevenueCat.

Ver muestras

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

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

Pasos siguientes

\

Si necesita actualizaciones en vivo en su aplicación

Únete aquí 👇

Registra aquí para obtener tu cuenta

Capgo

Sigue adelante desde compras en la aplicación para capacitor

Si estás utilizando compras en la aplicación para capacitor para planificar pagos y compras, conecta 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 los detalles de implementación en @capgo/compras nativas, Iniciar sesión para los detalles de implementación en Iniciar sesión, y Libro de estrategias de ingresos para los detalles de implementación en el Libro de Planificación de Ingresos.

Actualizaciones en vivo para Capacitor aplicaciones

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

soporte humano de Martin

Iniciar Ahora

Últimas noticias de nuestro Blog

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