Passer à la navigation principale
Aide-mémoire

Achats en application pour capacitor

Comment mettre en œuvre les achats en application pour les applications capacitor à l'aide du plugin d'Achats de Capacitor et de RevenueCat

Crédits de l'article

Martin Donadieu

Auteur

Valeria

Relecteur

Jordan

Éditeur

Achats en application pour capacitor

Ce plugin est maintenant transféré vers le dépôt officiel de RevenueCat. Veuillez consulter le documentation officielle pour plus d'informations.

If you prefer a simpler native API without RevenueCat, @capgo/native-purchases implémente les achats en ligne et les abonnements directement avec StoreKit et Google Play Billing.

Capacitor Purchases is a plugin for the Capacitor framework that allows in-app purchases on iOS and Android. It provides a simple and consistent API across multiple platforms, making it easy for developers to implement in-app subscriptions and purchases in their mobile apps.

One of the key features of the Capacitor Purchases plugin is that it integrates with RevenueCat, a platform that provides tools for in-app subscriptions and in-app purchases. RevenueCat simplifies the process of implementing in-app subscriptions and purchases by providing a simple and consistent API across multiple platforms, and automating tasks such as receipt validation and user management.

Avec RevenueCat, les développeurs peuvent gérer facilement les abonnements, suivre les revenus et effectuer d'autres tâches connexes. Certaines fonctionnalités proposées par RevenueCat incluent :

  • Validation automatique des reçus
  • Gestion des utilisateurs
  • Support pour les modèles de tarification personnalisés
  • Détaillées des analyses -Échelle

En utilisant le plugin d'achats en application Capacitor avec RevenueCat, les développeurs peuvent économiser du temps et de l'effort lors de l'implémentation des abonnements et des achats en application dans leurs applications mobiles, et fournir des fonctionnalités supplémentaires qui peuvent aider à améliorer l'expérience utilisateur et à augmenter les revenus.

En utilisant le plugin d'achats en application Capacitor et RevenueCat, les développeurs peuvent gérer et suivre facilement les abonnements et les achats en application, valider les reçus et gérer les utilisateurs sur plusieurs plateformes. Cela permet également de créer des modèles de tarification personnalisés et d'obtenir des analyses détaillées pour améliorer les performances et les revenus.

Installation

Assurez-vous d'utiliser la dernière version de Capacitor et du plugin d'achats en application Capacitor. Vous pouvez vérifier la dernière version de Capacitor et du plugin d'achats en application Capacitor sur le site Web de Capacitor.

Pour installer le plugin d'achats en application Capacitor, exécutez la commande suivante: npm i @capgo/capacitor-purchases ajoutez le plugin à votre application native code npx cap sync

ajoutez la capacité d'achats en application dans Xcode :

Étape Xcode 1 ensuite Étape Xcode 2

1. Créez un compte RevenueCat

Ce guide vous guidera à travers la mise en route des abonnements et de la plateforme SDK de RevenueCat avec seulement quelques lignes de code.

Inscrivez-vous à un nouveau compte RevenueCat ici.

📘

💡 Voici un conseil !

RevenueCat recommande de créer un compte RevenueCat distinct pour chaque application / projet que vous avez, surtout si vous prévoyez de vendre l'application. Cela accélérera le processus de transfert, car vous pourrez transférer le compte entier plutôt que d'attendre que le service de support de RevenueCat transfère les projets individuels.

Organisations / Entreprise

Nous recommandons d'utiliser un compte professionnel lors de l'inscription à RevenueCat et de configurer votre application dans un projet. Vous pourrez inviter le reste de votre équipe en tant que collaborateurs mais seulement le propriétaire du projet peut gérer les factures.Les collaborateurs de projet ne peuvent pas gérer les détails de facturation.

2. Configuration du projet et de l'application

▶️ Créez un projet

Naviguez vers le tableau de bord RevenueCat et ajoutez un nouveau projet à partir du menu de navigation supérieur appelé Projets.

Étape RevenueCat 1

Le modale de création d'un nouveau projet

▶️ Ajoutez une application / plateforme

À partir de Paramètres du projet > Applications dans le menu gauche du tableau de bord du projet, sélectionnez la plateforme de l'application que vous ajouterez.

Étape RevenueCat 2

Tableau de bord du projet pour sélectionner la plateforme de l'application

Le champ Nom de l'application est requis pour ajouter votre application à RevenueCat. Le reste des champs de configuration peut être ajouté ultérieurement. Pour effectuer des achats de test et de production, l'ID de Bundle (iOS) / Nom de package (Android) ainsi que le Secret partagé (iOS) / Clés de service (Android) doivent être configurés.

