本指南說明如何在 Swift 建立及實作 iOS 應用程式 使用 Google 代碼追蹤畫面開啟和按鈕按下的事件 經理 (GTM)。
1. 建立新專案
- 開啟 Xcode。
- 按一下「建立新的 Xcode 專案」。
- 選取「Single View Application」(單一檢視應用程式)。
- 點選「下一步」。
- 為專案命名並選擇其他選項。您的專案名稱和
應用程式名稱會與產品名稱相同。
- 點選「下一步」。
- 選取專案位置 (目錄)。
- 按一下「建立」。
2. 安裝 Google 代碼管理工具依附元件
- 結束 Xcode。
- 在終端機中執行下列指令以安裝
Cocoapods:
$ sudo gem install cocoapods
- 切換至專案目錄。
- 執行下列指令,建立名為
Podfile的檔案:$ pod init
- 在
Podfile中取消註解「use_frameworks!」 並將pod 'GoogleTagManager'加入目標中: - 執行下列指令,下載並安裝 Google 代碼管理工具 (GTM)
套用至專案的依附元件:
$ pod install
這個指令也會建立工作空間
GtmSwiftTutorial.xcworkspace。 從現在起,使用此工作空間開發GtmSwiftTutorial應用程式。
# Uncomment this line if you're using Swift use_frameworks! target 'GtmSwiftTutorial' do pod 'GoogleTagManager' end
3. 為 Objective-C 程式庫新增橋接標頭
如何建立橋接標頭檔案:
- 開啟 Xcode。
- 按一下「檔案」>新增 >檔案。
- 前往「iOS >」來源,選取標頭檔案。
- 點選「下一步」。
- 輸入標頭檔案名稱
BridgingHeader.h。
- 按一下「建立」。
- 將下列
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 */
如何在建構設定中新增 Objective-C 橋接標頭:
- 在 Xcode 中按一下您的專案。
- 按一下編輯器區域的「Build Settings」。
- 選取「全部」和「合併」,然後搜尋「橋接」。
- 在含有 Objective-C 橋接標頭的資料列的右側欄中,
輸入
BridgingHeader.h。
4. 在專案中新增預設容器
在專案中新增預設容器前,請先下載 行動容器二進位檔:
- 登入您的 Google 代碼管理工具帳戶。
- 請選取行動容器。
- 按一下選單列中的「版本」。
- 按一下「動作」>在所選容器上下載 版本。
下載的檔案名稱為容器 ID
例如
GTM-PT3L9Z。
如何在專案中新增預設容器二進位檔:
- 開啟 Xcode。
- 按一下 Dock 上的「Finder」圖示。
- 按一下
Downoloads資料夾。 - 將容器二進位檔檔案拖曳到
Downloads資料夾中,然後拖放 新增至 Xcode 專案的根資料夾
5. 將 Google 代碼管理工具連結至您的應用程式
- 在 Xcode 中開啟檔案
AppDelegate.swift。 - 讓
AppDelegate類別擴充TAGContainerOpenerNotifier類別:import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, TAGContainerOpenerNotifier { // ... }
擴充類別後,您將取得
Type 'AppDelegate' does not conform to protocol 'TAGContainerOpenerNotifier'錯誤。下列步驟會修正這項錯誤。 - 請將下列函式新增至
AppDelegate類別定義底部:func containerAvailable(container: TAGContainer!) { container.refresh() }
- 在
application函式中新增下列程式碼 在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. 追蹤畫面開啟事件
若要追蹤畫面開啟事件:
- 建立變數來儲存追蹤 ID。
- 建立名為「screenName」screenName的資料層變數。
- 建立名為「畫面瀏覽」的 GTM 代碼。
- 加入畫面追蹤程式碼。
a. 建立變數來儲存追蹤 ID
- 登入 Google 代碼管理工具 讓他們使用服務帳戶
- 請選取行動容器。
- 按一下左側導覽列中的「變數」。
- 在「使用者定義的變數」下方點擊 [新增]。
- 按一下「未命名的變數」,輸入變數名稱 追蹤 ID:
- 選擇「常數」做為變數類型。
- 輸入追蹤 ID (格式為
UA-XXXXXXXX-X, 其中X為數字) 做為變數的值。請使用UA-47605289-5(要刪除的項目)。 - 按一下 [建立變數]。
b. 建立名為 screenName 的資料層變數。
- 登入 Google 代碼管理工具 讓他們使用服務帳戶
- 請選取行動容器。
- 按一下左側導覽列中的「變數」。
- 在「使用者定義的變數」下方點擊 [新增]。
- 按一下「未命名的變數」來輸入標題 畫面名稱:
- 選擇「資料層變數」做為變數類型。
- 輸入「screenName」screenName做為「資料層變數名稱」screenName。
- 按一下「設定預設值」。
- 輸入預設值 unknown screen。
- 按一下 [建立變數]。
c. 建立標題為「畫面瀏覽」的 GTM 代碼
- 登入 Google 代碼管理工具 讓他們使用服務帳戶
- 請選取行動容器。
- 按一下左側導覽列中的「代碼」。
- 按一下 [新增]。
- 按一下「未命名的代碼」輸入代碼名稱 畫面瀏覽:
- 選擇產品「Google Analytics」。
- 從清單中選取「追蹤 ID」。
- 選取「應用程式瀏覽」做為「追蹤類型」。
- 按一下「更多設定」。
- 按一下「要設定的欄位」。
- 按一下「+ 新增欄位」。
- 選取欄位名稱「screenName」screenName及其值「Screen Name」screenName。
- 按一下「繼續」。
- 在「啟動時機」下方,選取「任何事件」。
- 按一下「建立代碼」。
d. 加入畫面追蹤程式碼
- 在 Xcode 中開啟「
ViewController.swift」檔案。 - 在
dataLayerViewController類別:var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer
- 在
viewDidLoad()函式中,推送OpenScreen事件附加至資料層:dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"])
ViewController 類別的定義如下所示:
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. 追蹤按鈕按下的事件
若要追蹤按下的按鈕事件:
- 建立名為 eventAction 的資料層變數。
- 建立名為「事件」的自訂事件變數。
- 建立名為「已按下按鈕」的 GTM 代碼。
- 建立按鈕並新增程式碼,以追蹤使用者是否按下了按鈕。
a. 建立名為 eventAction 的資料層變數
- 登入 Google 代碼管理工具 讓他們使用服務帳戶
- 請選取行動容器。
- 按一下左側導覽列中的「變數」。
- 在「使用者定義的變數」下方點擊 [新增]。
- 按一下「未命名的變數」來輸入標題 事件動作:
- 選擇「資料層變數」做為變數類型。
- 輸入「eventAction」eventAction做為「資料層變數名稱」eventAction。
- 按一下「設定預設值」。
- 輸入預設值「不明事件」。
- 按一下 [建立變數]。
b. 建立名為「事件」的自訂事件變數
- 登入 Google 代碼管理工具 讓他們使用服務帳戶
- 請選取行動容器。
- 按一下左側導覽列中的「變數」。
- 在「使用者定義的變數」下方點擊 [新增]。
- 按一下「未命名的變數」,輸入變數名稱「事件」。
- 選擇「自訂事件」做為變數類型。
- 按一下 [建立變數]。
c. 建立標題為「按下按鈕」的 GTM 代碼
- 登入 Google 代碼管理工具 讓他們使用服務帳戶
- 請選取行動容器。
- 按一下左側導覽列中的「代碼」。
- 按一下 [新增]。
- 按一下「未命名的代碼」輸入代碼名稱 已按下按鈕。
- 選擇產品「Google Analytics」。
- 從清單中選取「追蹤 ID」。
- 選取「事件」做為「追蹤類型」。
- 選取「事件」類別。
- 選取「事件動作」。
- 按一下「繼續」。
- 在「啟動時機」下方,選取「任何事件」。
- 按一下「建立代碼」。
d. 建立按鈕並新增程式碼,追蹤使用者是否已按下按鈕
- 開啟 Xcode 專案。
- 開啟
Main.storyboard。 - 按一下 Xcode 工具列右上角的按鈕
公用程式區域 (右側欄)。
- 在公用程式區域底部
按一下「Show the Object library」(顯示物件庫) 按鈕 (藍色按鈕):
- 在搜尋框中輸入「button」。
- 將 Button 拖曳到分鏡腳本並放到腳本頂端
如要下載此版本的檔案
請點選左上方的帽子眼鏡圖示
- 按一下小幫手編輯器按鈕
。 - 按住 Ctrl 鍵,同時拖曳按鈕
貼在
ViewController類別定義底部。
- 在對話方塊中選取「動作」連線,然後輸入函式名稱
buttonPressed,然後點選「Connect」。
這樣會將下列函式新增至
ViewController類別定義:@IBAction func buttonPressed(sender: AnyObject) { }
每次按下按鈕時,都會執行函式。
- 在
buttonPressed函式中,新增下列程式碼: 將ButtonPressed事件推送至日層:@IBAction func buttonPressed(sender: AnyObject) { dataLayer.push(["event": "ButtonPressed", "eventAction": "Test Event"]) }
8. 建構並執行應用程式
在 Xcode 中,按一下 Product (產品) >執行Xcode 將建構並執行應用程式: