Developers » AS2 tagging » Apple » Contenus de l'application » Objet personnalisé
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
- 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" }
- 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" } }
- 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
- 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
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
json | String | {} | Obtient ou définit l’objet sous forme de JSON |