Moteur de recherche interne

  • iOS
  • watchOS
  • tvOS
 

Avant-propos

Le SDK AT Internet vous permet de marquer le moteur de recherche interne à votre application. Vous pouvez ainsi connaître les mots clés saisis ainsi que le numéro d’écran de résultat et la position de l’élément qui a été sélectionnée par l’utilisateur.

 

Pour bien débuter

Une fois votre marqueur initialisé, vous pouvez ajouter les informations de recherche à votre hit d’écran ou de geste.

Dans le cas d’un projet Swift, veillez à importer le module SmartTracker (ou tvOSTracker/watchOSTracker si votre target est une Apple TV ou une Apple Watch) dans votre ViewController. Dans le cas d’un projet Objective-C, veillez à importer SmartTracker-Swift.h ou Tracker-Swift.h pour une integration Cocoapods.

 

Marquage

Les objets Screen et Gesture mettent à disposition une propriété internalSearch.

 

 

Exemple de marquage

Marquage d’une recherche (l’utilisateur est redirigé vers un écran contenant les résultats)

Les paramètres sont ici passés en paramètre lors de la sélection d’un élément sur l’écran de recherche

  1. Marquage d’un écran de recherche

    import UIKit
    import Tracker
    
    class SearchViewController: UIViewController {
        
        let tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
    
            // Do any additional setup after loading the view.
        }
        
        override func viewWillAppear(_ animated: Bool) {
            let screen = tracker.screens.add("Search View")
            screen.internalSearch = InternalSearch(keyword: "Keyword", resultScreenNumber: 1)
            screen.sendView()
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    }
    
    // SearchViewController.m
    
    #import "SearchViewController.h"
    #import "SmartTracker/SmartTracker-Swift.h"
    
    @interface SearchViewController ()
    @property (nonatomic, strong) Tracker* tracker;
    @end
    
    @implementation SearchResultViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        self.tracker = [ATInternet sharedInstance].defaultTracker;
    }
    
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        Screen *screen = [self.tracker.screens add:@"Search View"];
        screen.internalSearch = [[InternalSearch alloc] initWithKeyword: @"Keyword" resultScreenNumber:1];
        [screen sendView];
    }
    
    @end
  2. Marquage d’un clic sur un résultat

    // SearchViewController.swift
    
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let gesture = tracker.gestures.add("SearchLabel")
        gesture.internalSearch = InternalSearch(keyword: "keywordLabel", resultScreenNumber: 1)
        gesture.internalSearch?.resultPosition = 5
        gesture.sendSearch()
    }
    // SearchViewController.m
    
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
         Gesture *gesture = [self.tracker.gestures add:@"SearchLabel"];
         InternalSearch *internalSearch = [[InternalSearch alloc] initWithKeyword: @"Keyword" resultScreenNumber:1];
         internalSearch.resultPosition = 5;
         gesture.internalSearch = internalSearch;
         [gesture sendSearch];
    }