Activer les achats dans votre paywall personnalisé avec le SDK Capacitor
Ce guide explique comment intégrer Adapty dans vos paywalls personnalisés. Gardez le contrôle total sur l’implémentation de votre paywall, pendant que le SDK Adapty récupère les produits, gère les nouveaux achats et restaure les précédents. Ce guide utilise les API du SDK Adapty Capacitor v4 — si vous utilisez la v3, consultez le guide de migration pour les noms de méthodes correspondants.
Ce guide est destiné aux développeurs qui implémentent des paywalls personnalisés. Si vous souhaitez la solution la plus simple pour activer les achats, utilisez le Flow & Paywall Builder d’Adapty. Avec le Flow & Paywall Builder, vous créez des paywalls dans un éditeur visuel sans code, Adapty gère toute la logique d’achat automatiquement, et vous pouvez tester différents designs sans republier votre application.
Avant de commencer
Configurer les produits
Pour activer les achats intégrés, vous devez comprendre trois concepts clés :
- Produits – tout ce que les utilisateurs peuvent acheter (abonnements, consommables, accès à vie)
- Paywalls – configurations qui définissent quels produits proposer. Dans Adapty, les paywalls sont le seul moyen de récupérer des produits, mais cette conception vous permet de modifier les produits, les prix et les offres sans toucher au code de votre application. Dans le SDK v4, les variations de paywall pour un placement sont portées par un objet flow — vous récupérez un flow et interrogez ses produits.
- Placements – où et quand vous affichez des paywalls dans votre application (par exemple
main,onboarding,settings). Vous configurez les paywalls pour les placements dans le tableau de bord, puis vous les demandez par identifiant de placement dans votre code. Cela facilite la mise en place de tests A/B et l’affichage de paywalls différents selon les utilisateurs.
Assurez-vous de bien comprendre ces concepts, même si vous utilisez votre propre paywall. Ce sont simplement votre façon de gérer les produits que vous vendez dans votre application.
Pour implémenter votre paywall personnalisé, vous devez créer un paywall et l’ajouter à un placement. Cette configuration vous permet de récupérer vos produits. Pour savoir ce que vous devez faire dans le tableau de bord, suivez le guide de démarrage rapide ici.
Gérer les utilisateurs
Vous pouvez travailler avec ou sans authentification côté backend.
Cependant, le SDK gère différemment les utilisateurs anonymes et identifiés. Lisez le guide de démarrage rapide sur l’identification pour comprendre les spécificités et vous assurer que vous travaillez correctement avec vos utilisateurs.
Étape 1. Récupérer les produits
Pour récupérer les produits de votre paywall personnalisé, vous devez :
- Obtenir l’objet
flowen passant l’ID du placement à la méthodegetFlow. - Récupérer le tableau de produits de ce flow à l’aide de la méthode
getPaywallProducts.
async function loadPaywall() {
try {
const flow: AdaptyFlow = await adapty.getFlow({
placementId: 'YOUR_PLACEMENT_ID'
});
const products: AdaptyPaywallProduct[] = await adapty.getPaywallProducts({
flow
});
// Use products to build your custom paywall UI
} catch (error) {
// Handle the error
}
}
Étape 2. Accepter les achats
Lorsqu’un utilisateur appuie sur un produit dans votre paywall personnalisé, appelez la méthode makePurchase avec le produit sélectionné. Cela prend en charge le processus d’achat et retourne le profil mis à jour.
async function purchaseProduct(product: AdaptyPaywallProduct) {
try {
const result: AdaptyPurchaseResult = await adapty.makePurchase({ product });
if (result.type === 'success') {
// Purchase successful, profile updated
} else if (result.type === 'user_cancelled') {
// User canceled the purchase
} else if (result.type === 'pending') {
// Purchase is pending (e.g., user will pay offline with cash)
}
} catch (error) {
// Handle the error
}
}
Étape 3. Restaurer les achats
Les stores exigent que toutes les applications proposant des abonnements offrent un moyen aux utilisateurs de restaurer leurs achats.
Appelez la méthode restorePurchases lorsque l’utilisateur appuie sur le bouton de restauration. Cela synchronisera son historique d’achats avec Adapty et renverra le profil mis à jour.
async function restorePurchases() {
try {
const profile: AdaptyProfile = await adapty.restorePurchases();
// Restore successful, profile updated
} catch (error) {
// Handle the error
}
}
Étape 4. Vérifier le statut de l’abonnement
Après un achat ou une restauration, vérifiez le niveau d’accès de l’utilisateur pour décider d’afficher le paywall ou de déverrouiller les fonctionnalités payantes. Les méthodes makePurchase et restorePurchases retournent déjà le profil mis à jour ; lorsque vous avez besoin du statut actuel ailleurs dans l’application, utilisez la méthode getProfile :
async function hasPremiumAccess(): Promise<boolean> {
try {
const profile = await adapty.getProfile();
return profile.accessLevels?.['premium']?.isActive ?? false;
} catch (error) {
// Handle the error
}
return false;
}
Pour d’autres façons de vérifier et surveiller le statut de l’abonnement, notamment en écoutant les mises à jour en temps réel, consultez Vérifier le statut de l’abonnement.
Prochaines étapes
Des questions ou des problèmes ? Consultez notre forum d’assistance où vous trouverez des réponses aux questions fréquentes ou pourrez poser les vôtres. Notre équipe et notre communauté sont là pour vous aider !
Votre paywall est prêt à être affiché dans l’application. Testez vos achats dans le sandbox App Store ou sur le Google Play Store pour vous assurer de pouvoir finaliser un achat test depuis le paywall. Pour voir comment cela fonctionne dans une implémentation prête pour la production, consultez le fichier App.tsx dans notre application d’exemple, qui illustre la gestion des achats avec une gestion des erreurs appropriée, des états de chargement et une intégration complète du SDK.