Developers » AS2 tagging » Apple » Contenus de l'application » Moteur de recherche interne
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 dun 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
- 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
- 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]; }
Classe InternalSearch
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
keyword | String | Chaîne vide | Obtient ou définit les mots clés saisis lors de la recherche |
resultScreenNumber | Int | 1 | Obtient ou définit le numéro d’écran où se situe l’élément sur lequel l’utilisateur a cliqué |
resultPosition | Int | -1 | Obtient ou définit la position de l’élément sur lequel l’utilisateur a cliqué |