S'installe dans n'importe quel agent compatible avec les skills. Pour mettre à jour ultérieurement, exécutez npx skills update.
npx skills add adaptyteam/adapty-skills --all
Les skills couvrent l'intégration du SDK, la création de flows et de paywalls, les audits avant publication, la migration des placements et bien plus encore. Décrivez la tâche en langage courant et votre agent choisira le skill adapté.
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)
Flows – séquences d’écrans qui présentent des produits aux utilisateurs, construites dans le Flow & Paywall Builder sans code. Le SDK les récupère via getFlow. Si vous préférez construire l’interface dans votre propre code, utilisez plutôt un paywall — voir Implémenter des paywalls manuellement.
Placements – où et quand vous affichez des flows dans votre application (par exemple main, onboarding, settings). Vous associez des flows aux placements dans le tableau de bord, puis vous les demandez par ID de placement dans votre code. Cela facilite l’exécution de tests A/B et l’affichage de flows différents selon les utilisateurs.
Adapty vous propose trois façons d’activer les achats dans votre application. Choisissez celle qui correspond à vos besoins :
Vous implémentez l’interface de votre paywall dans le code de votre application, mais récupérez quand même l’objet flow depuis Adapty pour conserver de la flexibilité dans vos offres de produits. Consultez le guide.
Mode observateur
🔴 Difficile
Vous disposez déjà de votre propre infrastructure de gestion des achats et souhaitez continuer à l’utiliser. Notez que le mode observateur présente des limitations dans Adapty. Voir l’article.
Important
Les étapes ci-dessous montrent comment implémenter un flow créé dans l’Adapty Flow & Paywall Builder.
Pour afficher un flow créé dans l’Adapty Flow & Paywall Builder, dans le code de votre application, vous avez seulement besoin de :
Récupérer le flow : Récupérez-le depuis Adapty.
Afficher le flow et laisser Adapty gérer les achats : Affichez la vue dans votre application.
Gérer les actions des boutons : Associez les interactions utilisateur aux réponses de votre application. Par exemple, ouvrir des liens ou fermer le flow lorsque les utilisateurs cliquent sur des boutons.
Avant de commencer
Avant de commencer, effectuez les étapes suivantes :
Vos flows sont associés à des placements configurés dans le tableau de bord. Les placements vous permettent d’afficher différents flows pour différentes audiences ou de lancer des tests A/B.
Pour récupérer un flow créé dans l’Adapty Flow & Paywall Builder, vous devez :
Récupérer l’objet flow par l’ID de placement à l’aide de la méthode getFlow et vérifier s’il possède une configuration de vue.
Récupérer la configuration de vue à l’aide de la méthode getFlowConfiguration. Elle contient les éléments d’interface et le style nécessaires à l’affichage du flow.
func loadFlow() async { let flow = try await Adapty.getFlow(placementId: "YOUR_PLACEMENT_ID") guard flow.hasViewConfiguration else { print("Flow doesn't have a view configuration") return } flowConfiguration = try await AdaptyUI.getFlowConfiguration(forFlow: flow)}
2. Afficher le flow
Maintenant que vous avez la configuration du flow, il suffit d’ajouter quelques lignes pour afficher votre flow.
Dans SwiftUI, lors de l’affichage du flow, vous devez également gérer les événements. didFinishPurchase, didFailPurchase, didFinishRestore, didFailRestore et didReceiveError sont obligatoires. Pour les tests, vous pouvez simplement copier le code du snippet ci-dessous pour enregistrer ces événements.
Tip
Le flow ne se ferme pas automatiquement après un achat réussi. Dans didFinishPurchase, définissez votre binding de présentation sur false pour le fermer, ou ne faites rien pour laisser le flow continuer vers ses écrans suivants.
.flow( isPresented: $flowPresented, flowConfiguration: flowConfiguration, didFinishPurchase: { product, purchaseResult in print("Purchase finished successfully") flowPresented = false // or do nothing to let the flow continue }, didFailPurchase: { product, error in print("Purchase failed: \(error)") }, didFinishRestore: { profile in print("Restore finished successfully") }, didFailRestore: { error in print("Restore failed: \(error)") }, didReceiveError: { error in flowPresented = false print("Flow error: \(error)") })
Implémentez AdaptyFlowControllerDelegate pour gérer les événements. Implémentez au minimum les quatre méthodes sans implémentation par défaut. Notez que le contrôleur ne se ferme pas automatiquement après un achat réussi — fermez-le dans didFinishPurchase, ou ne faites rien pour laisser le flow se poursuivre jusqu’aux écrans suivants :
Pour plus de détails sur la façon d’afficher un flow, consultez notre guide.
3. Gérer les actions des boutons
Lorsque les utilisateurs cliquent sur des boutons, le SDK iOS gère automatiquement les achats, la restauration, la fermeture du flow et l’ouverture des liens.
Cependant, certains boutons ont des identifiants personnalisés ou prédéfinis et nécessitent que vous gériez leurs actions dans votre code. Ou bien, vous souhaitez peut-être remplacer leur comportement par défaut.
Par exemple, voici comment gérer le bouton de fermeture. En UIKit, le SDK ferme automatiquement le contrôleur lorsque .close se déclenche — ne le surchargez que si vous souhaitez un comportement personnalisé. En SwiftUI, vous devez mettre vous-même votre liaison isPresented à false.
Tip
Consultez nos guides pour gérer les actions et les événements des boutons.
.flow( isPresented: $flowPresented, flowConfiguration: flowConfiguration, didPerformAction: { action in switch action { case .close: flowPresented = false // dismiss the flow when the user taps close default: break } }, didFinishPurchase: { product, purchaseResult in flowPresented = false }, didFailPurchase: { product, error in /* handle the error */ }, didFinishRestore: { profile in /* check access level and dismiss */ }, didFailRestore: { error in /* handle the error */ }, didReceiveError: { error in flowPresented = false })
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 flow est prêt à être affiché dans l’application. Testez vos achats en mode sandbox pour vous assurer que vous pouvez effectuer un achat test.