Migrer vers l'Adapty Flutter SDK v4.3
L’Adapty Flutter SDK 4.3 affiche les messages intégrés Google Play par défaut et modifie les types Dart de certaines données d’événements de flow et d’onboarding. Aucune API publique n’est supprimée ni renommée, donc votre application compile avec la version 4.3 sans modification. Pour conserver le même comportement, passez en revue chaque changement dans ce guide.
Si vous utilisez encore la version 4.0, commencez par Migrer vers la v4.1 puis suivez ce guide.
Référence rapide
| v4.1 | v4.3 |
|---|---|
| Les messages Google Play ne sont pas demandés | Les messages Google Play s’affichent par défaut sur Android, y compris au-dessus des flows |
Les paramètres d’événements de flow en nombre entier arrivent en tant que double sur Android | Ils arrivent en tant que int sur les deux plateformes |
Les champs e-mail d’onboarding arrivent en tant que AdaptyOnboardingsTextInput | Ils arrivent en tant que AdaptyOnboardingsEmailInput |
| L’affichage d’une saisie d’onboarding masque la valeur saisie | L’affichage d’une saisie montre la valeur saisie |
Installation
Mettez à jour adapty_flutter vers la v4.3 dans votre pubspec.yaml :
dependencies:
adapty_flutter: ^4.3.0
Si votre application utilise le Mode Enfant, spécifiez plutôt adapty_flutter_kids :
dependencies:
adapty_flutter_kids: ^4.3.0
Les prérequis sont inchangés par rapport à la v4.1 : Flutter 3.32.0 (Dart 3.8.0) et iOS 15.0. Consultez Installer le SDK Adapty pour la configuration complète.
Les messages Google Play sont affichés par défaut
À partir de la version 4.3, le SDK envoie des requêtes à Google Play pour les messages intégrés, comme les notifications de paiement refusé, chaque fois qu’une Activity de votre application démarre après activate. Cela inclut les moments où l’application revient au premier plan, et lorsqu’un flow ou un onboarding s’ouvre ou se ferme — un message peut donc apparaître par-dessus un paywall.
Si cela convient à votre application, aucune modification n’est nécessaire. Pour choisir le moment où les messages s’affichent, activez le SDK avec la gestion manuelle sur Android, puis appelez showStoreMessages au moment qui vous convient :
final configuration = AdaptyConfiguration(apiKey: 'YOUR_PUBLIC_SDK_KEY');
if (Platform.isAndroid) {
configuration.withStoreMessagesHandling(AdaptyStoreMessagesHandling.manual);
}
await Adapty().activate(configuration: configuration);
Définissez la gestion manuelle uniquement sur Android pour ne pas modifier le comportement sur iOS : sur iOS 16 et versions ultérieures, la gestion manuelle retient également les messages de l’App Store jusqu’à ce que votre application appelle showStoreMessages. Pour l’API complète, consultez Contrôler les messages du store.
En mode manuel, les stores n’affichent pas de messages par eux-mêmes. Si votre application n’appelle jamais showStoreMessages, les utilisateurs ne verront jamais de notification de paiement refusé.
Les paramètres numériques d’événements flow sont en int sur Android
Sur Android, les paramètres entiers des événements analytiques de flow arrivaient auparavant en double. À partir de la version 4.3, ils arrivent en int, comme sur iOS. Cela affecte flowViewDidReceiveAnalyticEvent et le callback onDidReceiveAnalyticEvent de AdaptyUIFlowPlatformView, y compris les valeurs de date et d’heure des événements flow input.
Un cast vers double lève désormais une exception sur Android. Lisez les paramètres numériques en tant que num :
- final timestamp = params['value'] as double;
+ final timestamp = params['value'] as num;
Les champs email d’onboarding arrivent sous forme AdaptyOnboardingsEmailInput
À partir de la version 4.3, les champs email d’un onboarding parviennent à onboardingViewOnStateUpdatedAction et au callback onStateUpdatedAction de AdaptyUIOnboardingPlatformView sous forme AdaptyOnboardingsEmailInput. Auparavant, ils arrivaient sous forme AdaptyOnboardingsTextInput. Si votre code lit les emails depuis le cas texte, gérez également le cas email :
switch (input) {
case AdaptyOnboardingsTextInput(:final value):
// text fields
break;
+ case AdaptyOnboardingsEmailInput(:final value):
+ // email fields
+ break;
case AdaptyOnboardingsNumberInput(:final value):
// number fields
break;
}
Les champs numériques arrivent désormais sous forme d’AdaptyOnboardingsNumberInput. Avant la version 4.3, leurs mises à jour n’arrivaient pas du tout. Voir Traiter les données des onboardings.
Les valeurs saisies dans l’onboarding apparaissent dans la sortie affichée
L’affichage d’un AdaptyOnboardingsInputParams ou d’un AdaptyOnboardingsInput montre désormais la valeur saisie. Si votre application enregistre ces objets dans les logs, vérifiez-les : ils peuvent désormais contenir des noms, des adresses e-mail et d’autres données entrées par les utilisateurs.
Nouveautés de la version 4.3
Ces ajouts ne nécessitent aucune modification de code :
- Contrôler les messages du store : Choisissez quand les messages de l’App Store et de Google Play s’affichent.
- Précharger les placements : Les méthodes
preloadFlowsetpreloadFlowsForDefaultAudiencepréchauffent le cache des flows. - Libérer une vue conservée : La méthode
destroy()libère une vue de flow que vous avez conservée avecdismiss(destroy: false)ou que vous n’avez jamais présentée. - Plans d’engagement 12 mois : La propriété
AdaptyProductSubscription.pricingTermsdécrit le plan sur iOS, et les niveaux d’accès indiquentbillingPlanetcommitmentInfo. - Mode observateur : La méthode
reportTransactionaccepte un paramètre optionnelappleJwsTransactionsur iOS.