Répondre aux actions de flow - Capacitor
Si vous créez des flows dans le Flow & Paywall Builder d’Adapty, il est essentiel de configurer correctement les boutons :
- Ajoutez un bouton dans le builder et assignez-lui une action existante ou créez un identifiant d’action personnalisé.
- Écrivez le code dans votre application pour gérer chaque action assignée.
Ce guide explique comment gérer les actions personnalisées et existantes dans votre code.
Les achats, restaurations, transitions de flow, fermetures de paywall et ouvertures d’URL sont gérés automatiquement. Vous pouvez configurer leur comportement par défaut ou implémenter des réponses pour les actions personnalisées.
Définir un gestionnaire pour un événement remplace entièrement son comportement par défaut. Les gestionnaires non définis conservent leur comportement par défaut.
Fermer les flows et les paywalls
Pour ajouter un bouton qui ferme votre flow ou paywall :
- Dans le builder, ajoutez un bouton et assignez-lui l’action Close.
- Dans le code de votre application, implémentez un gestionnaire pour l’action
closequi ferme le flow ou le paywall.
Dans le SDK Capacitor, l’action close déclenche la fermeture du flow ou du paywall par défaut. Vous pouvez toutefois remplacer ce comportement dans votre code si nécessaire. Par exemple, la fermeture d’un flow peut déclencher l’ouverture d’un autre.
const view = await createFlowView(flow);
const unsubscribe = await view.setEventHandlers({
onCloseButtonPress() {
return true; // allow the flow to close
},
});Sur Android, le bouton Retour système et le geste de retour déclenchent un événement onAndroidSystemBack distinct. Dans le SDK v4, il ne ferme plus le flow par défaut. Retournez true depuis le handler si vous souhaitez que le bouton Retour ferme le flow :
const unsubscribe = await view.setEventHandlers({
onAndroidSystemBack() {
return true; // close the flow when the Back button is pressed
},
});Ouvrir des URLs depuis les flows et les paywalls
Si vous souhaitez ajouter un groupe de liens (par exemple, les conditions d’utilisation et la restauration des achats), ajoutez un élément Link dans le builder et gérez-le de la même façon que les boutons avec l’action Open URL.
Pour ajouter un bouton qui ouvre un lien depuis votre flow ou votre paywall (par exemple, Terms of use ou Privacy policy) :
- Dans le builder, ajoutez un bouton, assignez-lui l’action Open URL et saisissez l’URL à ouvrir.
- Si nécessaire, dans le code de votre application, implémentez un gestionnaire pour l’action
openUrlqui ouvre l’URL reçue à votre façon.
Dans le SDK Capacitor, appuyer sur une URL l’ouvre dans le navigateur natif par défaut : le SDK appelle adapty.openWebUrl({ url, openIn }), en respectant l’option Open in que vous avez définie dans le builder, et garde le flow ouvert. Vous pouvez cependant remplacer ce comportement dans votre code si nécessaire.
const unsubscribe = await view.setEventHandlers({
onUrlPress(url) {
// Open the URL your own way, e.g. with the Capacitor Browser plugin
Browser.open({ url });
return false; // keep the flow open
},
});Gérer les actions personnalisées
Pour ajouter un bouton qui gère d’autres actions :
- Dans le builder, ajoutez un bouton, assignez-lui l’action Custom et donnez-lui un identifiant.
- Dans le code de votre application, implémentez un gestionnaire pour l’identifiant d’action que vous avez créé.
Par exemple, si vous avez d’autres offres d’abonnement ou achats uniques, vous pouvez ajouter un bouton qui affichera un autre flow ou paywall :
const unsubscribe = await view.setEventHandlers({
onCustomAction(actionId) {
if (actionId === 'openNewPaywall') {
// Display another flow or paywall
}
},
});Si vous créez des paywalls avec le Paywall Builder d’Adapty, il est essentiel de configurer correctement les boutons :
- Dans l’ancien Paywall Builder, ajoutez un bouton et assignez-lui soit une action existante, soit un identifiant d’action personnalisé.
- Écrivez le code dans votre application pour gérer chaque action que vous avez assignée.
Ce guide explique comment gérer les actions personnalisées et les actions existantes dans votre code.
Fermer les paywalls
Pour ajouter un bouton permettant de fermer votre paywall :
- Dans le Paywall Builder, ajoutez un bouton et assignez-lui l’action Close.
- Dans le code de votre application, implémentez un gestionnaire pour l’action
closequi ferme le paywall.
Dans le SDK Capacitor, l’action close déclenche la fermeture du paywall par défaut. Vous pouvez cependant remplacer ce comportement dans votre code si nécessaire. Par exemple, la fermeture d’un paywall peut déclencher l’ouverture d’un autre.
const view = await createPaywallView(paywall);
const unsubscribe = view.setEventHandlers({
onCloseButtonPress() {
console.log('User closed paywall');
return true; // Allow the paywall to close
}
});Ouvrir des URLs depuis les paywalls
Si vous souhaitez ajouter un groupe de liens (par exemple, les conditions d’utilisation et la restauration des achats), ajoutez un élément Link dans le Paywall Builder et gérez-le de la même façon que les boutons avec l’action Open URL.
Pour ajouter un bouton qui ouvre un lien depuis votre paywall (par exemple, Terms of use ou Privacy policy) :
- Dans le Paywall Builder, ajoutez un bouton, assignez-lui l’action Open URL et saisissez l’URL à ouvrir.
- Dans le code de votre application, implémentez un gestionnaire pour l’action
openUrlqui ouvre l’URL reçue dans un navigateur.
Dans le SDK Capacitor, l’action window.open déclenche l’ouverture de l’URL par défaut. Vous pouvez toutefois remplacer ce comportement dans votre code si nécessaire.
const view = await createPaywallView(paywall);
const unsubscribe = view.setEventHandlers({
onUrlPress(url) {
window.open(url, '_blank');
return false; // Don't close the paywall
},
});Se connecter à l’application
Pour ajouter un bouton permettant aux utilisateurs de se connecter à votre application :
- Dans le Paywall Builder, ajoutez un bouton et assignez-lui l’action Login.
- Dans le code de votre application, implémentez un gestionnaire pour l’action
loginqui identifie votre utilisateur.
const view = await createPaywallView(paywall);
const unsubscribe = view.setEventHandlers({
onCustomAction(actionId) {
if (actionId === 'login') {
// Navigate to login screen
console.log('User requested login');
}
}
});Gérer les actions personnalisées
Pour ajouter un bouton qui gère d’autres actions :
- Dans le Paywall Builder, ajoutez un bouton, attribuez-lui l’action Custom et donnez-lui un identifiant.
- Dans le code de votre application, implémentez un gestionnaire pour l’identifiant d’action que vous avez créé.
Par exemple, si vous disposez d’un autre ensemble d’offres d’abonnement ou d’achats uniques, vous pouvez ajouter un bouton qui affichera un autre paywall :
const unsubscribe = view.setEventHandlers({
onCustomAction(actionId) {
if (actionId === 'openNewPaywall') {
// Display another paywall
}
},
});