Analytics

Après avoir ajouté la bibliothèque à votre projet, vous pouvez effectuer n’importe quel appel de méthode Analytics n’importe où dans votre application.

CONSEIL

Veillez à importer ADBMobile.h dans votre classe.

Activation des rapports d’applications mobiles dans Analytics

Avant d’ajouter du code, demandez à votre administrateur Analytics d’effectuer les opérations suivantes pour activer le suivi du cycle de vie des applications mobiles. Ainsi, votre suite de rapports est prête à capturer les mesures au début du développement.

  1. Ouvrez Outils d’administration > Report Suites et sélectionnez vos suites de rapports mobiles.

  2. Cliquez sur Modifier les paramètres > Gestion mobile > Rapports d'application mobile.

  3. Cliquez sur Activer les derniers rapports d’application.

    Vous pouvez également cliquer sur Activer le suivi des emplacements mobiles ou Activer le Rapports et l’attribution hérités pour les accès en arrière-plan.

Les mesures de cycle de vie sont maintenant prêtes à être capturées et les rapports d’applications mobiles apparaissent dans le menu Rapports de l’interface des rapports marketing.

Nouvelles versions

Régulièrement, de nouvelles versions du rapports d’applications mobiles sont publiées. Les nouvelles versions ne sont pas appliquées automatiquement à votre suite de rapports. Vous devez répéter ces étapes pour effectuer la mise à niveau. Chaque fois que vous ajoutez une nouvelle fonctionnalité Experience Cloud à votre application, nous vous recommandons de répéter ces étapes pour vous assurer que vous disposez de la dernière configuration.

Mesures de cycle de vie

Pour collecter les mesures de cycle de vie dans votre application, ajoutez des appels lorsque l'application est activée, comme le montrent les exemples suivants.

WinJS dans default.js

app.onactivated = function (args) { 
  if (args.detail.kind === activation.ActivationKind.launch) { 
   ... 
   // launched and resumed stuff  
   ADBMobile.Config.collectLifecycleData(); 
  } 
}; 
app.oncheckpoint = function (args) { 
  ADBMobile.Config.pauseCollectingLifecycleData(); 
}

C# dans App.xaml.cs

public App() 
{ 
    this.InitializeComponent(); 
    this.Resuming += OnResuming; 
    this.Suspending += OnSuspending; 
} 
protected override void OnLaunched(LaunchActivatedEventArgs e) 
{   ... 
    ADBMobile.Config.CollectLifecycleData(); 
    ... 
} 
private void OnResuming(object sender, object e) 
{ 
    ... 
    ADBMobile.Config.CollectLifecycleData(); 
    ... 
} 
private void OnSuspending(object sender, SuspendingEventArgs e) 
{ 
    ... 
    ADBMobile.Config.PauseCollectingLifecycleData(); 
    ... 
}

C ++/CX dans App.xaml.cpp

App::App() 
{ 
 InitializeComponent(); 
 Resuming += ref new EventHandler<Object ^>(this, &App::OnResuming); 
 Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending); 
} 
void App::OnResuming(Object ^sender, Object ^args) 
{ 
 ... 
 ADBMobile::Config::CollectLifecycleData(); 
 ... 
} 
void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e) 
{ 
 ... 
 ADBMobile::Config::PauseCollectingLifecycleData(); 
 ... 
} 
void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) 
{ 
 ... 
 ADBMobile::Config::CollectLifecycleData(); 
 ... 
}

Si CollectLifecycleData() est appelé deux fois au cours de la même session, votre application signale un blocage pour chaque appel après le premier. Le SDK définit un indicateur lorsque l’application est fermée, qui indique une sortie réussie. Si cet indicateur n'est pas défini, CollectLifecyleData() signale un plantage.

Événements, props et eVars

Si vous avez examiné les méthodes SDK, vous vous demandez probablement où définir des événements, des eVars, des props, des héritiers et des listes. Dans la version 4, vous ne pouvez plus affecter ces types de variables directement dans votre application. Au lieu de cela, le SDK utilise des données contextuelles et des règles de traitement pour mapper les données de votre application sur les variables Analytics à des fins de reporting.

Les règles de traitement offrent plusieurs avantages :

  • Vous pouvez modifier le mapping de vos données sans envoyer de mise à jour à 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 n’a que peu d’impact. Ces valeurs n’apparaîtront pas dans les rapports tant qu’elles ne seront pas mises en correspondance à l’aide de règles de traitement.

Toutes les valeurs que vous affectiez directement aux variables doivent être ajoutées aux données contextuelles.

Règles de traitement

Les règles de traitement permettent de copier les données envoyées dans des variables de données contextuelles vers des variables evar, prop et d’autres variables pour le rapports.

Formation aux règles de traitement @ Summit 2013

Aide des règles de traitement

Devenir autorisé à utiliser des règles de traitement

Nous vous recommandons de regrouper vos variables de données contextuelles à l’aide d’"espaces de nommage", car cela vous permet de conserver un ordre logique. Par exemple, si vous souhaitez collecter des informations sur un produit, vous pouvez définir les variables suivantes :

"product.type":"hat" 
"product.team":"mariners" 
"product.color":"blue"

Les variables de données contextuelles sont triées par ordre alphabétique dans l’interface des règles de traitement. Les espaces de nommage vous permettent donc d’afficher rapidement les variables qui se trouvent dans le même espace de nommage.

En outre, nous avons entendu dire que certains d’entre vous nomment des clés de données contextuelles à l’aide de l’evar ou du numéro prop :

"eVar1":"jimbo"

Cela peut rendre légèrement plus facile lorsque vous effectuez le mappage unique dans les règles de traitement, mais vous perdez la lisibilité pendant le débogage et les futures mises à jour du code peuvent être plus difficiles. Nous vous recommandons plutôt d’utiliser des noms descriptifs pour les clés et les valeurs :

"username":"jimbo"

Définissez les variables contextuelles qui définissent les événements de compteur sur la valeur "1" :

"logon":"1"

Les variables de données contextuelles qui définissent les événements incrémenteurs peuvent avoir la valeur d’incrémentation :

"levels completed":"6"
CONSEIL

Adobe réserve l’espace de noms « a. ». Outre cette restriction, les variables de données contextuelles doivent simplement être uniques dans votre société de connexion pour éviter les collisions.

Variable products

Pour définir products dans le SDK mobile, vous devez utiliser une syntaxe spéciale. Pour plus d’informations, voir Variable Products.

(Facultatif) Activation du suivi hors ligne

Pour stocker les accès lorsque le périphérique est hors ligne, vous pouvez activer le suivi hors ligne dans le fichier Méthodes SDK. Soyez attentif aux exigences d’horodatage décrites dans la référence de fichier de configuration avant d’activer le suivi hors ligne.

Géolocalisation et points ciblés

La géolocalisation vous permet de mesurer les données d’emplacement (latitude/longitude) et les points d’intérêt prédéfinis. Chaque appel TrackLocation envoie :

  • Latitude/Longitude, et POI (si elle se trouve dans un POI défini dans le fichier de configuration ADBMobileConfig.json).

    Elles sont transmises aux variables de solution mobile pour le rapports automatique.

  • Distance par rapport au centre et précision transmises en tant que données contextuelles.

    Capturer à l’aide d’une règle de traitement.

Pour effectuer le suivi d'un emplacement :

var ADB = ADBMobile; 
ADB.Analytics.trackLocation(37.75345, -122.33207, null);

Si le point d’accès suivant est défini dans le fichier de configuration ADBMobileConfig.json :

"poi" : [ 
            ["San Francisco",37.757144,-122.44812,7000], 
        ]

Lorsque l'emplacement du périphérique est déterminé comme se trouvant dans un rayon de 7 000 mètres du point défini, une variable de données contextuelles a.loc.poi avec la valeur San Francisco est envoyée avec l'accès TrackLocation. Une variable de contexte a.loc.dist est envoyée avec la distance en mètres par rapport aux coordonnées définies.

Valeur de durée de vie

La valeur de durée de vie vous permet de mesurer et de cibler une valeur de durée de vie pour chaque utilisateur. À chaque fois que vous envoyez une valeur avec TrackLifetimeValueIncrease, la valeur est ajoutée à la valeur existante. La valeur de durée de vie est stockée sur l’appareil et peut être récupérée à tout moment en appelant GetLifetimeValue. Cette procédure peut être utilisée pour stocker des valeurs de durée de vie (achats, vues des publicités, affichages complets de vidéos, partages sur les médias sociaux, chargement de photos, etc.).

// Lifetime Value Example 
var ADB = ADBMobile; 
var purchasePrice = 39.95; 
var cdata = new Windows.Foundation.Collections.PropertySet(); 
cdata["ItemPurchaseEvent"] = "ItemPurchaseEvent"; 
cdata["PurchaseItem"] = "Item453"; 
cdata["PurchasePrice"] = purchasePrice; 
ADB.Analytics.trackLifetimeValueIncrease(purchasePrice, cdata);

Actions minutées

Les actions minutées vous permettent de mesurer la durée in-app et la durée totale entre le début et la fin d’une action. Le SDK calcule la durée de la session et la durée totale (intersessions) nécessaire à l’exécution de l’action. Vous pouvez l’utiliser pour définir des segments à comparer à l’heure d’achat, au niveau de passage, au flux de passage en caisse, etc.

  • Nombre total de secondes dans l’application entre le début et la fin (intersessions)
  • Nombre total de secondes entre le début et la fin (heure de l’horloge)
// Timed Action Start Example 
var ADB = ADBMobile; 
var cdata = new Windows.Foundation.Collections.PropertySet(); 
cdata["ExperienceName"] = experience; 
ADB.Analytics.trackTimedActionStart("TimeUntilPurchase", cdata);
// Timed Action Update Example 
var ADB = ADBMobile; 
var cdataUpdate = new Windows.Foundation.Collections.PropertySet(); 
cdataUpdate["ImageLiked"] = imageName; 
ADB.Analytics.trackTimedActionStart("TimeUntilPurchase", cdata); 
// Timed Action End Example 
var ADB = ADBMobile; 
ADB.Analytics.trackTimedActionEnd("TimeUntilPurchase");

Sur cette page