Présenter des flows en mode Observateur dans le SDK Flutter
Si vous avez personnalisé un flow ou un paywall à l’aide du builder, vous n’avez pas à vous soucier de son rendu dans le code de votre application mobile pour l’afficher à l’utilisateur. Un tel flow ou paywall contient à la fois ce qui doit être affiché et comment cela doit l’être.
Cette section concerne uniquement le mode Observer. Si vous ne travaillez pas en mode Observer, consultez la rubrique Afficher les flows et paywalls.
Cette fonctionnalité nécessite Adapty Flutter SDK 4.0 ou version ultérieure — auparavant, elle n’était disponible que dans les SDK natifs iOS et Android. Consultez le guide de migration pour mettre à jour.
Créez le flow lui-même dans le Flow Builder.
Avant de commencer à présenter des flows (Cliquez pour développer)
- Configurez l’intégration initiale d’Adapty avec l’App Store et avec Google Play.
2. Installez et configurez le SDK Adapty. Veillez à définir le paramètre
observerModesurtrue. Consultez le guide d’installation du SDK Flutter. 3. Créez des produits dans l’Adapty Dashboard. 4. Configurez des flows ou des paywalls dans les builders et assignez-leur des produits. 5. Créez des placements et assignez-y vos flows ou paywalls. 6. Récupérez les flows et leur configuration dans le code de votre application mobile.
En mode Observateur, le SDK n’effectue pas les achats à votre place. Lorsqu’un utilisateur appuie sur le bouton d’achat ou de restauration dans un flow ou paywall rendu par Adapty, le SDK appelle votre AdaptyUIObserverModeResolver à la place — effectuez l’achat ou la restauration avec votre propre code à cet endroit.
-
Implémentez l’
AdaptyUIObserverModeResolver:class MyObserverModeResolver extends AdaptyUIObserverModeResolver { @override void observerModeDidInitiatePurchase( AdaptyUIFlowView view, AdaptyPaywallProduct product, void Function() onStartPurchase, void Function() onFinishPurchase, ) { onStartPurchase(); // the view shows its loading indicator // make the purchase with your own code, then: onFinishPurchase(); // the view hides the loading indicator } @override void observerModeDidInitiateRestore( AdaptyUIFlowView view, void Function() onStartRestore, void Function() onFinishRestore, ) { onStartRestore(); // restore purchases with your own code, then: onFinishRestore(); } }
La méthode observerModeDidInitiatePurchase vous informe que l’utilisateur a initié un achat, et observerModeDidInitiateRestore — que l’utilisateur a initié une restauration. Déclenchez votre flow d’achat ou de restauration personnalisé en réponse.
N’oubliez pas non plus d’invoquer les callbacks suivants pour notifier AdaptyUI de l’avancement de l’achat ou de la restauration. Cela est nécessaire pour le bon comportement du flow, notamment pour afficher le loader, entre autres :
| Callback | Description |
|---|---|
| onStartPurchase() | Ce callback doit être invoqué pour notifier AdaptyUI que l’achat a démarré. |
| onFinishPurchase() | Ce callback doit être invoqué pour notifier AdaptyUI que l’achat est terminé. |
| onStartRestore() | Ce callback doit être invoqué pour notifier AdaptyUI que la restauration a démarré. |
| onFinishRestore() | Ce callback doit être invoqué pour notifier AdaptyUI que la restauration est terminée. |
-
Enregistrez le resolver avant d’afficher n’importe quel écran :
AdaptyUI().setObserverModeResolver(MyObserverModeResolver()); -
Créez et affichez la vue du flow normalement : récupérez le flow et créez sa vue, puis affichez-la. Aucun paramètre supplémentaire n’est nécessaire — une fois le resolver enregistré, chaque flow ou paywall rendu par Adapty lui transmet les achats et restaurations.
N’oubliez pas de signaler la transaction et de l’associer au paywall. Sinon, Adapty ne reconnaîtra pas la transaction et ne pourra pas déterminer le paywall source de l’achat.