Allez directement au contenu principal
@capgo/achats-natifs Commerce Source

Achats natifs plugin Capacitor

Implémentez des achats en application natifs, des abonnements et des plans de facturation de StoreKit iOS avec un API simple.

Install

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 les achats natifs dans Capacitor

Utilisation de @capgo/native-purchases

Les abonnements en application rendus faciles.

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 relie leurs appUserIDs à ceux d'un utilisateur utilisant également ceux-ci.
  • getAppTransaction - Récupère les informations de transaction de l'application, qui fournissent des détails sur quand l'utilisateur a téléchargé ou acheté l'application pour la première fois.
  • isEntitledToOldBusinessModel - Compare la version d'origine de l'application de la transaction de l'application avec une version cible pour déterminer si l'utilisateur a droit à des fonctionnalités d'un modèle commercial antérieur.
  • getProducts Charge les métadonnées des produits de la boutique, y compris les termes de tarification des abonnements iOS supportés.
  • purchaseProduct - Démarre le processus d'achat pour le produit sélectionné et le plan de facturation.

Exemple d'utilisation

restorePurchases

Restaure les achats précédents d'un utilisateur et relie leurs appUserIDs à ceux d'un utilisateur utilisant également ceux-ci.

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 pour la première fois.

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 planIdentifier. Pour 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 de souscription iOS

Sur les versions iOS prises en charge, StoreKit peut exposer un plan de facturation mensuelle avec un engagement de 12 mois. pricingTermsAffichez ces termes sur votre mur 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

Continuez à partir de l'utilisation de @capgo/native-purchases

Si vous utilisez L'utilisation de @capgo/native-purchases pour planifier les paiements et les achats, connectez-l’avec @capgo/native-purchases pour les détails d'implémentation dans @capgo/native-purchases, Getting Started pour les détails d'implémentation dans Getting Started, Capgo Pricing pour le flux de travail du produit dans Capgo Pricing, Système de paiement pour les détails d'implémentation dans Système de paiement, et Plan de revenu pour les détails d'implémentation dans le Plan de revenu.

FAQ

FAQ du plugin d'achats natifs

How installé-je le plugin d'achats natifs dans une application Capacitor?

Exécutez « bun add @capgo/native-purchases » (ou « npm install @capgo/native-purchases »), puis exécutez « bunx cap sync » afin que les projets iOS et Android prennent en compte les code natifs. Importez-l’à partir de « @capgo/native-purchases » dans votre application code.

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

Oui. Le plugin d'achats natifs est un package Capacitor, il fonctionne donc avec tout framework web qui tourne à l'intérieur de Capacitor, y compris Ionic, React, Vue, Angular, Svelte et JavaScript pur.

Quelle version de Capacitor est prise en charge par @capgo/native-purchases?

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, plugin v8 avec Capacitor 8). La table de compatibilité dans le README du GitHub liste les versions maintenues.

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

Oui. Le code source code est public sur GitHub à l'adresse https://github.com/Cap-go/capacitor-native-purchases/ et le package est gratuit à installer à partir de npm. Les rapports de bogues et les demandes de modification sont les bienvenus.

Puis-je mettre à jour code qui utilise les achats natifs sans passer par une revue de l'App Store?

L'installation ou la mise à niveau du plugin modifie les code natifs, il faut donc une nouvelle mise en ligne de l'application. Une fois cela fait, les modifications JavaScript, HTML et CSS qui appellent le plugin peuvent être déployées instantanément avec les mises à jour Capgo.

Expédiez les modifications des achats natifs sans attendre la revue de l'application

Once the plugin is in your store build, Capgo live updates push your JavaScript, HTML and CSS changes to users in minutes.

Commencez avec Capgo