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 module d'achats de Capacitor et de RevenueCat

Martin Donadieu

Martin Donadieu

Spécialiste du contenu

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, Achats natifs @capgo/native-purchases implémente les achats en application et les abonnements directement avec StoreKit et Google Play Billing.

Capacitor Purchases est un plugin pour le cadre de développement Capacitor qui permet les achats en application sur iOS et Android. Il fournit une interface utilisateur simple et cohérente API sur plusieurs plateformes, ce qui facilite la mise en œuvre des abonnements et des achats en application dans les applications mobiles.

L'un des principaux avantages du plugin Capacitor Purchases est qu'il s'intègre avec RevenueCat, une plateforme qui fournit des outils pour les abonnements et les achats en application. RevenueCat simplifie le processus de mise en œuvre des abonnements et des achats en application en fournissant une interface utilisateur simple et cohérente API sur plusieurs plateformes, et en automatisant des tâches telles que la validation des reçus et la gestion des utilisateurs.

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

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

En utilisant le plugin Capacitor Purchases 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

Cette 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 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 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 mais seulement le propriétaire du projet peut gérer les factures.les collaborateurs du 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 RevenueCat 1

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

▶️ Ajouter une application / Plateforme

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

Étape RevenueCat 2

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

Le champ Nom de l'application Le nom de l'application est requis 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 l'enregistrement de votre application, RevenueCat recommande de configurer Notifications du serveur de plateforme . Ces 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.

Quels que soient les applications RevenueCat, elles peuvent 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 App Store Connect Secret Partagé, Identifiants de service Play, et 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 à travers 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 banque. 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 l'interface 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 dont un client est « autorisé » 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 les configurer à distance. RevenueCat recommande l'utilisation de ces fonctionnalités pour simplifier votre code et vous permettre de changer de produits sans déployer une mise à jour de 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. L'utilisation de Purchases SDK de RevenueCat

RevenueCat SDK met en œuvre 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 de la API clés 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 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 des utilisateurs.

📘

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 sur les produits 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.

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

📘

Configurer les achats avec les identifiants des utilisateurs

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 obsolète ‘Paid Applications Agreement’ ou des produits qui ne sont pas au moins dans l'état ‘Ready To Submit’.

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 la boutique d'applications respective.

Le code d'exemple ci-dessous montre le processus d'achat d'un paquet 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 la dernière CustomerInfo lorsqu'il se met à jour — donc dans la plupart des cas, cette méthode récupère dans le cache et fonctionne très rapidement.

C'est courant d'appeler cette méthode lorsqu'on décide quel UI montrer à l'utilisateur, 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é 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 où un utilisateur perd accès à ses achats (par exemple : désinstallation/réinstallation de l'application, perte de ses informations de compte, etc.). Si deux identifiants d'utilisateur différents identifiants d'utilisateur d'application différents

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

identifiants d'utilisateur d'application identifiants d'utilisateur 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 d'application et les compter comme le même utilisateur à l'avenir. Voir la guide de RevenueCat sur Récupérer les achats pour plus d'informations sur les différents comportements de restauration configurables.

Depuis que le SDK fonctionne sans heurts 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 dans les informations d'achat d'un client en vous 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 un objet mis à jour à partir d'appels à purchases:receivedUpdated:.

This method will fire whenever the SDK receives an updated CustomerInfo Les mises à jour de l'information du client ne sont getCustomerInfo(), purchase(package:), purchase(product:)pas restorePurchases().

envoyées à votre application depuis l'arrière-plan de RevenueCat, les mises à jour peuvent uniquement se produire à partir d'une requête réseau sortante vers RevenueCat, comme mentionné ci-dessus. Selon votre application, il peut suffire d'ignorer le délégué et de gérer les modifications de l'information du client la prochaine fois que votre application est lancée ou dans les blocs de fin de la méthode __CAPGO_KEEP_0__. Récupérer les achats

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)
})

👍

Vous y êtes arrivé(e)!

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;application de RevenueCat.

Voir les Exemples

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

Si vous devez utiliser en profondeur les fonctionnalités du Capacitor SDK, consultez la documentation. ici.

Étapes suivantes

\

Si vous avez besoin d'une mise à jour en temps réel 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 les 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 stratégie de revenus.

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

Commencez 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.