Ce guide explique comment créer et implémenter une application iOS en Swift pour suivre les événements d'ouverture d'écran et de pression sur un bouton avec Google Tag Manager (GTM).
1. Créer un projet
- Ouvrez Xcode.
- Cliquez sur Créer un projet Xcode.
- Sélectionnez Application à vue unique.
- Cliquez sur Suivant.
- Nommez votre projet et choisissez des options supplémentaires. Le nom de votre projet et celui de votre application seront identiques au nom du produit.
- Cliquez sur Suivant.
- Sélectionnez un emplacement de projet (répertoire).
- Cliquez sur Créer.
2. Installer les dépendances de Google Tag Manager
- Quittez Xcode.
- Dans un terminal, exécutez la commande suivante pour installer CocoaPods :
$ sudo gem install cocoapods
- Accédez au répertoire de votre projet.
- Exécutez la commande suivante pour créer un fichier nommé
Podfile
:$ pod init
- Dans
Podfile
, annulez la mise en commentaire deuse_frameworks!
et ajoutezpod 'GoogleTagManager'
à la cible: - Exécutez la commande suivante pour télécharger et installer les dépendances de Google Tag Manager (GTM) dans votre projet :
$ pod install
Cette commande crée également l'espace de travail
GtmSwiftTutorial.xcworkspace
. À partir de maintenant, utilisez cet espace de travail pour développer l'applicationGtmSwiftTutorial
.
# Uncomment this line if you're using Swift use_frameworks! target 'GtmSwiftTutorial' do pod 'GoogleTagManager' end
3. Ajouter un en-tête de pontage pour les bibliothèques Objective-C
Pour créer un fichier d'en-tête de pontage :
- Ouvrez Xcode.
- Cliquez sur File > New > File (Fichier > Nouveau > Fichier).
- Sous iOS > Source, sélectionnez Header File (Fichier d'en-tête).
- Cliquez sur Suivant.
- Saisissez le nom du fichier d'en-tête
BridgingHeader.h
.
- Cliquez sur Créer.
- Ajoutez ces instructions
import
au fichier d'en-tête :#ifndef BridgingHeader_h #define BridgingHeader_h #import <GoogleTagManager/TAGManager.h> #import <GoogleTagManager/TAGContainer.h> #import <GoogleTagManager/TAGContainerOpener.h> #import <GoogleTagManager/TAGDataLayer.h> #import <GoogleTagManager/TAGLogger.h> #endif /* BridgingHeader_h */
Pour ajouter un en-tête de pontage Objective-C aux paramètres de compilation:
- Dans Xcode, cliquez sur votre projet.
- Cliquez sur Build Settings (Paramètres de compilation) dans la zone de l'éditeur.
- Sélectionnez Tout et Combiné, puis recherchez pontage.
- Dans la colonne de droite de la ligne contenant En-tête de pontage Objective-C, saisissez
BridgingHeader.h
.
4. Ajouter un conteneur par défaut à votre projet
Avant d'ajouter un conteneur par défaut à votre projet, téléchargez un binaire de conteneur mobile:
- Connectez-vous à votre compte Google Tag Manager.
- Sélectionnez un conteneur mobile.
- Cliquez sur Versions dans la barre de menu.
- Cliquez sur Actions > Télécharger sur la version du conteneur sélectionnée.
GTM-PT3L9Z
).
Pour ajouter un binaire de conteneur par défaut à votre projet:
- Ouvrez Xcode.
- Cliquez sur l'icône Finder (Finder) dans le Dock.
- Cliquez sur le dossier
Downoloads
. - Faites glisser le fichier binaire du conteneur dans le dossier
Downloads
, puis déposez-le dans le dossier racine de votre projet Xcode.
5. Associer Google Tag Manager à votre application
- Dans Xcode, ouvrez le fichier
AppDelegate.swift
. - Demandez à la classe
AppDelegate
d'étendre la classeTAGContainerOpenerNotifier
:import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, TAGContainerOpenerNotifier { // ... }
Après avoir étendu la classe, l'erreur
Type 'AppDelegate' does not conform to protocol 'TAGContainerOpenerNotifier'
s'affiche. L'étape suivante permettra de corriger cette erreur. - Ajoutez la fonction suivante en bas de la définition de la classe
AppDelegate
:func containerAvailable(container: TAGContainer!) { container.refresh() }
- Dans la fonction
application
, ajoutez le code suivant avant l'instructionreturn true
:let GTM = TAGManager.instance() GTM.logger.setLogLevel(kTAGLoggerLogLevelVerbose) TAGContainerOpener.openContainerWithId("GTM-PT3L9Z", // change the container ID "GTM-PT3L9Z" to yours tagManager: GTM, openType: kTAGOpenTypePreferFresh, timeout: nil, notifier: self)
6. Suivre l'événement d'ouverture de l'écran
Pour suivre un événement d'ouverture d'écran:
- Créez une variable pour stocker l'ID de suivi.
- Créez une variable de couche de données nommée screenName.
- Créez une balise GTM intitulée Vue d'écran.
- Ajoutez le code de suivi de l'écran.
a. Créer une variable pour stocker l'ID de suivi
- Connectez-vous à votre compte Google Tag Manager.
- Sélectionnez un conteneur mobile.
- Dans la barre de navigation de gauche, cliquez sur Variables.
- Sous Variables définies par l'utilisateur, cliquez sur Nouvelle.
- Cliquez sur Variable sans titre pour saisir le nom de la variable ID de suivi.
- Choisissez Constante comme type de variable.
- Saisissez l'ID de suivi (au format
UA-XXXXXXXX-X
, oùX
correspond à un chiffre) comme valeur de la variable.UtilisezUA-47605289-5
(à supprimer). - Cliquez sur Créer une variable.
b. Créez une variable de couche de données nommée "screenName".
- Connectez-vous à votre compte Google Tag Manager.
- Sélectionnez un conteneur mobile.
- Dans la barre de navigation de gauche, cliquez sur Variables.
- Sous Variables définies par l'utilisateur, cliquez sur Nouvelle.
- Cliquez sur Variable sans titre pour saisir le titre Nom à l'écran.
- Choisissez Variable de couche de données comme type de variable.
- Dans le champ Nom de la variable de couche de données, saisissez screenName.
- Cliquez sur Définir la valeur par défaut.
- Saisissez la valeur par défaut écran inconnu.
- Cliquez sur Créer une variable.
c. Créer une balise GTM intitulée "Vue de l'écran"
- Connectez-vous à votre compte Google Tag Manager.
- Sélectionnez un conteneur pour mobile.
- Dans la barre de navigation de gauche, cliquez sur Balises.
- Cliquez sur Nouveau.
- Cliquez sur Balise sans titre pour saisir le nom de la balise. Vue d'écran
- Sélectionnez le produit Google Analytics.
- Sélectionnez ID de suivi dans la liste.
- Sélectionnez App View (Vue de l'application) comme type de suivi.
- Cliquez sur Plus de paramètres.
- Cliquez sur Champs à définir.
- Cliquez sur + Ajouter un champ.
- Sélectionnez le nom du champ screenName et sa valeur Screen Name (Nom de l'écran).
- Cliquez sur Continuer.
- Sous Déclencher, sélectionnez Tout événement.
- Cliquez sur Créer une balise.
d. Ajouter le code de suivi de l'écran
- Ouvrez le fichier
ViewController.swift
dans Xcode. - Définissez une variable nommée
dataLayer
dans la classeViewController
:var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer
- Dans la fonction
viewDidLoad()
, transmettez l'événementOpenScreen
à la couche de données :dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"])
La définition de la classe ViewController
se présente comme suit:
import UIKit class ViewController: UIViewController { var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer override func viewDidLoad() { super.viewDidLoad() dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"]) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that cant be recreated } }
7. Suivre l'événement de pression sur un bouton
Pour suivre un événement d'appui sur un bouton:
- Créez une variable de couche de données nommée eventAction.
- Créez une variable d'événement personnalisée nommée Event.
- Créez une balise GTM intitulée Bouton enfoncé.
- Créez un bouton et ajoutez du code pour suivre le fait qu'il est enfoncé.
a. Créez une variable de couche de données nommée "eventAction".
- Connectez-vous à votre compte Google Tag Manager.
- Sélectionnez un conteneur mobile.
- Dans la barre de navigation de gauche, cliquez sur Variables.
- Sous Variables définies par l'utilisateur, cliquez sur Nouvelle.
- Cliquez sur Variable sans titre pour saisir le titre Action d'événement.
- Sélectionnez le type de variable Variable de couche de données.
- Saisissez eventAction comme Nom de la variable de couche de données.
- Cliquez sur Définir la valeur par défaut.
- Saisissez la valeur par défaut événement inconnu.
- Cliquez sur Créer une variable.
b. Créez une variable d'événement personnalisée appelée "Événement".
- Connectez-vous à votre compte Google Tag Manager.
- Sélectionnez un conteneur pour mobile.
- Dans la barre de navigation de gauche, cliquez sur Variables.
- Sous Variables définies par l'utilisateur, cliquez sur Nouvelle.
- Cliquez sur Variable sans titre pour saisir le nom de la variable Événement.
- Sélectionnez le type de variable Événement personnalisé.
- Cliquez sur Créer une variable.
c. Créer une balise GTM intitulée "Bouton enfoncé"
- Connectez-vous à votre compte Google Tag Manager.
- Sélectionnez un conteneur mobile.
- Dans la barre de navigation de gauche, cliquez sur Balises.
- Cliquez sur Nouveau.
- Cliquez sur Balise sans titre pour saisir le nom de la balise Bouton enfoncé.
- Sélectionnez le produit Google Analytics.
- Sélectionnez ID de suivi dans la liste.
- Sélectionnez Événement comme Type de suivi.
- Sélectionnez la catégorie Événement.
- Sélectionnez Action de l'événement.
- Cliquez sur Continuer.
- Sous Déclencher, sélectionnez Tout événement.
- Cliquez sur Créer une balise.
d. Créer un bouton et ajouter du code pour suivre le clic sur le bouton
- Ouvrez votre projet Xcode.
- Ouvrez
Main.storyboard
. - Cliquez sur le bouton en haut à droite de la barre d'outils Xcode pour ouvrir la zone d'utilitaire (barre latérale droite).
- En bas de la zone d'utilitaire,
Cliquez sur le bouton Afficher la bibliothèque d'assets (bouton bleu):
- Saisissez button dans le champ de recherche.
- Faites glisser Bouton vers le storyboard et déposez-le en haut à gauche.
- Cliquez sur le bouton de l'éditeur de l'assistant dans la barre d'outils Xcode.
- Tout en maintenant la touche Ctrl enfoncée, faites glisser le bouton et déposez-le en bas de la définition de classe
ViewController
.
- Dans la boîte de dialogue, sélectionnez la connexion Action, saisissez le nom de la fonction buttonPressed, puis cliquez sur Connecter.
Cela ajoute la fonction suivante à la fin de la définition de la classe
ViewController
:@IBAction func buttonPressed(sender: AnyObject) { }
La fonction est exécutée chaque fois que vous appuyez sur le bouton.
- Dans la fonction
buttonPressed
, ajoutez le code suivant pour transmettre l'événementButtonPressed
à la couche "Jour" :@IBAction func buttonPressed(sender: AnyObject) { dataLayer.push(["event": "ButtonPressed", "eventAction": "Test Event"]) }
8. Compiler et exécuter votre application
Dans Xcode, cliquez sur Product > Run (Produit > Exécuter). Xcode compile et exécute l'application: