In diesem Leitfaden wird beschrieben, wie Sie eine iOS-App in Swift erstellen und implementieren, um Ereignisse für das Öffnen eines Bildschirms und das Drücken von Schaltflächen mit Google Tag Manager (GTM) zu erfassen.
1. Erstellen Sie ein neues Projekt
- Öffnen Sie Xcode.
- Klicken Sie auf Create a new Xcode project (Neues Xcode-Projekt erstellen).
- Wählen Sie Single View Application aus.
- Klicken Sie auf Weiter.
- Benennen Sie Ihr Projekt und wählen Sie weitere Optionen dafür aus. Der Projektname und der App-Name müssen mit dem Produktnamen übereinstimmen.
- Klicken Sie auf Weiter.
- Wählen Sie einen Projektspeicherort (Verzeichnis) aus.
- Klicken Sie auf Erstellen.
2. Google Tag Manager-Abhängigkeiten installieren
- Schließen Sie Xcode.
- Führen Sie in einem Terminal den folgenden Befehl aus, um CocoaPods zu installieren:
$ sudo gem install cocoapods
- Wechseln Sie in Ihr Projektverzeichnis.
- Führen Sie den folgenden Befehl aus, um eine Datei mit dem Namen
Podfile
zu erstellen:$ pod init
- Entfernen Sie in
Podfile
das Kommentarzeichen beiuse_frameworks!
und fügen Sie dem Zielpod 'GoogleTagManager'
hinzu: - Führen Sie den folgenden Befehl aus, um die Abhängigkeiten von Google Tag Manager (GTM) für Ihr Projekt herunterzuladen und zu installieren:
$ pod install
Mit diesem Befehl wird auch der Arbeitsbereich
GtmSwiftTutorial.xcworkspace
erstellt. Verwenden Sie diesen Arbeitsbereich ab sofort, um dieGtmSwiftTutorial
-App zu entwickeln.
# Uncomment this line if you're using Swift use_frameworks! target 'GtmSwiftTutorial' do pod 'GoogleTagManager' end
3. Bridging-Header für Objective-C-Bibliotheken hinzufügen
So erstellen Sie eine Bridging-Header-Datei:
- Öffnen Sie Xcode.
- Klicken Sie auf Datei > Neu > Datei.
- Wählen Sie unter iOS > Quelle die Option Header-Datei aus.
- Klicken Sie auf Weiter.
- Geben Sie den Namen der Kopfdatei
BridgingHeader.h
ein.
- Klicken Sie auf Erstellen.
- Fügen Sie der Headerdatei die folgenden
import
-Anweisungen hinzu:#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 */
So fügen Sie den Objective-C-Bridging-Header zu den Build-Einstellungen hinzu:
- Klicken Sie in Xcode auf Ihr Projekt.
- Klicken Sie im Editorbereich auf Build-Einstellungen.
- Wählen Sie Alle und Kombiniert aus und suchen Sie nach bridging.
- Geben Sie in der rechten Spalte der Zeile mit dem Objective-C-Bridging-Header
BridgingHeader.h
ein.
4. Dem Projekt einen Standardcontainer hinzufügen
Bevor Sie Ihrem Projekt einen Standardcontainer hinzufügen, laden Sie eine Binärdatei für einen mobilen Container herunter:
- Melden Sie sich in Ihrem Google Tag Manager-Konto an.
- Wählen Sie einen mobilen Container aus.
- Klicken Sie in der Menüleiste auf Versionen.
- Klicken Sie bei der ausgewählten Containerversion auf Aktionen > Herunterladen.
GTM-PT3L9Z
.
So fügen Sie Ihrem Projekt ein Standardcontainer-Binary hinzu:
- Öffnen Sie Xcode.
- Klicken Sie im Dock auf das Symbol Finder.
- Klicken Sie auf den Ordner
Downoloads
. - Ziehen Sie die Binärdatei des Containers in den Ordner
Downloads
und legen Sie sie im Stammordner Ihres Xcode-Projekts ab.
5. Google Tag Manager mit Ihrer App verknüpfen
- Öffnen Sie in Xcode die Datei
AppDelegate.swift
. - Die Klasse
AppDelegate
soll die KlasseTAGContainerOpenerNotifier
erweitern:import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, TAGContainerOpenerNotifier { // ... }
Nachdem Sie die Klasse erweitert haben, erhalten Sie den Fehler
Type 'AppDelegate' does not conform to protocol 'TAGContainerOpenerNotifier'
. Mit dem folgenden Schritt können Sie diesen Fehler beheben. - Fügen Sie unten in der Klassendefinition
AppDelegate
die folgende Funktion hinzu:func containerAvailable(container: TAGContainer!) { container.refresh() }
- Fügen Sie in der Funktion
application
vor der Anweisungreturn true
den folgenden Code hinzu: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. Ereignis „Bildschirmöffnung“ verfolgen
So erfassen Sie ein Ereignis, bei dem ein Bildschirm geöffnet wird:
- Erstellen Sie eine Variable, um die Tracking-ID zu speichern.
- Erstellen Sie eine Datenschichtvariable mit dem Namen screenName.
- Erstellen Sie ein GTM-Tag mit dem Namen Bildschirmaufruf.
- Fügen Sie Code zum Tracking des Bildschirms hinzu.
a. Variable zum Speichern der Tracking-ID erstellen
- Melden Sie sich in Ihrem Google Tag Manager-Konto an.
- Wählen Sie einen mobilen Container aus.
- Klicken Sie in der linken Navigationsleiste auf Variablen.
- Klicken Sie unter Benutzerdefinierte Variablen auf Neu.
- Klicken Sie auf Unbenannte Variable, um den Variablennamen Tracking-ID einzugeben.
- Wählen Sie als Variablentyp Konstante aus.
- Geben Sie die Tracking-ID (im Format
UA-XXXXXXXX-X
, wobeiX
eine Ziffer ist) als Wert der Variablen ein.Verwenden SieUA-47605289-5
(wird gelöscht). - Klicken Sie auf Variable erstellen.
b. Erstellen Sie eine Datenschichtvariable mit dem Namen „screenName“.
- Melden Sie sich in Ihrem Google Tag Manager-Konto an.
- Wählen Sie einen mobilen Container aus.
- Klicken Sie in der linken Navigationsleiste auf Variablen.
- Klicken Sie unter Benutzerdefinierte Variablen auf Neu.
- Klicken Sie auf Unbenannte Variable, um den Titel Nutzername einzugeben.
- Wählen Sie als Variablentyp Datenschichtvariable aus.
- Geben Sie screenName als Name der Datenschichtvariablen ein.
- Klicken Sie auf Standardwert festlegen.
- Geben Sie den Standardwert unknown screen ein.
- Klicken Sie auf Variable erstellen.
c. GTM-Tag mit dem Namen „Bildschirmaufruf“ erstellen
- Melden Sie sich in Ihrem Google Tag Manager-Konto an.
- Wählen Sie einen mobilen Container aus.
- Klicken Sie in der linken Navigationsleiste auf Tags.
- Klicken Sie auf Neu.
- Klicken Sie auf Unbenanntes Tag, um den Tag-Namen einzugeben Screen View.
- Wählen Sie das Produkt Google Analytics aus.
- Wählen Sie in der Liste Tracking-ID aus.
- Wählen Sie als Tracking-Typ App-Ansicht aus.
- Klicken Sie auf Weitere Einstellungen.
- Klicken Sie auf Festzulegende Felder.
- Klicken Sie auf + Feld hinzufügen.
- Wählen Sie den Feldnamen screenName und den Wert Bildschirmname aus.
- Klicken Sie auf Weiter.
- Wählen Sie unter Auslösen bei die Option Beliebiges Ereignis aus.
- Klicken Sie auf Tag erstellen.
d. Code für das Bildschirm-Tracking hinzufügen
- Öffnen Sie die Datei
ViewController.swift
in Xcode. - Definieren Sie eine Variable mit dem Namen
dataLayer
innerhalb der KlasseViewController
:var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer
- Übertragen Sie in der
viewDidLoad()
-Funktion das EreignisOpenScreen
in die Datenschicht:dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"])
Die Definition der Klasse ViewController
sieht so aus:
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. Ereignis „Schaltfläche gedrückt“ erfassen
So erfassen Sie ein Ereignis, bei dem eine Schaltfläche gedrückt wird:
- Erstellen Sie eine Datenschichtvariable mit dem Namen eventAction.
- Erstellen Sie eine benutzerdefinierte Ereignisvariable mit dem Namen Ereignis.
- Erstellen Sie ein GTM-Tag mit dem Titel Schaltfläche gedrückt.
- Erstellen Sie eine Schaltfläche und fügen Sie Code hinzu, um zu erfassen, dass die Schaltfläche gedrückt wird.
a. Erstellen Sie die Datenschichtvariable „eventAction“.
- Melden Sie sich in Ihrem Google Tag Manager-Konto an.
- Wählen Sie einen mobilen Container aus.
- Klicken Sie in der linken Navigationsleiste auf Variablen.
- Klicken Sie unter Benutzerdefinierte Variablen auf Neu.
- Klicken Sie auf Unbenannte Variable, um den Titel Ereignisaktion einzugeben.
- Wählen Sie als Variablentyp Datenschichtvariable aus.
- Geben Sie unter Name der Datenschichtvariablen den Wert eventAction ein.
- Klicken Sie auf Standardwert festlegen.
- Geben Sie den Standardwert unbekanntes Ereignis ein.
- Klicken Sie auf Variable erstellen.
b. Benutzerdefinierte Ereignisvariable namens „Ereignis“ erstellen
- Melden Sie sich in Ihrem Google Tag Manager-Konto an.
- Wählen Sie einen mobilen Container aus.
- Klicken Sie in der linken Navigationsleiste auf Variablen.
- Klicken Sie unter Benutzerdefinierte Variablen auf Neu.
- Klicken Sie auf Unbenannte Variable, um den Variablennamen Ereignis einzugeben.
- Wählen Sie als Variablentyp Benutzerdefiniertes Ereignis aus.
- Klicken Sie auf Variable erstellen.
c. GTM-Tag mit dem Namen „Schaltfläche gedrückt“ erstellen
- Melden Sie sich in Ihrem Google Tag Manager-Konto an.
- Wählen Sie einen mobilen Container aus.
- Klicken Sie in der linken Navigationsleiste auf Tags.
- Klicken Sie auf Neu.
- Klicken Sie auf Unbenanntes Tag, um den Tag-Namen einzugeben Schaltfläche drücken.
- Wählen Sie das Produkt Google Analytics aus.
- Wählen Sie in der Liste Tracking-ID aus.
- Wählen Sie als Tracking-Typ Ereignis aus.
- Wählen Sie die Kategorie Ereignis aus.
- Wählen Sie Ereignisaktion aus.
- Klicken Sie auf Weiter.
- Wählen Sie unter Auslösen bei die Option Beliebiges Ereignis aus.
- Klicken Sie auf Tag erstellen.
d. Schaltfläche erstellen und Code hinzufügen, um zu erfassen, ob die Schaltfläche gedrückt wird
- Öffnen Sie Ihr Xcode-Projekt.
- Öffnen Sie
Main.storyboard
. - Klicken Sie in der Xcode-Symbolleiste auf die Schaltfläche ganz rechts oben, um den Dienstprogrammbereich (rechte Seitenleiste) zu öffnen.
- Unten im Versorgungsbereich:
Klicken Sie auf die blaue Schaltfläche Objektbibliothek anzeigen:
- Geben Sie Schaltfläche in das Suchfeld ein.
- Ziehen Sie Schaltfläche in das Storyboard und legen Sie sie links oben ab.
- Klicken Sie in der Xcode-Symbolleiste auf die Schaltfläche für den Assistant-Editor .
- Ziehen Sie die Schaltfläche bei gedrückter Strg-Taste an den unteren Rand der
ViewController
-Klassendefinition.
- Wählen Sie im Dialogfeld die Option Action connection aus, geben Sie den Funktionsnamen buttonPressed ein und klicken Sie auf Connect.
Dadurch wird am Ende der
ViewController
-Klassendefinition die folgende Funktion hinzugefügt:@IBAction func buttonPressed(sender: AnyObject) { }
Die Funktion wird jedes Mal ausgeführt, wenn die Taste gedrückt wird.
- Fügen Sie in der Funktion
buttonPressed
den folgenden Code hinzu, um das EreignisButtonPressed
in die Tagesebene zu schieben:@IBAction func buttonPressed(sender: AnyObject) { dataLayer.push(["event": "ButtonPressed", "eventAction": "Test Event"]) }
8. App erstellen und ausführen
Klicken Sie in Xcode auf Product > Run (Produkt > Ausführen). Xcode erstellt und führt die App aus: