Niveaux 2

  • iOS
  • watchOS
  • tvOS
 

Avant-propos

Le SDK AT Internet vous propose de « découper » votre application en différentes sections (dites niveaux 2). Ces niveaux 2 vous permettent de mieux cibler certaines parties de votre application afin de réaliser un focus sur les usages de ces dernières.

 

Pour bien débuter

Une fois votre marqueur initialisé, vous pouvez modifier l’identifiant de niveau 2 utilisé dans l’envoi des hits.

Dans le cas d’un projet Swift, veillez à importer le module Tracker (ou TrackerExtension si votre target est une extension) dans votre ViewController, ou dans le cas d’un projet Objective-C Tracker-Swift.h ou Tracker-Swift.h dans le cas d’une intégration Cocoapods.

 

Marquage

Le SDK vous permet de modifier l’identifiant de niveau 2 qui sera envoyé lors d’un hit d’écran, de geste … Vous pouvez également modifier de manière « globale » l’identifiant de niveau 2 pour que ce dernier soit utilisé de manière permanente.

Le tracker possède une propriété context qui possède lui-même une sous-propriété level2. Par défaut, cette propriété vaut 0. En modifiant la valeur de cette propriété, l’identifiant de niveau 2 sera ajouté dans les futurs hits.

Pour désactiver cette fonctionnalité, il vous suffit de redéfinir l’identifiant à 0.

 

Exemples de marquage

Dans ces exemples, nous considérons l’ajout de l’information de niveau 2 sur le marquage d’un écran.

  1. Configuration d’un niveau 2 lors de l’entrée de l’utilisateur dans une section particulière de l’app

    override func viewWillAppear(_ animated: Bool) {
        ATInternet.sharedInstance.defaultTracker.context.level2 = 1
        ATInternet.sharedInstance.defaultTracker.screens.add("home").sendView()
    }
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        
        [ATInternet sharedInstance].defaultTracker.context.level2 = 1;
        [[[ATInternet sharedInstance].defaultTracker.screens add:@"home"] sendView];
    }
  2. Suppression du niveau 2 du tracker par défaut lors du changement d’écran

    override func viewWillDisappear(_ animated: Bool) {
        ATInternet.sharedInstance.defaultTracker.context.level2 = 0
    }
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        [ATInternet sharedInstance].defaultTracker.context.level2 = 0;
    }
  3. Surcharge d’un niveau 2 pour un hit

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(_ animated: Bool) {
            // Set level 2 ID for next hits
            tracker.context.level2 = 1
            tracker.screens.add("home").sendView()
        }
    
        @IBAction func touchButton(_ sender: Any) {
            let touch = tracker.gestures.add("ButtonTouch")
            touch.level2 = 2 // Override level 2 ID for this hit
            touch.sendTouch()
        }
        
        override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
            // Level 2 ID will be equal to "1"
            tracker.gestures.add("Go to product detail").sendNavigation()
        }
    }
    #import "ViewController.h"
    #import "Tracker/Tracker-Swift.h"
    
    @interface ViewController ()
    @property (nonatomic, strong) Tracker* tracker;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        self.tracker = [ATInternet sharedInstance].defaultTracker;
    }
    
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        // Set level 2 ID for next hits
        self.tracker.context.level2 = 1;
        [[self.tracker.screens add:@"home"] sendView];
    }
    
    - (IBAction)touchButton:(UIButton *)sender {
        Gesture *touch = [self.tracker.gestures add:@"ButtonTouch"];
        touch.level2 = 2; // Override level 2 for this hit
        [touch sendTouch];
    }
    
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        // Level 2 ID will be equal to "1"
        [[self.tracker.gestures add:@"Go to product detail"] sendNavigation];
    }
    
    @end