Suivre les affichages d'écrans de flow dans le SDK iOS
Chaque fois qu’un utilisateur ouvre un écran dans un flow, le SDK envoie un événement flow_screen_showed à votre app. Transmettez-le à Amplitude, Mixpanel ou tout autre outil d’analytics produit que vous utilisez, afin d’analyser les écrans de flow avec le reste des événements de votre app.
Pour voir jusqu’où les utilisateurs progressent dans un flow, vous n’avez besoin d’aucun code — les métriques de flow affichent déjà les vues, les complétions et les abandons par écran dans l’Adapty Dashboard. Utilisez ce guide lorsque vous avez besoin des mêmes données dans votre propre outil d’analytics, associées à des événements qu’Adapty ne connaît pas.
Avant de commencer
Vous avez besoin de :
- Adapty iOS SDK v4 ou version ultérieure : le callback d’analyse de flow n’existe pas dans les versions antérieures.
- Une version de flow publiée après le déploiement de cette fonctionnalité : Adapty génère les événements d’écran lors de la publication d’un flow, donc un flow publié avant cette date ne remonte aucun événement. Si aucun événement ne parvient à votre application, publiez une nouvelle version du flow et réessayez.
Ce que vous recevez
Un flow envoie flow_screen_showed chaque fois qu’un utilisateur ouvre l’un de ses écrans. Adapty comptabilise ces événements dans ses propres analytics de flow et les transmet également à votre application, afin que vous puissiez reconstituer le même funnel dans vos propres analytics.
| Paramètre | Description |
|---|---|
instanceId | L’ID de l’écran que l’utilisateur a ouvert. |
screen_order | La position de l’écran dans le flow. |
is_last_screen | true quand l’écran n’a nulle part où aller ensuite. Un flow avec des embranchements peut se terminer sur plusieurs écrans différents, et chacun d’eux renvoie true. |
isBackendEvent et isCustomerEvent sont tous les deux true pour cet événement : Adapty continue de le comptabiliser, et votre application le reçoit également.
Les vues d’écran parviennent au même callback d’analyse que tous les autres événements de flow. Voir Gérer les événements de flow et de paywall pour savoir où l’enregistrer.
Transmettre chaque affichage d’écran à vos outils d’analyse
Vérifiez d’abord le nom de l’événement avant de lire quoi que ce soit d’autre, car un flow remonte d’autres événements via le même callback.
func flowController(
_ controller: AdaptyFlowController,
didReceiveAnalyticEvent name: String,
params: [String: any Sendable]
) {
guard name == "flow_screen_showed" else { return }
let screenId = params["instanceId"] as? String
let screenOrder = params["screen_order"] as? Int
// Send screenId and screenOrder to your analytics provider here.
}
Exécuter du code quand un utilisateur atteint la fin
is_last_screen vaut true sur un écran au-delà duquel le flow ne peut pas avancer. Utilisez-le pour débloquer du contenu, marquer l’onboarding comme terminé ou envoyer un événement de complétion, sans avoir à ajouter une action de bouton dans le builder.
func flowController(
_ controller: AdaptyFlowController,
didReceiveAnalyticEvent name: String,
params: [String: any Sendable]
) {
guard name == "flow_screen_showed",
params["is_last_screen"] as? Bool == true
else { return }
// The user reached the end of the flow.
}
Atteindre le dernier écran n’est pas la même chose que fermer le flow. Un utilisateur peut voir l’écran final et fermer le flow sans y donner suite, et un flow avec des branches peut se terminer sur plusieurs écrans différents. Pour savoir que le flow lui-même a disparu, utilisez flowControllerDidDisappear dans UIKit, ou la closure didDisappear dans SwiftUI à la place.