Répondre aux actions des flows - Android
Si vous créez des flows dans l’Adapty Flow & Paywall Builder, 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 app pour gérer chaque action assignée.
Ce guide explique comment gérer les actions personnalisées et existantes dans votre code.
Seuls les achats, les restaurations, les fermetures de flow/paywall et l’ouverture d’URL sont gérés automatiquement. Toutes les autres actions de bouton nécessitent une implémentation appropriée dans le code de l’app.
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
close.
Dans le SDK Android, l’action close déclenche par défaut la fermeture du flow ou du paywall. Vous pouvez toutefois modifier ce comportement dans votre code si nécessaire. Par exemple, la fermeture d’un flow peut déclencher l’ouverture d’un autre.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Close -> (context as? Activity)?.onBackPressed() // default behavior
}
}Ouvrir des URLs depuis des flows et des paywalls
Si vous souhaitez ajouter un groupe de liens (ex. : conditions d’utilisation et 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 paywall (ex. : Terms of use ou Privacy policy) :
- Dans le 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 Android, l’action openUrl déclenche l’ouverture de l’URL par défaut. Vous pouvez toutefois remplacer ce comportement dans votre code si nécessaire.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.OpenUrl -> {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(action.url)) // default behavior
context.startActivity(intent)
}
}
}Gérer les actions personnalisées
Pour ajouter un bouton qui gère d’autres actions :
- Dans le builder, ajoutez un bouton, attribuez-lui l’action Custom et 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 flow ou paywall :
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.Custom -> {
if (action.customId == "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 une action existante ou un identifiant d’action personnalisé.
- Écrivez du 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 prédéfinies dans votre code.
Seuls les achats, les restaurations, les fermetures de paywall et l’ouverture d’URL sont gérés automatiquement. Toutes les autres actions de bouton nécessitent une implémentation appropriée dans le code de l’application.
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 Android, l’action close déclenche la fermeture du paywall par défaut. Vous pouvez toutefois surcharger ce comportement dans votre code si nécessaire. Par exemple, la fermeture d’un paywall peut déclencher l’ouverture d’un autre.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Close -> (context as? Activity)?.onBackPressed() // default behavior
}
}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, attribuez-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 Android, l’action openUrl déclenche l’ouverture de l’URL par défaut. Vous pouvez cependant modifier ce comportement dans votre code si nécessaire.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.OpenUrl -> {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(action.url)) // default behavior
context.startActivity(intent)
}
}
}Se connecter à l’application
Pour ajouter un bouton permettant aux utilisateurs de se connecter à votre application :
- Dans le Paywall Builder, ajoutez un bouton et attribuez-lui l’action Login.
- Dans le code de votre application, implémentez un gestionnaire pour l’action
loginqui identifie votre utilisateur.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Login -> {
val intent = Intent(context, LoginActivity::class.java)
context.startActivity(intent)
}
}
}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 assignez-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 proposez un autre ensemble d’offres d’abonnement ou d’achats uniques, vous pouvez ajouter un bouton qui affichera un autre paywall :
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.Custom -> {
if (action.customId == "openNewPaywall") {
// Display another paywall
}
}
}
}