Étape 3 de RevenueCat

Page de configuration de l'application pour une application Apple App Store

📘

💡 Voici un conseil!

Après l'enregistrement de votre application, RevenueCat recommande de configurer Notifications du serveur de la plateforme. Ces notifications ne sont pas obligatoires, mais elles accéléreront webhooks et les temps de livraison de l'intégration et réduiront les temps d'attente pour mettre à jour vos abonnés.

📘

Stages de mise en ligne vs. applications de production et utilisateurs

RevenueCat n'a pas de milieux de mise en ligne et de production séparés. Au lieu de cela, les transactions sous-jacentes pour les utilisateurs sont différenciées par sandbox et production.

Toute application RevenueCat peut effectuer des achats de sandbox et de production à partir des magasins. Si vous avez des applications séparées pour la mise en ligne et la production, vous pouvez créer plusieurs projets dans RevenueCat pour refléter votre configuration.

De plus, les utilisateurs ne sont pas séparés par environnement, non plus. Le même utilisateur peut avoir des achats de sandbox actifs et des achats de production actifs en même temps.

▶️ Identifiants de service

Les identifiants de service doivent être configurés pour que RevenueCat puisse communiquer avec les magasins d'applications en votre nom. Consultez les guides de RevenueCat Secret partagé d'App Store Connect, Identifiants de service de Play, et Secret partagé d'Amazon Appstore pour plus d'informations.

Notez que les identifiants de service de Play peuvent prendre jusqu'à 36 heures pour se propager à travers les serveurs de Google.

3. Configuration du produit

▶️ Configuration de la boutique

Avant de pouvoir commencer à utiliser RevenueCat pour récupérer les produits, vous devez configurer vos produits dans les magasins respectifs. Consultez les guides suivants pour App Store Connect, Google Play Console, Amazon Appstoreet Stripe pour obtenir de l'aide pour naviguer à travers ce processus.

Si vous vendez des produits iOS, assurez-vous d'avoir signé votre 'Accord sur les applications payantes' et rempli vos informations bancaires et fiscales dans App Store Connect > Accords, impôts et banques. Cela doit être terminé avant que vous puissiez tester n'importe quel achat.

📘

Voulez-vous passer sous silence la configuration de l'application magasin pendant les tests ?

Sur iOS, vous pouvez retarder la configuration des produits dans App Store Connect en testant avec des fichiers de configuration StoreKit au lieu de cela. Ces fichiers de configuration nécessitent une configuration minimale et sont configurables via Xcode directement.

En savoir plus sur la configuration des fichiers de configuration StoreKit dans RevenueCat Test de la zone de développement guide.

▶️ Configurez les produits et les droits dans RevenueCat

Une fois que vos produits en application ont été configurés dans App Store Connect, Google Play Console, Amazon Appstore, ou StripeVous devrez copier cette configuration dans le tableau de bord de RevenueCat. RevenueCat utilise un système d'entitlements pour contrôler l'accès aux fonctionnalités premium et des offres pour gérer l'ensemble des produits que vous proposez à vos clients.

Les entitlements sont le niveau d'accès dont un client dispose après avoir acheté un produit spécifique. Les offres sont un moyen simple de vous organiser pour proposer les produits de votre paywall et les configurer à distance. RevenueCat recommande utilizing these features to simplify your code and enable you to change products without releasing an app update.

Voir Configurer les produits pour configurer vos produits et les organiser ensuite en offres ou en entitlements.

RevenueCat étape 4

4. Using RevenueCat’s Purchases SDK

RevenueCat SDK seamlessly implements purchases and subscriptions across platforms while syncing tokens with the RevenueCat server.

If you run into issues with the SDK, see Le guide de dépannage des SDK pour obtenir des conseils.

📘

Utilisez uniquement votre clé publique SDK pour configurer les achats en ligne.

Vous pouvez obtenir votre clé publique SDK dans la section API clés sous Paramètres du projet dans le tableau de bord.

Vous devez configurer l'instance partagée de Purchases seulement une fois, généralement lors du lancement de l'application. Par la suite, la même instance est partagée dans votre application en accédant à l' .shared instance dans le SDK.

Consultez la guide de RevenueCat sur Configuration de SDK pour plus d'informations et de meilleures pratiques.

S'assurez-vous de configurer Achats avec votre clé publique SDK uniquement. Vous pouvez en savoir plus sur les différentes clés API disponibles chez RevenueCat Guide d'authentification.

