Présenter des flows en mode Observer - Unity
Si vous utilisez le mode Observer, vous êtes responsable de votre propre logique d’achat. Mais vous pouvez déléguer l’interface du paywall au Flow & Paywall Builder.
Concevez l’écran dans le builder, et le SDK Adapty l’affiche nativement. Modifiez les textes, la mise en page et les prix à tout moment, sans publier de nouvelle version de l’application.
Ce guide explique comment présenter un flow et gérer les callbacks d’achat. Si Adapty gère les achats à votre place, consultez Afficher les flows & paywalls à la place.
Avant de commencer
Vous avez besoin de :
- Adapty Unity SDK 4.1 ou version ultérieure : les versions antérieures ne peuvent pas afficher les flows. Pour migrer une application existante, consultez le guide de migration.
SetObserverMode(true)appelé sur le configuration builder : consultez le guide d’installation du SDK Unity.- Intégration initiale au store : configurez Adapty avec l’App Store et avec Google Play.
- Un flow publié avec des produits : créez-le dans le Flow & Paywall Builder et associez-y des produits.
- Un placement de flow : créez un placement et assignez-y votre flow.
- Le flow récupéré dans votre application : récupérez le flow et sa configuration avant de l’afficher.
Implémentation
En mode Observer, le SDK n’effectue pas les achats à votre place. Lorsqu’un utilisateur appuie sur le bouton d’achat ou de restauration dans un flow rendu par Adapty, le SDK appelle votre IAdaptyUIObserverModeResolver — effectuez l’achat ou la restauration avec votre propre code à cet endroit.
-
Implémentez l’interface
IAdaptyUIObserverModeResolver:using System; using AdaptySDK; public class MyObserverModeResolver : IAdaptyUIObserverModeResolver { public void FlowViewDidInitiatePurchase( AdaptyUIFlowView view, AdaptyPaywallProduct product, Action onStartPurchase, Action onFinishPurchase ) { onStartPurchase(); // the view shows its loading indicator // make the purchase with your own code, // then report the transaction to Adapty and call: onFinishPurchase(); // the view hides the loading indicator } public void FlowViewDidInitiateRestore( AdaptyUIFlowView view, Action onStartRestore, Action onFinishRestore ) { onStartRestore(); // restore purchases with your own code, then: onFinishRestore(); } }
La méthode FlowViewDidInitiatePurchase vous informe que l’utilisateur a initié un achat, et FlowViewDidInitiateRestore — 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 fonctionnement du flow, notamment pour afficher le chargement, entre autres :
| Callback | Description |
|---|---|
| onStartPurchase() | Ce callback doit être invoqué pour notifier AdaptyUI que l’achat a commencé. |
| 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 commencé. |
| onFinishRestore() | Ce callback doit être invoqué pour notifier AdaptyUI que la restauration est terminée. |
Le flow reste ouvert pendant l’exécution de votre code — fermez-le vous-même après un achat ou une restauration réussi.
-
Enregistrez le resolver avant d’afficher un écran :
Adapty.SetObserverModeResolver(new MyObserverModeResolver());Sans resolver enregistré, le flow n’a aucun moyen de transmettre l’achat à votre code, et rien ne se passe lorsque l’utilisateur appuie sur le bouton d’achat.
-
Créez et présentez la vue du flow comme d’habitude : récupérez le flow et créez sa vue, puis présentez-la. Aucun paramètre supplémentaire n’est nécessaire — une fois le resolver enregistré, chaque flow rendu par Adapty achemine les achats et les restaurations à travers lui.
N’oubliez pas de signaler la transaction et de l’associer au paywall. Sans cela, Adapty ne reconnaîtra pas la transaction et ne pourra pas déterminer le paywall source de l’achat.