Localisation

  • iOS
  • watchOS
  • tvOS
 

Avant-propos

Si vous collectez et/ou utilisez les informations de géolocalisation de vos utilisateurs, ceux-ci doivent être informés de la collecte, des finalités du traitement et d’une éventuelle transmission de ces données à des tiers. Vous devez obtenir le consentement de l’utilisateur et lui garantir le moyen de s’opposer à la collecte et au traitement. De même, vous devez déclarer auprès des autorités compétentes (ex : CNIL) le fait que vous utilisez des données de localisation dans vos analyses. Si ces données peuvent être croisées avec des données nominatives, (utilisation de la mesure de visiteurs identifiés avec import des indicateurs de visiteurs et souscription à DataExplorer), vous devez également déclarer aux autorités la nature exacte des données croisables.

Vous pouvez ajouter les données de géolocalisation (latitude, longitude) dans un hit d’écran.

Seuls les deux premiers chiffres après la virgule seront pris en compte.

 

Pour bien débuter

Une fois votre marqueur initialisé, vous pouvez ajouter les données de géolocalisation dans vos hits d’écrans.

Dans le cas d’un projet Swift, veillez à importer le module SmartTracker (ou TrackerExtension si votre target est une extension) dans votre ViewController. Dans le cas d’une application objective-c, il vous faudra importer le header « SmartTracker/SmartTracker-Swift.h ».

 

Exemples de marquage

  1. Marquage d’un écran avec données de géolocalisation

    import UIKit
    import SmartTracker
    
    class ViewController: UIViewController {
        let tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(_ animated: Bool) {
            let screen = tracker.screens.add("Map")
            screen.location = Location(-21.03, longitude: 177.91)
            screen.sendView()
        }
    }
    #import "ViewController.h"
    #import "SmartTracker/SmartTracker-Swift.h"
    
    @interface ViewController ()
    @property (nonatomic, strong) Tracker *tracker;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        self.tracker = [ATInternet sharedInstance].defaultTracker;
        Screen *screen = [self.tracker screens] add:@"Map"];
        screen.location = [[Location alloc] initWithLatitude:-21.03 longitude:177.91];
        [screen sendView];
    }
    
    @end
  2. Marquage d’un écran avec données de géolocalisation et utilisation du dispatcher

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(_ animated: Bool) {
            // Track a screen with name Map
            let mapScreen = tracker.screens.add("Map")
            // Add location to screen hit
            mapScreen.location = Location(-21.03, longitude: 177.91)
            // Add a custom object 
            mapScreen.customObjects.add(["country":"fr"]) 
            // Add a custom variable 
            mapScreen.customVars.add(1, value: "fr", type: CustomVar.CustomVarType.Screen)
            // Set a level2 ID
            mapScreen.level2 = 1 
            // Send screen hit
            tracker.dispatch()
        }
    }
    #import "ViewController.h"
    #import "SmartTracker/SmartTracker-Swift.h"
    
    @interface ViewController ()
    @property (nonatomic, strong) Tracker *tracker;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        self.tracker = [ATInternet sharedInstance].defaultTracker;
        // Track a screen with name Map
        Screen *screen = [[tracker screens ] add:@"Map"];
        // Add location to next screen hit
        screen.location = [[Location alloc] initWithLatitude:-21.03 longitude:177.91];
        // Add a custom object
        [screen.customObjects addDictionary:@{@"country":@"fr"}];
        // Add a custom variable
        [screen.customVars add:1 value:@"fr" type:CustomVarTypeScreen];
        screen.level2 = 1;
        // Send screen hit
        [screen sendView];
    }
    
    @end