import { CapacitorPurchases } from '@capgo/capacitor-purchases'
import { isPlatform } from '@ionic/vue' // use the right one for your framework

CapacitorPurchases.setDebugLogsEnabled({ enabled: import.meta.env.DEV }) // Enable to get debug logs in dev mode
if (isPlatform('ios')) {
    CapacitorPurchases.setup({ apiKey:'appl_******'})
} else if (isPlatform('android')) {
    CapacitorPurchases.setup({ apiKey:'goog_******'})
}

Lorsque vous êtes en développement, RevenueCat recommande d'activer les journaux de débogage plus détaillés. Pour plus d'informations sur ces journaux, consultez leur Guide de débogage Lorsque vous prévoyez d'utiliser RevenueCat en parallèle de vos achats existants __CAPGO_KEEP_0__, consultez leur guide sur

If you’re planning to use RevenueCat alongside your existing purchase code, refer to their guide on Configuration des Achats avec les identifiants d'utilisateur.

📘

__CAPGO_KEEP_0__

If vous avez un système d'authentification utilisateur dans votre application, vous pouvez fournir un identifiant d'utilisateur au moment de la configuration ou à une date ultérieure avec un appel à .logIn(). Pour en savoir plus, consultez la guide de RevenueCat sur Identifier les utilisateurs.

Le SDK récupérera automatiquement les configurés et récupérera les informations de produit auprès d'Apple, Google ou Amazon. Ainsi, les produits disponibles seront déjà chargés lorsque les clients lanceront votre écran de purchase.

Voici un exemple de récupération de Vous pouvez utiliser les pour organiser votre écran de paywall. Consultez la guide de RevenueCat sur

Afficher les produits

📘

pour plus d'informations et de meilleures pratiques.

▶️ Récupérer et afficher les produits disponibles : Configurer les achats avec des identifiants d'utilisateur .logIn(). Pour en savoir plus, consultez la guide de RevenueCat sur Identifier les utilisateurs.

Le SDK récupérera automatiquement les offres configurées et récupérera les informations de produit auprès d'Apple, Google ou Amazon. Ainsi, les produits disponibles seront déjà chargés lorsque les clients lanceront votre écran d'achat.

Voici un exemple de récupération d'offres. Vous pouvez utiliser les offres pour organiser votre écran de paywall. Consultez la guide de RevenueCat sur Afficher les produits pour plus d'informations et de meilleures pratiques.

const { offerings } = await CapacitorPurchases.getOfferings()
if (offerings.current !== null) {  
    // Display current offering with offerings.current
}

Si vous récupérez vos produits d'offres, ou disponiblesproduits packages sont vides, c'est dû à un problème de configuration dans le magasin respectif.

Les raisons les plus courantes pour cela dans App Store Connect sont un accord de paiement 'Paid Applications Agreement' obsolète ou des produits qui ne sont pas au moins dans l'état 'Ready To Submit'. Sur Google Play, cela se produit généralement lorsque l'application n'est pas publiée sur une piste fermée et qu'un utilisateur de test valide a été ajouté.

Vous pouvez trouver plus d'informations sur la résolution de ce problème dans RevenueCat Centre d'aide.

▶️ Effectuer une transaction

Le SDK comprend une méthode simple pour faciliter les achats. Le purchase:package procède à partir d'une offre et traite la transaction avec le magasin d'applications respectif.

Le code d'exemple ci-dessous montre le processus d'achat d'un package et la confirmation qu'il déverrouille le contenu 'your_entitlement_id'. Plus de détails sur la purchase:package peuvent être trouvés dans la guide de RevenueCat sur Effectuer des achats.

const purchase = async (p: Package): Promise<PurchaserInfo | null> => {
  try {
    // console.log('purchase', p)
    const data = await CapacitorPurchases.purchasePackage({
      identifier: p.identifier,
      offeringIdentifier: p.offeringIdentifier,
    })
    const purchaserInfo = data.purchaserInfo
    // console.log('listenBuy', purchaserInfo)
    if (purchaserInfo.activeSubscriptions.includes(p.identifier)) {
      // set the user as paid
    }
    return purchaserInfo
  }
  catch (e) {
    console.error('listenBuy error', e)
  }
  return null
}

▶️ Vérifier l'état d'une souscription

Vous pouvez utiliser cette méthode chaque fois que vous avez besoin de récupérer le statut le plus récent, et il est sécurisé d'appeler cette méthode à plusieurs reprises tout au long de la durée de vie de votre application. Achats cache automatiquement le dernier CustomerInfo lorsqu'il met à jour — donc dans la plupart des cas, cette méthode récupère dans le cache et s'exécute très rapidement.

