Migrer vers le SDK Adapty Android v4.1

Le SDK Adapty Android 4.1 modifie la façon dont Adapty Attribution est activé et renomme les API d’attribution externe.

Warning

Les API renommées constituent une rupture complète. AdaptyAttributionSource est supprimé — il n’est pas déprécié, et il n’existe aucun typealias pour faire le pont. Le code qui compilait avec 4.0.x ne compilera plus sur 4.1 tant que vous n’aurez pas renommé chaque appel listé ci-dessous.

Référence rapide

v4.0v4.1
Attribution Adapty activée automatiquementAttribution Adapty désactivée par défaut ; activez-la avec .withAdaptyAttributionEnabled(true)
Adapty.updateAttribution(attribution, source)Adapty.updateExternalAttribution(attribution, provider)
AdaptyAttributionSourceAdaptyExternalAttributionProvider, avec une nouvelle valeur CUSTOM
AdaptyProfile.appliedAttributionSourcesAdaptyProfile.appliedExternalAttributionProviders
Fichier de secours téléchargé pour la v4.0Nouveau format de fichier de secours ; retéléchargez le fichier

Installation

Définissez la version adapty-bom sur 4.1.0 (ou ultérieure) et synchronisez le projet. Le BOM résout automatiquement les versions correspondantes de android-sdk et android-ui. Consultez Installer le SDK Adapty pour les déclarations de dépendances.

Note

Si vous mettez à niveau depuis la version 4.0.0 ou 4.0.1, deux modifications de la version 4.0.2 s’appliquent également :

  • Par défaut, Adapty utilise Google Play Billing Library 8 au lieu de 7.0.0.
  • restorePurchases se termine avec succès même quand il n’y a rien à restaurer et renvoie le profil actuel, au lieu d’échouer avec NO_PURCHASES_TO_RESTORE. Voir Restaurer les achats.

L’attribution Adapty est désactivée par défaut

Dans les versions 4.0 et antérieures, le SDK enregistrait automatiquement les installations pour l’attribution Adapty. À partir de la version 4.1, cette fonctionnalité est désactivée par défaut : le SDK n’enregistre plus les installations, le listener défini avec setOnInstallationDetailsListener ne se déclenche jamais, et getCurrentInstallationStatus retourne AdaptyInstallationStatus.Determined.NotAvailable.

Si vous utilisez l’attribution Adapty, activez-la lors de l’activation du SDK :

  val config = AdaptyConfig.Builder("PUBLIC_SDK_KEY")
+     .withAdaptyAttributionEnabled(true)
      .build()
  Adapty.activate(applicationContext, config)

Si vous n’utilisez pas Adapty Attribution, aucune modification n’est nécessaire.

API d’attribution externe renommées

updateAttribution → updateExternalAttribution

La méthode qui transmet les données d’attribution depuis un fournisseur externe (Adjust, AppsFlyer, Branch, Tenjin, ou un fournisseur personnalisé) est renommée, et son paramètre source est renommé en provider :

- Adapty.updateAttribution(attribution, AdaptyAttributionSource.ADJUST) { error -> /* handle the error */ }
+ Adapty.updateExternalAttribution(attribution, AdaptyExternalAttributionProvider.ADJUST) { error -> /* handle the error */ }

Les deux surcharges sont conservées : attribution peut être un Map<String, Any> ou un String JSON.

Le callback se déclenche dès que le backend accepte les données pour un traitement asynchrone. Un résultat positif ne signifie pas que les données ont déjà été appliquées au profil.

AdaptyAttributionSource → AdaptyExternalAttributionProvider

Le type est renommé, et les valeurs prédéfinies conservent leurs noms : APPLE_ADS, ADJUST, APPSFLYER, BRANCH, et TENJIN. Pour tout autre fournisseur, construisez-en un à partir d’une chaîne : AdaptyExternalAttributionProvider("your_provider").

La version 4.1 ajoute également une valeur prédéfinie CUSTOM pour les fournisseurs qu’Adapty n’intègre pas directement. Dans la version 4.0, cette même valeur n’était disponible que sous la forme de la chaîne "custom".

AdaptyProfile.appliedAttributionSources → appliedExternalAttributionProviders

La propriété du profil qui liste les fournisseurs d’attribution appliqués au profil est renommée. Le type de ses éléments change en conséquence :

- if (profile.appliedAttributionSources.contains(AdaptyAttributionSource.APPLE_ADS)) {
+ if (profile.appliedExternalAttributionProviders.contains(AdaptyExternalAttributionProvider.APPLE_ADS)) {
      // Apple Ads attribution has been applied
  }

Fichiers de secours

Le format des fichiers de secours a changé dans le SDK 4.1. Téléchargez à nouveau le fichier depuis Placements > Fallbacks et intégrez-le dans votre application, même si vous en aviez déjà téléchargé un pour la version 4.0.

Warning

Cette étape ne génère aucune erreur de compilation. Si vous la sautez, WRONG_PARAMETER est levé pour chaque récupération de placement nécessitant un secours — voir Gérer les erreurs dans le SDK Android.