Ecrans

  • iOS
  • watchOS
  • tvOS
 

Pour bien débuter

Une fois votre marqueur initialisé, vous pouvez débuter le marquage de vos écrans.

Dans le cas d’un projet Swift, veillez à importer le module Tracker (ou tvOSTracker / watchOSTracker si votre target est une tvOSTracker / watchOSTracker) dans votre ViewController.

Déclarez une variable de type Tracker dans votre ViewController

import UIKit
import Tracker

class ViewController: UIViewController {
    let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}
#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)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

 

Marquage

Pour marquer un écran, le tracker expose une propriété screens.

Deux solutions s’offrent à vous pour marquer un écran :

  • Définir un ou plusieurs marquages et envoyer le(s) hit(s) au moment souhaité
  • Envoyer directement un marquage d’écran

Pour cela, la propriété screens de la classe Tracker propose une méthode add.
Cette méthode permet d’ajouter un marquage d’écran qui pourra être envoyé au moment souhaité (e.g. viewDidLoad, viewWillAppear …).

La méthode add renvoie un objet de type Screen. Pour envoyer les informations définies, vous devrez appeler manuellement la méthode sendView de votre objet Screen ou appeler la méthode dispatch du Tracker.

 

Exemples de marquage

  1. Marquage d’un écran :
    override func viewWillAppear(_ animated: Bool) {
        tracker.screens.add("Home").sendView()
    }
    - (void)viewWillAppear:(BOOL)animated {
        [[self.tracker.screens addWithName:@"Home"] sendView];
    }
  2. Marquage d’écran avec un niveau 2 :
    override func viewWillAppear(_ animated: Bool) {
        let myHomeScreen = tracker.screens.add("Home")
        myHomeScreen.level2 = 1 // Set a level 2 ID for myHomeScreen
        myHomeScreen.sendView()
    }
    - (void)viewWillAppear:(BOOL)animated {
        Screen *myHomeScreen = [tracker.screens add:@"Home"];
        myHomeScreen.level2 = 1; // Set a level 2 ID for myHomeScreen
        [myHomeScreen sendView];
    }
  3. Marquage d’écran avec chapitrage :
    override func viewWillAppear(_ animated: Bool) {
        tracker.screens.add("Today News", chapter1: "Home", chapter2: "News").sendView()
    }
    - (void)viewWillAppear:(BOOL)animated {
       [[self.tracker.screens add:@"Today News" chapter1:@"Home" chapter2:@"News"] sendView];
    }
  4. Marquage d’un écran avec ajout d’un objet personnalisé :
    override func viewWillAppear(_ animated: Bool) {
        let screen = tracker.screens.add()
        screen.customObjects.add(["lng": "fr"])
        screen.sendView()
    }

    Pour l’ajout d’objets personnalisés dans vos hits, veillez à importer l’entête « ATCustomObject.h »

    - (void)viewWillAppear:(BOOL)animated {
        Screen *screen = [[tracker screens] add];
        [screen.customObjects addDictionary:@{@"lng":@"fr"}];
        [screen sendView];
    }
  5. Marquage d’un écran avec utilisation du dispatcher :
    override func viewWillAppear(_ animated: Bool) {
        let screen = tracker.screens.add()
        screen.customVars.add(1, value: "fr", type: CustomVar.CustomVarType.Screen)
        screen.sendView()
    }

    Pour l’ajout de variables personnalisés dans vos hits d’écrans, veillez à importer l’entête « ATCustomVar.h »

    - (void)viewWillAppear:(BOOL)animated {
        Screen *screen = [[tracker screens] add];
        [screen.customVars add:1 value:@"fr" type:CustomVarTypeScreen];
        [self.tracker dispatch];
    }
  6. Marquage d’un écran avec un nom défini via un CustomObject (le nom sera traité via DataManager)

    override func viewWillAppear(_ animated: Bool) {
        let screen = tracker.screens.add()
        screen.customObjects.add(["screenName": "Home"])
        screen.sendView()
    }
    - (void)viewWillAppear:(BOOL)animated {
        Screen *screen = [[tracker screens] add];
        [screen.customObjects addDictionary:@{@"screenName": @"Home"}];
        [[self.tracker.screens add] sendView];
    }
  7. Marquage d’un panier :
    override func viewWillAppear(animated: Bool) {
        let screen = tracker.screens.add("Home")
        screen.cart = tracker.cart.set("myCart")
        screen.sendView()
    }
    - (void)viewWillAppear:(BOOL)animated {
        Screen* screenCart = [tracker.screens add:@"screenCart"];
        screenCart.cart = [tracker.cart set:@"cart"];
        [screenCart sendView];
    }