Guide
Comment utiliser Native Purchases dans Capacitor
Utiliser @capgo/native-purchases
Les abonnements in-app simplifiés.
Installer
bun add @capgo/native-purchases
bunx cap sync
Ce que ce plugin expose
restorePurchases- Restaure les achats précédents d’un utilisateur et lie ses appUserIDs à ceux d’autres utilisateurs utilisant les mêmes identifiants.getAppTransaction- Récupère les informations de la transaction d’application, qui indiquent quand l’utilisateur a initialement téléchargé ou acheté l’application.isEntitledToOldBusinessModel- Compare la version d’origine de l’application issue de la transaction d’application à une version cible pour déterminer si l’utilisateur a droit aux fonctionnalités d’un modèl’économique antérieur.getProducts- Charge les métadonnées du produit du store, y compris les conditions tarifaires des abonnements iOS pris en charge.purchaseProduct- Démarre le processus d’achat pour le produit et le plan de facturation sélectionnés.
Exemple d'utilisation
restorePurchases
Restaure les achats précédents d’un utilisateur et lie ses appUserIDs à ceux d’autres utilisateurs utilisant les mêmes identifiants.
import { NativePurchases } from '@capgo/native-purchases';
await NativePurchases.restorePurchases();
getAppTransaction
Récupère les informations de la transaction d’application, qui indiquent quand l’utilisateur a initialement téléchargé ou acheté l’application.
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
Compare la version d’origine de l’application issue de la transaction d’application à une version cible pour déterminer si l’utilisateur a droit aux fonctionnalités d’un modèl’économique antérieur.
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
Démarre le processus d’achat pour le produit donné. Pour les abonnements Android, passez l’identifiant du plan de base Google Play en tant que planIdentifier. Pour les abonnements iOS pris en charge offrant une facturation mensuelle avec un engagement de 12 mois, passez 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,
});
Abonnements à engagement mensuel sur iOS
Sur les versions iOS prises en charge, StoreKit peut exposer un plan de facturation mensuel avec un engagement de 12 mois via pricingTerms. Affichez ces conditions sur votre paywall avant l’achat :
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);
}
Référence complète
- GitHub : https://github.com/Cap-go/capacitor-native-purchases/
- Docs : /docs/plugins/native-purchases/
- Guide de l’engagement mensuel iOS : /docs/plugins/native-purchases/ios-monthly-commitment/
Continuer depuis « Utilisation de @capgo/native-purchases »
Si vous utilisez Utiliser @capgo/native-purchases pour planifier les paiements et les achats, connectez-l’à @capgo/native-purchases pour les détails d'implémentation dans @capgo/native-purchases, Prise en main pour les détails d'implémentation dans Getting Started Tarifs Capgo pour le workflow produit dans Capgo Tarifs, Système de paiement pour les détails d'implémentation du système de paiement, et Playbook revenus pour les détails d'implémentation dans le Revenue Playbook.