Activer les achats avec Flow Builder dans le SDK iOS

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, créées dans le Flow 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 afficher les flows dans votre app (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 app. Choisissez celle qui correspond à vos besoins :

ImplémentationComplexitéQuand l’utiliser
Adapty Flow Builder✅ FacileVous créez un flow complet et prêt à l’achat dans le builder sans code. Adapty le rend automatiquement et gère l’intégralité du flux d’achat, la validation des reçus et la gestion des abonnements en coulisses.
Paywalls créés manuellement🟡 MoyenVous implémentez l’interface de votre paywall dans le code de votre app, mais récupérez quand même l’objet flow depuis Adapty pour conserver de la flexibilité dans les offres de produits. Voir le guide.
Mode observateur🔴 DifficileVous disposez déjà de votre propre infrastructure de gestion des achats et souhaitez continuer à l’utiliser. Notez que le mode observateur a ses limitations dans Adapty. Voir l’article.

Les étapes ci-dessous montrent comment implémenter un flow créé dans Adapty Flow Builder.

Si vous préférez construire l’interface du paywall vous-même, voir Implémenter des paywalls manuellement.

Pour afficher un flow créé dans Adapty Flow Builder, vous n’avez besoin que de :

  1. Récupérer le flow : Obtenez-le depuis Adapty.
  2. L’afficher et laisser Adapty gérer les achats : Affichez la vue dans votre app.
  3. Gérer les actions des boutons : Associez les interactions utilisateur aux réponses de votre app. Par exemple, ouvrez des liens ou fermez le flow lorsque les utilisateurs cliquent sur des boutons.

Avant de commencer

Avant de commencer, effectuez ces étapes :

  1. Connectez votre app à l’App Store dans l’Adapty Dashboard.
  2. Créez vos produits dans Adapty.
  3. Créez un flow et ajoutez-y des produits.
  4. Créez un placement et ajoutez votre flow.
  5. Installez et activez le SDK Adapty dans votre code. Ce guide utilise les APIs du SDK Adapty iOS v4.

1. Récupérer le flow

Vos flows sont associés à des placements configurés dans le tableau de bord. Les placements vous permettent d’exécuter des flows différents pour différentes audiences ou de lancer des tests A/B.

Pour obtenir un flow créé dans Adapty Flow Builder, vous devez :

  1. Récupérer l’objet flow par l’ID du placement via la méthode getFlow et vérifier qu’il dispose d’une configuration de vue.
  2. Obtenir la configuration de vue via la méthode getFlowConfiguration. Elle contient les éléments d’interface et le style nécessaires pour afficher le 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, quelques lignes suffisent pour l’afficher.

Pour plus de détails sur l’affichage d’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, d’autres boutons ont des identifiants personnalisés ou prédéfinis et nécessitent une gestion dans votre code. Vous pouvez également vouloir remplacer leur comportement par défaut.

Par exemple, voici comment gérer le bouton de fermeture. En UIKit, le SDK ferme le contrôleur automatiquement lorsque .close se déclenche — ne surchargez que si vous souhaitez un comportement personnalisé. En SwiftUI, vous devez passer votre binding isPresented à false vous-même.

Consultez nos guides sur la gestion des actions et des événements des boutons.

Étapes suivantes

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’app. Testez vos achats en mode sandbox pour vous assurer de pouvoir effectuer un achat de test.

Vous devez ensuite vérifier le niveau d’accès des utilisateurs pour vous assurer d’afficher un flow ou de donner accès aux fonctionnalités payantes aux bons utilisateurs.

Exemple complet

Voici comment toutes les étapes de ce guide peuvent être intégrées ensemble dans votre app.