Show Menu
SUJETS×

Migration vers la bibliothèque iOS 4.x

Ces informations vous aideront à migrer de la version 2.x ou 3.x de la bibliothèque iOS vers la version 4.x.
Le SDK utilise NSUserDefaults pour stocker les données nécessaires au calcul d’utilisateurs uniques, de mesures de cycle de vie et d’autres données nécessaires dans le cadre du fonctionnement de base du SDK. Si vous modifiez ou supprimez dans NSUserDefaults des valeurs attendues par le SDK, il peut en résulter un comportement inattendu sous la forme de données incohérentes.
Dans la bibliothèque du SDK iOS version 4.x, les méthodes publiques sont consolidées dans un en-tête. En outre, les fonctionnalités sont désormais accessibles par des méthodes de niveau de classe : ainsi, il n’est pas nécessaire d’effectuer le suivi des pointeurs, des instances ou des singletons.

Événements, props et eVars

Dans la version 4, vous ne pouvez plus attribuer des variables telles que des événements, des eVars, des props, des héritiers et des listes directement dans votre application. À la place, le SDK utilise des données contextuelles et des règles de traitement pour mapper vos données d’application aux variables Analytics pour la création de rapports.
Les avantages des règles de traitement sont les suivants :
  • Vous pouvez modifier la correspondance de vos données sans soumettre de mise à jour dans la boutique d’applications.
  • Vous pouvez utiliser des noms significatifs pour les données au lieu de définir des variables spécifiques à une suite de rapports.
  • L’envoi de données supplémentaires a très peu d’impact.
    Ces valeurs n’apparaîtront pas dans les rapports tant qu’elles ne sont pas mises en correspondance à l’aide des règles de traitement.
Les valeurs que vous assignez directement aux variables doivent désormais être ajoutées au NSDictionary data .

Suppression des propriétés non utilisées

Le nouveau fichier ADBMobileConfig.json comporte des paramètres globaux, spécifiques à une application et remplace la plupart des variables de configuration utilisées dans les versions précédentes. Voici un exemple de fichier ADBMobileConfig.json  :
{ 
    "version" : "1.0", 
    "analytics" : { 
        "rsids" : "coolApp", 
        "server" : "my.CoolApp.com", 
        "charset" : "UTF-8", 
        "ssl" : true, 
        "offlineEnabled" : true, 
        "lifecycleTimeout" : 5, 
        "privacyDefault" : "optedin", 
        "poi" : [ 
                    ["san francisco",37.757144,-122.44812,7000], 
                    ["santa cruz",36.972935,-122.01725,600] 
                ] 
    }, 
 "target" : { 
  "clientCode" : "myTargetClientCode", 
  "timeout" : 5 
 }, 
 "audienceManager" : { 
  "server" : "myServer.demdex.com" 
 } 
}

Déplacement du fichier de configuration

Pour déplacer le fichier de configuration, procédez comme suit :
  1. Déplacez la valeur qui est définie pour la variable dans la première colonne vers la variable dans la deuxième colonne.
  2. Supprimez l’ancienne variable de configuration du code.

Informations de migration

Les tableaux suivants répertorient les variables de configuration que vous devez déplacer vers le fichier de configuration.

Migration depuis la version 3.x

Déplacez la valeur de la première colonne vers la variable de la deuxième colonne.
Variable de configuration
Variable du fichier ADBMobileConfig.json
offlineTrackingEnabled
"offlineEnabled"
offlineHitLimit
"batchLimit"
reportSuiteIDs
"rsids"
trackingServer
"server"
charSet
"charset"
currencyCode
"currency"
ssl
"ssl"
linkTrackVars
Supprimée, n’est plus utilisée.
linkTrackEvents
Supprimée, n’est plus utilisée.

Migration depuis la version 2.x

