Aller au contenu principal
@capgo/native-purchases Commerce Open source

Native Purchases Capgo Plugin Capacitor

Implémentez les achats in-app natifs, les abonnements et les plans de facturation iOS StoreKit avec un simple API

Installer

bun add @capgo/native-purchases bunx cap sync
npm, pnpm ou yarn
  • npm install @capgo/native-purchases
  • pnpm add @capgo/native-purchases
  • yarn add @capgo/native-purchases

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

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.

FAQ

FAQ du plugin Native Purchases

Comment installer le plugin Native Purchases dans une application Capacitor ?

Run &quot;bun add @capgo/native-purchases&quot; (or &quot;npm install @capgo/native-purchases&quot;), then run &quot;bunx cap sync&quot; so the iOS and Android projects pick up the native code. Import it from &quot;@capgo/native-purchases&quot; in your app code.

Le plugin @capgo/native-purchases fonctionne-t-il avec React, Vue et Angular ?

Oui. Native Purchases est un package Capacitor, il fonctionne donc avec n’importe quel framework web exécuté dans Capacitor, y compris Ionic, React, Vue, Angular, Svelte et le JavaScript pur.

Quelle version de Capacitor @capgo/native-purchases prend-il en charge ?

Les plugins Capgo suivent la version majeure de Capacitor : utilisez la version majeure du plugin qui correspond à la version majeure de votre Capacitor (par exemple le plugin v8 avec Capacitor 8). Le tableau de compatibilité du README de GitHub recense les versions maintenues.

@capgo/native-purchases est-il gratuit et open source ?

Oui. Le code source est public sur GitHub à l’adresse https://github.com/Cap-go/capacitor-native-purchases/ et le package est gratuit à installer depuis npm. Les signalements de bugs et les pull requests sont les bienvenus.

Puis-je mettre à jour code qui utilise Native Purchases sans passer par une revue de l’App Store ?

L'installation ou la mise à jour du plugin modifie le code natif, ce qui impose un nouveau build pour les stores. Ensuite, les changements JavaScript, HTML et CSS qui appellent le plugin peuvent être livrés instantanément via les live updates de Capgo.

Déployez les modifications de Native Purchases sans attendre la revue de l'application

Une fois le plugin intégré à votre build de store, Capgo live updates déploie vos changements JavaScript, HTML et CSS aux utilisateurs en quelques minutes.

Commencez avec Capgo