Guía
Tutorial sobre Compras Nativas
Usando @capgo/native-purchases
Suscripciones en la Aplicación Facil.
Instalar
bun add @capgo/native-purchases
bunx cap sync
Qué Esta Pluggin Exposa
restorePurchases- Restaura el historial de un usuario y enlaza su appUserIDs con cualquier usuario que también utilice esos .getAppTransaction- Obtiene la información de transacción de la aplicación, que proporciona detalles sobre cuando el usuario descargó o compró la aplicación originalmente.isEntitledToOldBusinessModel- Compara la versión original de la aplicación desde la transacción de la aplicación contra una versión objetivo para determinar si el usuario tiene derecho a características de un modelo de negocio anterior.getProducts- Carga los metadatos del producto de la tienda, incluyendo los términos de precios de suscripción iOS admitidos.purchaseProduct- Inicia el proceso de compra para el producto y el plan de facturación seleccionados.
Ejemplo de uso
restorePurchases
Restaura los datos de usuario previos y vincula sus IDs de appUser a cualquier usuario que también utilice esos .
import { NativePurchases } from '@capgo/native-purchases';
await NativePurchases.restorePurchases();
getAppTransaction
Obtiene la información de transacción de la aplicación, que proporciona detalles sobre cuando el usuario descargó o compró la aplicación originalmente.
import { NativePurchases } from '@capgo/native-purchases';
const { appTransaction } = await NativePurchases.getAppTransaction();
// Check if user downloaded before version 2.0.0 (when subscription was added)
if (compareVersions(appTransaction.originalAppVersion, '2.0.0') < 0) {
// User gets free access - they downloaded before subscriptions
grantFreeAccess();
}
isEntitledToOldBusinessModel
Compara la versión original de la aplicación desde la transacción de la aplicación contra una versión objetivo para determinar si el usuario tiene derecho a características de un modelo de negocio anterior.
import { NativePurchases } from '@capgo/native-purchases';
// Check if user downloaded before version 2.0.0/build 42 (when subscription was added)
const result = await NativePurchases.isEntitledToOldBusinessModel({
targetVersion: '2.0.0',
targetBuildNumber: '42'
});
if (result.isOlderVersion) {
console.log(`User downloaded v${result.originalAppVersion}, granting free access`);
grantFreeAccess();
}
purchaseProduct
Inicia el proceso de compra para el producto dado. Para suscripciones de Android, pasa el ID del plan base de Google Play como planIdentifierPara las suscripciones de iOS admitidas que ofrecen facturación mensual con un compromiso de 12 meses, pasa billingPlanType: 'monthly'.
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
await NativePurchases.purchaseProduct({
productIdentifier: 'com.example.premium.monthly',
planIdentifier: 'monthly-plan',
productType: PURCHASE_TYPE.SUBS,
});
En versiones de iOS admitidas, StoreKit puede exponer un plan de facturación mensual con un compromiso de 12 meses a través de
Muestra estos términos en su pantalla de pago antes de la compra: pricingTermsReferencia completa
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['com.example.premium.yearly'],
productType: PURCHASE_TYPE.SUBS,
});
const yearlyProduct = products.find(
(product) => product.identifier === 'com.example.premium.yearly',
);
const monthlyCommitment = yearlyProduct?.pricingTerms?.find(
(term) => term.billingPlanType === 'monthly',
);
if (yearlyProduct && monthlyCommitment) {
console.log('Monthly price:', monthlyCommitment.billingDisplayPrice);
console.log('Total commitment:', monthlyCommitment.commitmentInfo?.priceString);
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: yearlyProduct.identifier,
productType: PURCHASE_TYPE.SUBS,
billingPlanType: 'monthly',
});
console.log('Billing plan:', transaction.billingPlanType);
console.log('Commitment ends:', transaction.commitmentInfo?.expirationDate);
}
__CAPGO_KEEP_0__
- GitHub: https://github.com/Cap-go/capacitor-compras-nativas/
- Documentación: /docs/plugins/compras-nativas/
- Guía de compromiso mensual de iOS: /docs/plugins/compras-nativas/ios-compromiso-mensual/