Déplacez la valeur de la première colonne vers la variable de la deuxième colonne.
Variable de configuration
Variable du fichier ADBMobileConfig.json
trackOffline
"offlineEnabled"
offlineLimit
"batchLimit"
account
"rsids"
trackingServer
"server", supprimez le préfixe "https://" . Le préfixe du protocole est ajouté automatiquement en fonction du paramètre "ssl".
trackingServerSecure
Supprimée. Pour les connexions sécurisées, définissez "server", puis activez "ssl".
charSet
"charset"
currencyCode
"currency"
ssl
"ssl"
linkTrackVars
Supprimée, n’est plus utilisée.
linkTrackEvents
Supprimée, n’est plus utilisée.
timestamp
Supprimée, ne peut plus être configurée.
dc
Supprimée, n’est plus utilisée.
userAgent
Supprimée, ne peut plus être configurée.
dynamicVariablePrefix
Supprimée, n’est plus utilisée.
visitorNamespace
Supprimée, n’est plus utilisée.
usePlugins
Supprimée, n’est plus utilisée.
useBestPractices tous les appels à la mesure churn (getChurnInstance )
Supprimée, remplacée par des mesures de cycle de vie. Pour en savoir plus, voir la section Mesures de cycle de vie .

Mise à jour des appels et des variables de suivi

Au lieu d’utiliser les appels web track et trackLink , le SDK version 4 utilise les méthodes suivantes :
  • Les états trackState:data: sont les affichages disponibles dans l’application, par exemple home dashboard , app settings , cart , etc.
    Ces états sont semblables aux pages d’un site web ; les appels trackState incrémentent les pages vues.
  • Les actions trackAction:data: , par exemple logons , banner taps , feed subscriptions , etc. qui se produisent dans l’application et que vous souhaitez mesurer.
Le paramètre data pour ces deux méthodes est un NSDictionary qui contient des paires nom-valeur envoyées en tant que données contextuelles.

Événements, props et eVars

Dans la version 4, vous ne pouvez plus affecter des variables telles que les événements, les eVars, les props, les héritiers et les listes directement dans votre application. Le SDK utilise désormais les données contextuelles et les règles de traitement pour faire correspondre les données de l’application aux variables Analytics pour la création de rapports.
Les avantages des règles de traitement sont les suivants :
  • Vous pouvez modifier la correspondance de vos données sans soumettre de mise à jour dans la boutique d’applications.
  • Vous pouvez utiliser des noms significatifs pour les données au lieu de définir des variables spécifiques à une suite de rapports.
  • L’envoi de données supplémentaires a très peu d’impact.
    Ces valeurs n’apparaîtront pas dans les rapports tant qu’elles ne sont pas mappées à l’aide des règles de traitement. Pour plus d’informations, voir Règles de traitement et données contextuelles .
Les valeurs que vous avez directement attribuées aux variables doivent être ajoutées au data``NSDictionary à la place. Cela signifie que les appels vers setProp , setEvar et les attributions à des données contextuelles persistantes doivent être supprimés et les valeurs doivent être ajoutées au paramètre data .

AppSection/Server, GeoZip, transaction ID, Campaign et autres variables standard

Les données que vous configuriez sur l’objet de mesure, y compris les variables répertoriées ci-dessus, doivent être ajoutées au data``NSDictionary à la place. Les seules données envoyées avec un appel trackState ou trackAction sont la charge utile dans le paramètre data .

Remplacement des appels de suivi

Dans le code, remplacez les méthodes suivantes par un appel à trackState ou trackAction  :

Migration depuis la version 3.x

  • trackAppState (trackState)
  • trackEvents (trackAction)
  • track (trackAction)
  • trackWithContextData (trackAction)
  • trackLinkURL (trackAction)

Migration depuis la version 2.x

  • track (trackState)
  • trackLink (trackAction)

Identifiant visiteur personnalisé

Remplacez la variable visitorID par un appel à setUserIdentifier: .

Suivi hors ligne

Le suivi hors ligne est activé dans le fichier ADBMobileConfig.json et le reste de la configuration hors ligne est effectué automatiquement.
Dans le code, supprimez les appels aux méthodes suivantes :

Version 3.x

  • setOnline
  • setOffline

Version 2.x

  • forceOffline
  • forceOnline

Variable products

Puisque la variable products n’est plus disponible dans les règles de traitement, vous pouvez utiliser la syntaxe suivante pour la définir :
//create a processing rule to set the corresponding product event. 
// for example, set prodView event when context data a.action = "product view" 
[ADBMobile trackAction:@"LikeButtonClicked"  
                  data:@{@"&&products" : @";Cool Shoe"}];