Skip to content
This repository was archived by the owner on May 5, 2026. It is now read-only.

Gestures 88b499

Benjamin Diolez edited this page May 5, 2026 · 1 revision

Data collection / Apple / Content / Gestures

Get off to a good start

Once your tag is initialised, you can start tagging gestures made by your users.

In the case of a Swift project, be sure to import the Tracker (or tvOSTracker/watchOSTracker if your target is a tvOS or watchOS device) module in your ViewController. In the case of an Objective-C project, be sure to import the headers or Tracker-Swift.h (or Tracker-Swift.h with Cocoapods).

Declare a Tracker type variable in your 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

Tagging

To tag a gesture, the tracker exposes a gestures property that offers an add method.

By default, this method adds �touch�-type tagging. You can edit the event type via the action property of the Gesture object, returned by the add method***.***

The different actions are the following:

  • Touch: Sends a hit indicating that a �touch� has occurred
  • Navigate: Sends a hit indicating that a navigational item was touched
  • Download: Sends a hit indicating that a download was triggered
  • Exit: Sends a hit indicating that the user changed the display or closed the application
  • Search: Sends a hit indicating that the user “clicked” on a search result item

To send the defined information, you must manually call the method sendNavigation, sendExit, sendDownload, sendTouch or sendSearch of your Gesture object, or call the Tracker�s dispatch method.

Please note, calling the methods sendNavigation, sendExit, sendDownload, sendTouch and sendSearch modifies the action property of the Gesture object.

Tagging examples

  1. Tagging a navigational button:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){
    tracker.gestures.add("Go to product detail").sendNavigation()
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    [[self.tracker.gestures add:@"Go to product detail"] sendNavigation];
}
  1. Tagging a navigational button with chapters:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){
    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];
}
  1. Tagging a button touch:

@IBAction func sayHelloHAL(sender: UIButton) {
    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];
}
  1. Tagging a touch with a name defined via a CustomObject (the name will be treated via DataManager)

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

Wiki contents

Clone this wiki locally