Objet personnalisé

  • iOS
  • watchOS
  • tvOS
 

Avant-propos

Le SDK vous permet d’ajouter toutes sortes d’informations via des dictionnaires ou flux JSON à ajouter à la variable stc. Les objets personnalisés peuvent être ajoutés à n’importe quel type de marquage et peuvent ensuite être traités via l’outil Data Manager.

 

Pour bien débuter

Une fois votre marqueur initialisé, vous pouvez ajouter vos objets personnalisés à vos hits.

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

 

Marquage

Pour ajouter un objet personnalisé à vos hits, le tracker expose une propriété customObjects possédant une méthode add. Cette dernière permet d’ajouter un objet personnalisé qui sera ajouté au prochain hit envoyé.

 

Exemples de marquage

  1. Marquage d’un écran avec ajout d’un objet personnalisé « simple »

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(_ animated: Bool) {
            let screen = tracker.screens.add("Home")
            screen.customObjects.add(["firstName": "John", "age": 26, "name": "Doe"])
            screen.sendView()
        }
    }
    #import "Tracker/Tracker-Swift.h"
    
    @interface ViewController ()
    @property (nonatomic, strong) Tracker* tracker;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        self.tracker = [ATInternet sharedInstance].defaultTracker;
        self.tracker.debugger = self;
    }
    
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        
        Screen *screen = [[tracker screens ] add:@"Home"];
        [screen.customObjects addDictionary:@{@"firstName": @"John", @"age": @26, @"name": @"Doe"}];
        [screen sendView];
    }
    
    @end

    JSON obtenu dans la variable stc :

    {
        "lifecycle": {
            "fl": 0,
            "fld": 20151014,
            "dsfl": 1,
            "flau": 0,
            "dslu": 0,
            "lc": 57,
            "lcsu": 0,
            "ldc": 9,
            "lwc": 57,
            "lmc": 57
        },
        "firstName": "John",
        "age": 26,
        "name": "Doe"
    }
  2. Marquage d’un écran avec ajout d’un objet personnalisé « complexe »

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(animated: Bool) {
            let screen = tracker.screens.add("Home")
            _ = screen.customObjects.add(["user" : ["language": "en", "country": "US", "currency" : "USD"]])
            screen.sendView()
        }
    }
    #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;
        self.tracker.debugger = self;
    }
    
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        Screen *screen = [[tracker screens ] add:@"Home"];
        [screen.customObjects addDictionary:@{@"user": @{@"language": @"en", @"country": @"US", @"currency": @"USD"}}];
        [screen sendView];
    }
    
    @end

    JSON obtenu dans la variable stc :

    {
        "lifecycle": {
            "fl": 0,
            "fld": 20151014,
            "dsfl": 1,
            "flau": 0,
            "dslu": 0,
            "lc": 58,
            "lcsu": 0,
            "ldc": 10,
            "lwc": 58,
            "lmc": 58
        },
        "user": {
            "language": "en",
            "currency": "USD",
            "country": "US"
        }
    }
  3. Marquage d’une navigation avec ajout d’un objet personnalisé

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(_ animated: Bool) {
            let gesture = tracker.gestures.add("Navigate Home")
            gesture.customObjects.add(["user" : ["language": "en", "country": "US", "currency" : "USD"]])
            gesture.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;
        self.tracker.debugger = self;
    }
    
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        Gesture *gesture = [[tracker gestures] add:@"Navigate Home"];
        [gesture.customObjects addDictionary:@{@"user": @{@"language": @"en", @"country": @"US", @"currency": @"USD"}}];
        [gesture sendNavigation];
    }
    
    @end
  4. Marquage d’une publicité avec ajout d’un objet personnalisé

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(_ animated: Bool) {
            let screen = tracker.screens.add()
            _ = screen.customObjects.add(["user" : ["language": "en", "country": "US", "currency" : "USD"]])
            _ = screen.publishers.add("[ad1]")
            screen.sendView()
        }
    }
    #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;
        self.tracker.debugger = self;
    }
    
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        Screen *screen = [[tracker screens] add];
        [screen.customObjects addDictionary:@{@"user": @{@"language": @"en", @"country": @"US", @"currency": @"USD"}}];
        [screen.publishers add:@"[ad1]"];
        [screen sendView];
    }
    
    @end
 

Classe CustomObject

 

Propriétés

NomTypeValeur par défautDescription
jsonString{}Obtient ou définit l’objet sous forme de JSON
Dernière mise à jour : 22/07/2019