Présenter les onboardings dans le SDK Kotlin Multiplatform
Les onboardings sont dépréciés dans le SDK v4 et seront supprimés dans une prochaine version. Ils ne reçoivent plus de correctifs ni d’améliorations. Utilisez les flows à la place : contrairement aux onboardings qui s’exécutent dans une WebView, les flows s’affichent nativement sur l’appareil — offrant des animations plus fluides, un rendu natif cohérent, des temps de chargement plus rapides et aucune dépendance à l’environnement WebView. Consultez Obtenir des flows & paywalls et Afficher des flows & paywalls pour commencer.
Si vous avez personnalisé un onboarding via le builder, vous n’avez pas besoin de vous soucier de son rendu dans le code de votre application Kotlin Multiplatform pour l’afficher à l’utilisateur. Un tel onboarding contient à la fois ce qui doit être affiché et comment cela doit l’être.
Avant de commencer, assurez-vous que :
- Vous avez installé le SDK Adapty Kotlin Multiplatform 3.16.1 ou une version ultérieure.
- Vous avez créé un onboarding.
- Vous avez ajouté l’onboarding à un placement.
Le SDK Adapty Kotlin Multiplatform offre deux façons de présenter les onboardings :
- Avec Compose Multiplatform
- Sans Compose Multiplatform
Avec Compose Multiplatform
Pour afficher un onboarding, utilisez la méthode view.present() sur la view créée par la méthode createOnboardingView. Chaque view ne peut être utilisée qu’une seule fois. Si vous devez afficher l’onboarding à nouveau, appelez createOnboardingView une nouvelle fois pour créer une nouvelle instance de view.
Réutiliser la même view sans la recréer peut entraîner une erreur.
viewModelScope.launch {
AdaptyUI.createOnboardingView(onboarding = onboarding).onSuccess { view ->
view.present()
}.onError { error ->
// handle the error
}
}
Configurer le style de présentation iOS
Configurez la façon dont l’onboarding est présenté sur iOS en passant le paramètre iosPresentationStyle à la méthode present(). Le paramètre accepte les valeurs AdaptyUIIOSPresentationStyle.FULLSCREEN (par défaut) ou AdaptyUIIOSPresentationStyle.PAGESHEET.
viewModelScope.launch {
val view = AdaptyUI.createOnboardingView(onboarding = onboarding).getOrNull()
view?.present(iosPresentationStyle = AdaptyUIIOSPresentationStyle.PAGESHEET)
}
Personnaliser l’ouverture des liens dans les onboardings
Par défaut, les liens dans les onboardings s’ouvrent dans un navigateur intégré à l’application. Cela offre une expérience utilisateur fluide en affichant les pages web directement dans votre application, permettant aux utilisateurs de les consulter sans changer d’app.
Si vous préférez ouvrir les liens dans un navigateur externe, vous pouvez personnaliser ce comportement en définissant le paramètre externalUrlsPresentation sur AdaptyWebPresentation.EXTERNAL_BROWSER :
viewModelScope.launch {
AdaptyUI.createOnboardingView(
onboarding = onboarding,
externalUrlsPresentation = AdaptyWebPresentation.EXTERNAL_BROWSER // default – IN_APP_BROWSER
).onSuccess { view ->
view.present()
}.onError { error ->
// handle the error
}
}
Sans Compose Multiplatform
createNativeOnboardingView fait partie du module principal io.adapty:adapty-kmp. Si votre projet n’utilise pas Compose Multiplatform, vous n’avez pas besoin de la dépendance io.adapty:adapty-kmp-ui.
Pour intégrer un onboarding sans Compose Multiplatform, appelez createNativeOnboardingView. Cette méthode retourne un AdaptyNativeOnboardingView que vous ajoutez à votre layout :
Supprimer la vue
Appelez dispose() lors de la suppression de la vue de votre layout. Cela désenregistre le listener d’événements et libère les ressources internes.
nativeView.dispose()