Il est courant d'appeler cette méthode lors de la décision de montrer à l'utilisateur quelle interface utiliser, et chaque fois que l'utilisateur effectue une action qui nécessite un niveau d'entitlement spécifique.

📘

💡 Voici un conseil!

Vous pouvez accéder à beaucoup plus d'informations sur une souscription que simplement savoir si elle est active ou non. Consultez la guide de RevenueCat sur État de la souscription pour savoir si la souscription est configurée pour se renouveler, si il y a un problème détecté avec la carte de crédit de l'utilisateur, et plus encore.

RevenueCat permet à vos utilisateurs de restaurer leurs achats en ligne, réactivant tout le contenu qu'ils ont acheté auprès du même compte de magasin (compte Apple, Google ou Amazon). Nous recommandons à tous les développeurs d'avoir une façon pour les utilisateurs de déclencher la méthode de restauration. Notez que Apple exige une mécanisme de restauration en cas de perte d'accès aux achats (par exemple : désinstallation/réinstallation de l'application, perte des informations de compte, etc). same store account

  const res = await CapacitorPurchases.restoreTransactions()
  const purchaserInfo = res.purchaserInfo
  const ids: string[] = [] // extract active subscriptions ids
  purchaserInfo.activeSubscriptions.forEach((id) => {
    ids.push(id)
  })

If deux utilisateurs différents IDs d'utilisateur de l'application les transactions de restauration à partir du même compte de magasin sous-jacent (compte Apple, Google ou Amazon). RevenueCat peut tenter de créer un alias entre les deux IDs d'utilisateur de l'application et les compter comme le même utilisateur à l'avenir. Consultez la guide de RevenueCat sur la restauration des achats pour plus d'informations sur les différents comportements de restauration configurables.

Depuis que le SDK fonctionne de manière fluide sur n'importe quelle plateforme, les modifications de l'information d'achat d'un utilisateur peuvent provenir de diverses sources. Vous pouvez répondre à toute modification de l'information d'achat d'un client en conformant à une méthode de délégué facultative, CustomerInfo Cette méthode se déclenchera chaque fois que le __CAPGO_KEEP_0__ reçoit une mise à jour de l'objet purchases:receivedUpdated:.

This method will fire whenever the SDK receives an updated CustomerInfo ou getCustomerInfo(), purchase(package:), purchase(product:)L'actualisation de l'information de client n'est restorePurchases().

]} not envoyés à votre application à partir du serveur RevenueCat, les mises à jour ne peuvent se produire que par une requête réseau sortante vers RevenueCat, comme mentionné ci-dessus.

Selon votre application, il peut être suffisant d'ignorer le délégué et de gérer les modifications des informations de client à la prochaine fois que votre application est lancée ou dans les blocs de fin de la méthode SDK.

CapacitorPurchases.addListener('purchasesUpdate', (data) => {
  console.log('purchasesUpdate', data)
})

👍

Vous l'avez fait !

Vous avez maintenant mis en place un système de vente de souscriptions à fonctionnalités complètes sans passer un mois à écrire des serveurs code. Félicitations !

Exemples d'applications

Téléchargez des exemples plus complets d'intégration de la SDK sur les ressources d'applications d'exemple de RevenueCat.

Voir les exemples

Je publierai bientôt une application d'exemple utilisant la Capacitor et Vue.js.

Si vous devez utiliser en profondeur la Capacitor SDK, consultez la documentation ici.

Étapes suivantes

\

Si vous avez besoin d'une mise à jour en direct dans votre application

Rejoignez-nous ici 👇

Inscrivez-vous ici pour obtenir votre compte

Capgo

Continuez à partir des achats en application pour capacitor

Si vous utilisez les achats en application pour capacitor pour planifier les paiements et les achats, connectez-l’avec Capgo Tarification pour le flux de travail du produit dans Capgo Tarification, Système de paiement pour le détail d'implémentation dans Système de paiement, @capgo/achats-natifs pour le détail d'implémentation dans @capgo/achats-natifs, Prise en main pour les détails d'implémentation dans Getting Started, et Guide de revenus pour les détails d'implémentation dans Guide de revenus.

Mises à jour en direct pour les applications Capacitor

Quand un bug de la couche web est en direct, expédiez la correction par Capgo au lieu d'attendre des jours pour l'approbation de la boutique d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les modifications natives restent dans la voie de revue normale.

Support humain de Martin

Démarrer maintenant

Dernières actualités de notre blog

Capgo vous donne les meilleures informations dont vous avez besoin pour créer une application mobile vraiment professionnelle.