Présenter des flows en mode Observer - Unity
Si vous avez personnalisé un flow ou un paywall avec le 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 il doit l’être.
Cette section concerne uniquement le mode Observateur. Si vous ne travaillez pas en mode Observateur, consultez la rubrique Afficher les flows et paywalls.
Cette fonctionnalité nécessite le SDK Adapty Unity 4.0 (bêta) ou version ultérieure — elle n’était auparavant disponible que dans les SDK natifs iOS et Android. Consultez le guide de migration pour effectuer la mise à jour.
Avant de commencer à afficher 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. Assurez-vous d’appeler
SetObserverMode(true)sur le builder de configuration. Consultez le guide d’installation du SDK Unity. 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-leur vos flows ou paywalls. 6. Récupérez les flows et leur configuration dans le code de votre application mobile.
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 ou une paywall rendu par Adapty, le SDK appelle votre IAdaptyUIObserverModeResolver à la place — 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(); } }
Le méthode FlowViewDidInitiatePurchase vous informe que l’utilisateur a lancé un achat, et FlowViewDidInitiateRestore — que l’utilisateur a lancé 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 un comportement correct du flow, comme l’affichage du chargement, 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. |
Le flow reste ouvert pendant que votre code s’exécute — fermez-le vous-même après un achat ou une restauration réussie.
-
Enregistrez le resolver avant d’afficher n’importe quel é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 quand l’utilisateur appuie sur le bouton d’achat.
-
Créez et présentez le flow comme d’habitude : récupérez le flow et créez sa vue, puis présentez-le. Aucun paramètre supplémentaire n’est nécessaire — une fois le resolver enregistré, chaque flow ou paywall rendu par Adapty achemine les achats et les restaurations via celui-ci.
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.