Afficher les flows en mode Observer dans le SDK Capacitor
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 l’afficher.
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 Capacitor SDK 4.0 ou une version ultérieure — elle n’était auparavant disponible que dans les SDK iOS et Android natifs. Consultez le guide de migration pour effectuer la mise à niveau.
Avant de commencer à afficher des flows (Cliquer pour développer)
- Configurez l’intégration initiale d’Adapty avec l’App Store et avec Google Play.
- Installez et configurez le SDK Adapty. Assurez-vous de définir le paramètre
observerModesurtrue. Consultez le guide d’installation du SDK Capacitor. - Créez des produits dans l’Adapty Dashboard.
- Configurez les flows ou paywalls dans les builders et assignez-leur des produits.
- Créez des placements et assignez-leur vos flows ou paywalls.
- 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 paywall rendu par Adapty, le SDK invoque votre gestionnaire d’événements onObserverPurchaseInitiated ou onObserverRestoreInitiated — effectuez l’achat ou la restauration avec votre propre code à cet endroit.
-
Définissez les gestionnaires d’événements du mode Observer sur la vue. Contrairement à d’autres plateformes, il n’existe pas d’objet resolver séparé — les gestionnaires font partie des gestionnaires d’événements habituels, définissez-les donc sur chaque vue que vous créez :
import { adapty, createFlowView } from '@adapty/capacitor'; const view = await createFlowView(flow); const unsubscribe = await view.setEventHandlers({ onObserverPurchaseInitiated(product, onStartPurchase, onFinishPurchase) { onStartPurchase(); // the view shows its loading indicator myPurchaseApi(product.vendorProductId) .then((transactionId) => adapty.reportTransaction({ transactionId, variationId: flow.variationId }), ) .finally(() => onFinishPurchase()); // the view hides the loading indicator return false; // keep the flow open; dismiss it yourself after success }, onObserverRestoreInitiated(onStartRestore, onFinishRestore) { onStartRestore(); myRestoreApi().finally(() => onFinishRestore()); return false; }, });Le gestionnaire
onObserverPurchaseInitiatedvous informe que l’utilisateur a initié un achat, etonObserverRestoreInitiated— que l’utilisateur a initié une restauration. Déclenchez votre flow d’achat ou de restauration personnalisé en réponse.Pensez également à invoquer les callbacks suivants pour notifier AdaptyUI de l’avancement de l’achat ou de la restauration. C’est nécessaire pour un comportement correct du flow, notamment l’affichage du loader :
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. -
Affichez la vue du flow comme d’habitude : récupérez le flow et créez sa vue, puis affichez-la. Aucun paramètre supplémentaire n’est nécessaire — les gestionnaires se déclenchent uniquement lorsque le SDK a été activé avec
observerMode: true.
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 identifier le paywall source de l’achat.