Gestes

  • iOS
  • watchOS
  • tvOS
 

Pour bien débuter

Une fois votre marqueur initialisé, vous pouvez débuter le marquage des gestes effectués par vos utilisateurs.

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

Déclarez une variable de type AutoTracker (ou Tracker selon votre Target) dans votre ViewController

import UIKit
import Tracker

class ViewController: UIViewController {
    let 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 geste, le tracker expose une propriété gestures proposant une méthode add.

Par défaut, cette méthode ajoute un marquage de type « Touch ». Vous pouvez modifier le type d’évènement via la propriété action de l’objet Gesture retourné par la méthode add.

Les différentes actions sont les suivantes :

  • Touch : Envoie un hit indiquant qu’un « touch » a eu lieu
  • Navigate : Envoie un hit indiquant qu’un élément de navigation a été touché
  • Download : Envoie un hit indiquant qu’un téléchargement a été provoqué
  • Exit : Envoie un hit indiquant que l’utilisateur a changé de vue ou a quitté l’application
  • Search : Envoie un hit indiquant que l’utilisateur a “cliqué” sur un élément d’un résultat de recherche

Pour envoyer les informations définies, vous devrez appeler manuellement la méthode sendNavigation, sendExit, sendDownload, sendTouch ou sendSearch de votre objet Gesture ou appeler la méthode dispatch du Tracker.

Attention, l’appel aux méthodes sendNavigation, sendExit, sendDownload, sendTouch et sendSearch, modifie la propriété action de l’objet Gesture.

 

Exemples de marquage

  1. Marquage d’un bouton de navigation :
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        tracker.gestures.add("Go to product detail").sendNavigation()
    }
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        [[self.tracker.gestures add:@"Go to product detail"] sendNavigation];
    }
  2. Marquage d’un bouton de navigation avec chapitrage :
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        tracker.gestures.add("Go to product detail", chapter1: "Products", chapter2: "Cart").sendNavigation()
    }
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        [[self.tracker.gestures add:@"Go to product detail" chapter1:@"Products" chapter2:@"Cart"] sendNavigation];
    }
  3. Marquage d’un touch sur un bouton :
    @IBAction func sayHelloHAL(_ sender: Any) {
        let sayHello = tracker.gestures.add("Say Hello HAL")
        sayHello.level2 = 1
        sayHello.sendTouch()
    }
    - (IBAction)sayHelloHAL:(UIButton *)sender {
        Gesture *sayHello = [self.tracker.gestures add:@"Say Hello HAL"];
        sayHello.level2 = 1;
        [sayHello sendTouch];
    }
  4. Marquage d’un touch avec un nom défini via un customObject (le nom sera traité via DataManager)

    @IBAction func sayHelloHAL(_ sender: Any) {
        let sayHello = tracker.gestures.add()
        let _ = sayHello.customObjects.add(["touchName":"Say Hello HAL"])
        sayHello.sendTouch()
    }
    - (IBAction)sayHelloHAL:(UIButton *)sender {
        Gesture *gesture = [[tracker gestures] add:@"Click"];
        [gesture.customObjects addDictionary:@{@"touchName": @"Say Hello HAL"}];
        [gesture sendTouch];
    }