Guide
Tutoriel sur les achats natifs
Utilisation de @capgo/achats-natifs
Les abonnements en application rendus faciles.
Installer
bun add @capgo/native-purchases
bunx cap sync
Ce plugin expose les fonctionnalités suivantes :
restorePurchases- Récupère les informations de l'utilisateur précédent et relie les identifiants d'utilisateur de l'application à ceux de tout utilisateur utilisant également ces identifiants.getAppTransaction- Récupère les informations de transaction de l'application, qui fournissent des détails sur la date à laquelle l'utilisateur a téléchargé ou acheté l'application.isEntitledToOldBusinessModel- Compare la version d'origine de l'application à partir de la transaction de l'application avec une version cible pour déterminer si l'utilisateur a le droit à des fonctionnalités d'un modèle commercial antérieur.getProducts- Charge les métadonnées des produits de magasin, y compris les termes de tarification des abonnements iOS pris en charge.purchaseProduct- Démarre le processus d'achat pour le produit sélectionné et le plan de facturation.
Exemple d'utilisation
restorePurchases
Restaure les données précédentes d'un utilisateur et relie leurs appUserIDs à celles de tout utilisateur utilisant également ces .
import { NativePurchases } from '@capgo/native-purchases';
await NativePurchases.restorePurchases();
getAppTransaction
Obtient les informations de transaction d'application, qui fournissent des détails sur la date à laquelle l'utilisateur a 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'application originale de la transaction d'application avec une version cible pour déterminer si l'utilisateur a le droit à des fonctionnalités d'un modèle commercial 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émarrer le processus d'achat pour le produit spécifié. Pour les abonnements Android, passez l'ID de plan de base Google Play comme planIdentifierPour les abonnements iOS pris en charge qui offrent un 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 mensuels iOS avec engagement de 12 mois
Sur les versions iOS prises en charge, StoreKit peut exposer un plan de facturation mensuel avec un engagement de 12 mois à travers pricingTermsAffichez ces termes sur votre panneau de paiement 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-achats-natifs/
- Docs: /docs/plugins/native-purchases/
- Guide mensuel de l'engagement iOS : /docs/plugins/native-purchases/ios-monthly-commitment/
Continuez à partir de Utilisation @capgo/native-purchases
Si vous utilisez Utilisation @capgo/native-purchases pour planifier les paiements et les achats, connectez-le avec @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 Prise en main, Tarification de Capgo pour le flux de travail du produit dans Tarification de Capgo Systeme de paiement pour le détail d'implémentation dans Systeme de paiement, et Plan de revenu pour le détail d'implémentation dans Plan de revenu.