Passer à la navigation principale
Aperçu du tutoriel

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 Purchases et de RevenueCat

achats en application pour capacitor

Cette extension est maintenant transférée vers le dépôt officiel de RevenueCat. Veuillez consulter la documentation officielle pour plus d'informations.

Si vous préférez une application native API plus simple sans RevenueCat, @capgo/achats_natives implémente les achats en application 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 liées.

  • La validation automatique des reçus
  • La gestion des utilisateurs
  • Le support des modèles de tarification personnalisés
  • Les analyses détaillées -L'échelle

En utilisant le plugin Capacitor Achat avec RevenueCat, les développeurs peuvent économiser du temps et de l'effort lors de la mise en œuvre 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 1 de Xcode ensuite Étape 2 de Xcode

1. Créez un compte RevenueCat

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

Inscrivez-vous pour 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 avez l'intention de vendre l'application. Cela accélérera le processus de transfert, puisque vous pouvez transférer le compte entier plutôt que d'attendre que le support RevenueCat transfère les projets individuels.

Organisations / Entreprise

Nous recommandons d'utiliser un compte d'entreprise lors de l'enregistrement chez RevenueCat et de configurer votre application dans un projet. Vous pourrez inviter le reste de votre équipe en tant que collaborateurs à votre projet, 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éer un projet

Navigatez vers le tableau de bord RevenueCat et ajouter un nouveau projet à partir du menu déroulant dans le menu de navigation supérieur appelé Projets.

étape 1 de RevenueCat

La fenêtre contextuelle pour créer un nouveau projet

▶️ Ajouter une application / Plateforme

De Paramètres du projet > Applications dans le menu gauche de l'interface de projet, sélectionnez la plateforme pour l'application que vous ajouterez.

étape 2 de RevenueCat

Interface de projet pour sélectionner la plateforme de l'application

le champ Nom de l'application C'est obligatoire pour ajouter votre application à RevenueCat. Les autres champs de configuration peuvent être ajoutés ultérieurement. Pour effectuer des achats de test et de production, le Bundle ID (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 avoir enregistré votre application, RevenueCat recommande de configurer Notifications du serveur de plateformeCes notifications ne sont pas obligatoires, mais elles accéléreront Webhooks et réduiront le temps de mise à jour de vos abonnés.

📘

Applications et utilisateurs de production et de test

RevenueCat n'a pas de milieux de test 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.

Tout application RevenueCat peut effectuer des achats en sandbox et en production à partir des magasins. Si vous avez des applications séparées pour le stade 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. Le même utilisateur peut avoir des achats en sandbox actifs et des achats en 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 Playet Secret partagé d'Amazon Appstore pour plus d'informations.

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

3. Configuration du produit

▶️ Configuration du magasin

Avant de pouvoir commencer à utiliser RevenueCat pour récupérer des 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 dans ce processus.

Si vous vendez des produits iOS, assurez-vous de signer votre 'Accord sur les applications payantes' et de remplir 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 du magasin pendant la phase de test ?

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

En savoir plus sur la configuration des fichiers StoreKit dans RevenueCat Test de sandbox 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 Stripe, vous devrez copier cette configuration dans le tableau de bord de RevenueCat. RevenueCat utilise un système de droits 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 droits sont le niveau d'accès que le client est « autorisé » à avoir après avoir acheté un produit spécifique. Les offres sont une façon simple pour vous d'organiser les produits en application que vous souhaitez « proposer » sur votre mur de paiement et de les configurer à distance. RevenueCat recommande l'utilisation de ces fonctionnalités pour simplifier votre code et vous permettre de changer de produits sans mettre à jour l'application.

Voir La configuration des produits pour configurer vos produits et les organiser ensuite en Offres ou en Entitlements.

Étape 4 de RevenueCat

4. Utilisation de la fonction Purchases SDK de RevenueCat

RevenueCat SDK implémente de manière fluide les achats et les abonnements sur plusieurs plateformes tout en synchronisant les jetons avec le serveur de RevenueCat.

Si vous rencontrez des problèmes avec le SDK, voir La résolution des problèmes des SDK pour obtenir des conseils.

📘

Utilisez uniquement votre clé publique SDK pour configurer les achats

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

Vous devriez 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.

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

Assurez-vous de configurer Achats en ligne 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 Si vous prévoyez d'utiliser RevenueCat en parallèle de votre achat existant __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.

📘

Si vous avez un système d'authentification des utilisateurs dans votre application, vous pouvez fournir un identifiant d'utilisateur au moment de la configuration ou à une date ultérieure avec un appel à

. Pour en savoir plus, consultez le guide de RevenueCat sur .logIn()Mode d'observation 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.

▶️ Récupérer et afficher les produits disponibles

📘

Configurer les achats avec des identifiants d'utilisateur

Si vous avez un système d'authentification des utilisateurs 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 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 des meilleures pratiques.

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

Si la récupération de vos Offres, produitsou packages disponibles est vide, il s'agit d'un problème de configuration dans le magasin respectif.

Les raisons les plus courantes pour ce problème 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'. Dans 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 prend un paquet à partir de l'offre récupérée et traite la transaction avec le magasin d'applications correspondant.

Le code exemple ci-dessous montre le processus d'achat d'un paquet et de confirmation qu'il débloque 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 du cycle de vie de votre application. Achats cache automatiquement la version la plus récente CustomerInfo lorsqu'il se met à jour — donc dans la plupart des cas, cette méthode récupère dans le cache et s'exécute très rapidement.

C'est courant d'appeler cette méthode lorsqu'on décide 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 !

On peut 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é auparavant à partir 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 où un utilisateur perd accès à ses achats (par exemple : désinstallation/réinstallation de l'application, perte de ses informations de compte, etc.).

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

Si deux identifiants d'utilisateur différents App User IDs restaurer les transactions à 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 identifiants d'utilisateur de l'application et les compter comme le même utilisateur à l'avenir. Consultez la guide de RevenueCat sur Restaurer les achats pour plus d'informations sur les différents comportements de restauration configurables.

Since the SDK works seamlessly on any platform, changes to a user’s purchase info may come from a variety of sources. You can respond to any changes in a customer’s CustomerInfo Capacitor purchases:receivedUpdated:.

This method will fire whenever the SDK receives an updated CustomerInfo Cette méthode se déclenchera chaque fois que le getCustomerInfo(), purchase(package:), purchase(product:)Capacitor restorePurchases().

reçoit un objet mis à jour à partir d'appels à , ou Les mises à jour de l'information de client ne sont

Depending on your app, it may be sufficient to ignore the delegate and simply handle changes to customer information the next time your app is launched or in the completion blocks of the SDK methods.

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

👍

Félicitations !

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

Applications d&#39;Exemple

Pour télécharger des exemples plus complets d&#39;intégration du SDK, rendez-vous sur les ressources d&#39;applications d&#39;exemple de RevenueCat.

Voir les Exemples

Je publierai bientôt une application d&#39;exemple utilisant le Capacitor et Vue.js.

Si vous avez besoin de passer à une utilisation approfondie du 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 de la même manière depuis les achats en application pour capacitor

Si vous utilisez des achats en application pour capacitor pour planifier les paiements et les achats, connectez-l’avec 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, @capgo/native-purchases pour les détails d'implémentation dans @capgo/native-purchases, Démarrage pour les détails d'implémentation dans Démarrage, et Guide de revenus pour les détails d'implémentation dans le Livre de la Revenu.

Mises à jour en temps réel pour les applications Capacitor

Lorsqu'un bug de la couche web est en ligne, 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.

Un soutien 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.