Z tego przewodnika dowiesz się, jak utworzyć i wdrożyć aplikację na iOS w Swift, aby śledzić zdarzenia otwarcia ekranu i wcisnięcia przycisku za pomocą Menedżera tagów Google (GTM).
1. Utwórz nowy projekt
- Otwórz Xcode.
- Kliknij Utwórz nowy projekt Xcode.
- Wybierz Single View Application (Aplikacja z widokiem pojedynczym).
- Kliknij Dalej.
- Nadaj projektowi nazwę i wybierz dodatkowe opcje. Nazwa projektu i nazwa aplikacji będą takie same jak nazwa usługi.
- Kliknij Dalej.
- Wybierz lokalizację (katalog) projektu.
- Kliknij Utwórz.
2. Instalowanie zależności Menedżera tagów Google
- Zamknij Xcode.
- Aby zainstalować Cocoapods, uruchom w terminalu to polecenie:
$ sudo gem install cocoapods
- Przejdź do katalogu projektu.
- Aby utworzyć plik o nazwie
Podfile
, uruchom to polecenie:$ pod init
- W pliku
Podfile
usuń komentarz z wierszause_frameworks!
i dodaj do celu wierszpod 'GoogleTagManager'
: - Aby pobrać i zainstalować w projekcie zależności Menedżera tagów Google (GTM), uruchom podane niżej polecenie:
$ pod install
To polecenie tworzy też obszar roboczy
GtmSwiftTutorial.xcworkspace
. Od teraz możesz korzystać z tego obszaru roboczego do tworzenia aplikacjiGtmSwiftTutorial
.
# Uncomment this line if you're using Swift use_frameworks! target 'GtmSwiftTutorial' do pod 'GoogleTagManager' end
3. Dodawanie nagłówka pośredniczącego w przypadku bibliotek Objective-C
Aby utworzyć plik nagłówka pośredniczącego:
- Otwórz Xcode.
- Kliknij Plik > Nowy > Plik.
- W sekcji iOS > Źródło kliknij Plik nagłówka.
- Kliknij Dalej.
- Wpisz nazwę pliku nagłówka
BridgingHeader.h
.
- Kliknij Utwórz.
- Dodaj do pliku nagłówka te instrukcje
import
:#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 */
Aby dodać nagłówek połączenia Objective-C w ustawieniach kompilacji:
- W Xcode kliknij projekt.
- W obszarze edycji kliknij Ustawienia kompilacji.
- Wybierz Wszystkie i Połączone, a następnie wyszukaj łączenie.
- W prawej kolumnie wiersza zawierającego Objective-C Bridging Header wpisz
BridgingHeader.h
.
4. Dodawanie do projektu domyślnego kontenera
Zanim dodasz do projektu domyślny kontener, pobierz binarne pliki kontenera mobilnego:
- Zaloguj się na konto Menedżera tagów Google.
- Wybierz kontener mobilny.
- Na pasku menu kliknij Wersje.
- W przypadku wybranej wersji kontenera kliknij Działania > Pobierz.
GTM-PT3L9Z
.
Aby dodać do projektu domyślny plik binarny kontenera:
- Otwórz Xcode.
- W Docku kliknij ikonę Finder.
- Kliknij folder
Downoloads
. - Przeciągnij plik binarny kontenera z folderu
Downloads
i upuść go do folderu głównego projektu Xcode.
5. Łączenie Menedżera tagów Google z aplikacją
- W Xcode otwórz plik
AppDelegate.swift
. - Zrób tak, aby zajęcia
AppDelegate
rozszerzały zajęciaTAGContainerOpenerNotifier
:import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, TAGContainerOpenerNotifier { // ... }
Po przedłużeniu zajęć pojawi się błąd
Type 'AppDelegate' does not conform to protocol 'TAGContainerOpenerNotifier'
. Aby naprawić ten błąd, wykonaj te czynności. - Dodaj tę funkcję na dole definicji klasy
AppDelegate
:func containerAvailable(container: TAGContainer!) { container.refresh() }
- W funkcji
application
dodaj ten kod przed instrukcjąreturn 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. Śledź zdarzenie otwarcia ekranu
Aby śledzić zdarzenie otwarcia ekranu:
- Utwórz zmienną do przechowywania identyfikatora śledzenia.
- Utwórz zmienną warstwy danych o nazwie screenName.
- Utwórz tag Menedżera tagów Google o nazwie Wyświetlenie ekranu.
- Dodaj kod śledzenia ekranu.
a. Utwórz zmienną do przechowywania identyfikatora śledzenia
- Zaloguj się na konto Menedżera tagów Google.
- Wybierz kontener mobilny.
- W panelu nawigacyjnym po lewej stronie kliknij Zmienne.
- W sekcji Zmienne zdefiniowane przez użytkownika kliknij Nowa.
- Kliknij Zmienna bez nazwy, by wpisać nazwę zmiennej Identyfikator śledzenia.
- Jako typ zmiennej wybierz Stała.
- Jako wartość zmiennej wpisz identyfikator śledzenia (w formie
UA-XXXXXXXX-X
, gdzieX
to cyfra).Użyj elementuUA-47605289-5
(ma zostać usunięty). - Kliknij Utwórz zmienną.
b. Utwórz zmienną warstwy danych o nazwie screenName.
- Zaloguj się na konto Menedżera tagów Google.
- Wybierz kontener mobilny.
- W panelu nawigacyjnym po lewej stronie kliknij Zmienne.
- W sekcji Zmienne zdefiniowane przez użytkownika kliknij Nowa.
- Kliknij Zmienna bez nazwy, aby wpisać tytuł. Nazwa ekranu.
- Jako typ zmiennej wybierz Zmienna warstwy danych.
- W polu Nazwa zmiennej warstwy danych wpisz screenName.
- Kliknij Ustaw wartość domyślną.
- Wpisz wartość domyślną unknown screen.
- Kliknij Utwórz zmienną.
c. Utwórz tag GTM o nazwie Wyświetlanie na ekranie.
- Zaloguj się na konto Menedżera tagów Google.
- Wybierz kontener mobilny.
- Na pasku nawigacyjnym po lewej stronie kliknij Tagi.
- Kliknij Nowa.
- Kliknij Tag bez tytułu, aby wpisać nazwę tagu. Widok ekranu.
- Wybierz usługę Google Analytics.
- Z listy wybierz Identyfikator śledzenia.
- Jako Typ śledzenia wybierz Widok aplikacji.
- Kliknij Więcej ustawień.
- Kliknij Pola do ustawienia.
- Kliknij + Dodaj pole.
- Wybierz nazwę pola screenName i jego wartość Nazwa ekranu.
- Kliknij Dalej.
- W sekcji Warunki uruchamiania wybierz Dowolne zdarzenie.
- Kliknij Utwórz tag.
d. Dodawanie kodu śledzenia ekranu
- Otwórz plik
ViewController.swift
w Xcode. - Zdefiniuj zmienną o nazwie
dataLayer
w klasieViewController
:var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer
- W funkcji
viewDidLoad()
przekaż zdarzenieOpenScreen
do warstwy danych:dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"])
Definicja klasy ViewController
wygląda tak:
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. Śledź zdarzenie naciśnięcia przycisku
Aby śledzić zdarzenie naciśnięcia przycisku:
- Utwórz zmienną warstwy danych o nazwie eventAction.
- Utwórz zmienną zdarzenia niestandardowego o nazwie Zdarzenie.
- Utwórz tag GTM o nazwie Przycisk został naciśnięty.
- Utwórz przycisk i dodaj kod, który będzie śledzić jego naciśnięcie.
a. Utwórz zmienną warstwy danych o nazwie eventAction
- Zaloguj się na konto Menedżera tagów Google.
- Wybierz kontener mobilny.
- W panelu nawigacyjnym po lewej stronie kliknij Zmienne.
- W sekcji Zmienne zdefiniowane przez użytkownika kliknij Nowa.
- Kliknij Zmienna bez nazwy, by wpisać tytuł Akcja zdarzenia.
- Jako typ zmiennej wybierz Zmienna warstwy danych.
- W polu Nazwa zmiennej warstwy danych wpisz eventAction.
- Kliknij Ustaw wartość domyślną.
- Wpisz wartość domyślną Nieznane zdarzenie.
- Kliknij Utwórz zmienną.
b. Utwórz zmienną zdarzenia niestandardowego o nazwie „Zdarzenie”
- Zaloguj się na konto Menedżera tagów Google.
- Wybierz kontener mobilny.
- W panelu nawigacyjnym po lewej stronie kliknij Zmienne.
- W sekcji Zmienne zdefiniowane przez użytkownika kliknij Nowa.
- Kliknij Zmienna bez tytułu, aby wpisać nazwę zmiennej Zdarzenie.
- Jako typ zmiennej wybierz Zdarzenie niestandardowe.
- Kliknij Utwórz zmienną.
c. Utwórz tag GTM o nazwie Button Pressed (Kliknięcie przycisku).
- Zaloguj się na konto Menedżera tagów Google.
- Wybierz kontener mobilny.
- Na pasku nawigacyjnym po lewej stronie kliknij Tagi.
- Kliknij Nowa.
- Kliknij Tag bez tytułu, aby wpisać nazwę tagu Przycisk został naciśnięty.
- Wybierz usługę Google Analytics.
- Z listy wybierz Identyfikator śledzenia.
- Jako Typ śledzenia wybierz Zdarzenie.
- Wybierz kategorię Zdarzenie.
- Wybierz Akcja zdarzenia.
- Kliknij Dalej.
- W sekcji Warunki uruchamiania wybierz Dowolne zdarzenie.
- Kliknij Utwórz tag.
d. Utwórz przycisk i dodaj kod, aby śledzić, czy został on kliknięty
- Otwórz projekt Xcode.
- Otwórz pokój
Main.storyboard
. - Kliknij przycisk w prawym górnym rogu paska narzędzi Xcode, aby otworzyć obszar narzędzi (pasek boczny po prawej stronie).
- U dołu obszaru narzędzi:
kliknij przycisk Pokaż Bibliotekę obiektów (niebieski przycisk):
- W polu wyszukiwania wpisz button.
- Przeciągnij element Przycisk na storyboard i upuść go w lewym górnym rogu.
- Na pasku narzędzi Xcode kliknij przycisk Edytor asystenta.
- Przytrzymując klawisz Ctrl, przeciągnij przycisk i upuść go na dole definicji klasy
ViewController
.
- W oknie wybierz Action (Działanie), wpisz nazwę funkcji buttonPressed i kliknij Połącz.
W definicji klasy
ViewController
zostanie dodana ta funkcja:@IBAction func buttonPressed(sender: AnyObject) { }
Funkcja jest wykonywana za każdym razem, gdy naciśniesz przycisk.
- W funkcji
buttonPressed
dodaj ten kod, aby przesłać zdarzenieButtonPressed
do warstwy dnia:@IBAction func buttonPressed(sender: AnyObject) { dataLayer.push(["event": "ButtonPressed", "eventAction": "Test Event"]) }
8. Tworzenie i uruchamianie aplikacji
W Xcode kliknij Produkt > Uruchom. Xcode skompiluje i uruchomi aplikację: