本指南介绍了如何在 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。
- 依次点击 File > New > File。
- 在 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 */
如需在 build 设置中添加 Objective-C 桥接头文件,请执行以下操作:
- 在 Xcode 中,点击您的项目。
- 点击编辑器区域中的构建设置。
- 选择全部和组合,然后搜索桥接。
- 在包含 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 的数据层变量。
- 创建一个标题为屏幕浏览的 GTM 代码。
- 添加屏幕跟踪代码。
a. 创建一个变量来存储跟踪 ID
- 登录您的 Google 跟踪代码管理器账号。
- 选择一个移动容器。
- 在左侧导航栏中,点击变量。
- 在用户定义的变量下,点击新建。
- 点击未命名的变量,输入变量名称 跟踪 ID。
- 选择常量作为变量类型。
- 将跟踪 ID(采用
UA-XXXXXXXX-X
格式,其中X
为数字)输入为变量的值。使用UA-47605289-5
(将被删除)。 - 点击创建变量。
b. 创建一个名为 screenName 的数据层变量
- 登录您的 Google 跟踪代码管理器账号。
- 选择一个移动容器。
- 在左侧导航栏中,点击变量。
- 在用户定义的变量下,点击新建。
- 点击无标题变量,输入标题屏幕名称。
- 选择数据层变量作为变量类型。
- 输入 screenName 作为数据层变量名称。
- 点击设置默认值。
- 输入默认值“未知屏幕”。
- 点击创建变量。
c. 创建名为“屏幕浏览”的 GTM 代码
- 登录您的 Google 跟踪代码管理器账号。
- 选择一个移动容器。
- 在左侧导航栏中,点击代码。
- 点击新建。
- 点击无标题代码,在屏幕视图中输入代码名称。
- 选择产品 Google Analytics 。
- 从列表中选择跟踪 ID。
- 选择应用浏览作为跟踪类型。
- 点击更多设置。
- 点击要设置的字段。
- 点击 + 添加字段。
- 选择字段名称 screenName 及其值 Screen Name。
- 点击继续。
- 在“触发时机”下,选择“任何事件”。
- 点击创建代码。
d. 添加屏幕跟踪代码
- 在 Xcode 中打开
ViewController.swift
文件。 - 在
ViewController
类中定义一个名为dataLayer
的变量: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 的数据层变量。
- 创建一个名为 Event 的自定义事件变量。
- 创建一个标题为“Button Pressed”(按下按钮)的 GTM 代码。
- 创建按钮并添加代码以跟踪按下按钮的操作。
a. 创建一个名为 eventAction 的数据层变量
- 登录您的 Google 跟踪代码管理器账号。
- 选择一个移动容器。
- 在左侧导航栏中,点击变量。
- 在用户定义的变量下,点击新建。
- 点击未命名的变量,输入事件操作的标题。
- 选择数据层变量作为变量类型。
- 输入 eventAction 作为数据层变量名称。
- 点击设置默认值。
- 输入默认值“未知事件”。
- 点击创建变量。
b. 创建一个名为 Event 的自定义事件变量
- 登录您的 Google 跟踪代码管理器账号。
- 选择一个移动容器。
- 在左侧导航栏中,点击变量。
- 在用户定义的变量下,点击新建。
- 点击未命名变量,输入变量名称事件。
- 选择自定义事件作为变量类型。
- 点击创建变量。
c. 创建一个标题为“Button Pressed”的 GTM 代码
- 登录您的 Google 跟踪代码管理器账号。
- 选择一个移动容器。
- 在左侧导航栏中,点击代码。
- 点击新建。
- 点击未命名的代码以输入代码名称,然后点击按钮被按下。
- 选择产品 Google Analytics 。
- 从列表中选择跟踪 ID。
- 选择事件作为跟踪类型。
- 选择事件类别。
- 选择事件操作。
- 点击继续。
- 在“触发时机”下,选择“任何事件”。
- 点击创建代码。
d. 创建一个按钮并添加代码以跟踪按钮是否被按下
- 打开您的 Xcode 项目。
- 打开
Main.storyboard
。 - 点击 Xcode 工具栏中右上角的按钮,打开实用程序区域(右侧边栏)。
- 在实用程序区域的底部,
点击显示对象库按钮(蓝色按钮):
- 在搜索框中输入 button。
- 将 Button 拖动到故事板,然后将其放置在左上角。
- 点击 Xcode 工具栏中的助理编辑器按钮 。
- 按住 Ctrl 键,将按钮拖动并放置到
ViewController
类定义的底部。
- 在对话框中,选择 Action 连接,输入函数名称 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 > Run。Xcode 将构建并运行应用: