目录
概述
欢迎使用官方 Mixpanel Swift 库
适用于 iOS 的 Mixpanel Swift 库是一个开源项目,我们希望看到您的贡献!我们也希望您能加入我们共同工作!有关更多信息,请查看 职位空缺。
如果您正在使用 Objective-C,我们建议使用我们的 Objective-C 库。
请参阅我们的 高级 iOS Swift 指南 以获取更多高级配置和使用案例,例如按照欧盟数据存储设置项目。
快速入门指南
我们的主分支和我们的版本都是Swift 5。如果您希望使用我们的Swift 4.2实现,请指向v2.6.1版本。对于Swift 4/4.1实现,请指向v2.4.5版本。对于Swift 3实现,请指向v2.2.3版本。
1. 安装Mixpanel
您需要项目令牌来初始化库。您可以从项目设置获取项目令牌。
安装选项 1:Swift 包管理器(v2.8.0+)
将Mixpanel添加到您的iOS项目的最简单方法就是使用Swift包管理器。
- 在Xcode中,选择文件 > 添加包...
- 输入此存储库的包URL Mixpanel Swift库。
安装选项 2:CocoaPods
- 如果您是首次使用CocoaPods,请使用
gem install cocoapods
安装CocoaPods。否则,继续执行第3步。 - 运行
pod setup
以创建本地CocoaPods规范镜像。 - 在终端中运行
pod init
以在Xcode项目目录中创建Podfile,编辑生成的Podfile,并添加以下行:pod 'Mixpanel-swift'
。 - 在您的Xcode项目目录中运行
pod install
。CocoaPods将下载并安装Mixpanel库,并创建一个新的Xcode工作空间。在Xcode中打开此工作空间或者在终端中输入open *.xcworkspace
。
安装选项3:Carthage
Mixpanel支持使用Carthage打包依赖项作为框架。在您的Cartfile中包含以下依赖项
github "mixpanel/mixpanel-swift"
查看Carthage文档获取更多信息。
2. 初始化Mixpanel
将Mixpanel导入AppDelegate.swift,并在application:didFinishLaunchingWithOptions中初始化Mixpanel
import Mixpanel
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
...
Mixpanel.initialize(token: "MIXPANEL_TOKEN", trackAutomaticEvents: true)
...
}
3. 发送数据
让我们从发送事件数据开始。您可以从应用程序的任何位置发送事件。通过存储特定于事件(属性)的详细信息来更好地理解用户行为。在初始化库后,Mixpanel将自动收集常见移动事件。您可以通过您的项目设置启用/禁用自动收集。此外,Mixpanel默认自动跟踪一些属性。有关更多信息,请参阅此处
Mixpanel.mainInstance().track(event: "Sign Up", properties: [
"source": "Pat's affiliate site",
"Opted out of email": true
])
除了事件数据之外,您还可以发送用户配置文件数据。我们建议在完成快速入门指南后执行此操作。
4. 检查成功
在Mixpanel中打开事件以查看传入的事件。
一旦数据到达我们的API,通常需要约60秒来处理、存储并在您的项目中查询。
完整代码示例
这里有一个可运行的代码示例,覆盖了这个快速入门指南中的所有内容。
import Mixpanel
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
...
Mixpanel.initialize(token: "MIXPANEL_TOKEN", trackAutomaticEvents: true)
Mixpanel.mainInstance().track(event: "Sign Up", properties: [
"source": "Pat's affiliate site",
"Opted out of email": true
])
...
}
常见问题解答
我想停止在Mixpanel中跟踪事件/事件属性,这是否可能?
是的,在Lexicon中,您可以截获并丢弃传入的事件或属性。Mixpanel不会存储您选择丢弃的事件或属性的新数据。查看此文章了解更多信息。
我有一个想要退出跟踪的测试用户,我该如何做?
Mixpanel的客户端跟踪库包含optOutTracking()方法,该方法将设置用户的本地退出状态为“true”,并将阻止从用户的设备发送数据。更详细的说明可以在退出跟踪用户部分找到。
为什么我的事件不显示?
首先,请确保您的测试设备可以访问互联网。为了保留电池寿命和顾客的带宽,Mixpanel库不会立即为您记录的事件发送数据。相反,您的应用程序在运行期间,以及当应用程序切换到后台时,每60秒会将事件批量发送到Mixpanel服务器。如果您想在特定时刻强制发送,可以手动调用 flush() 方法。
Mixpanel.mainInstance().flush()
如果60秒后事件仍未显示,请检查您是否选择了退出追踪。您还可以启用Mixpanel调试和日志记录,这允许您查看Mixpanel库的调试输出。要启用它,设置 loggingEnabled 为true。
Mixpanel.mainInstance().loggingEnabled = true
从iOS 14.5开始,我需要通过AppTrackingTransparency框架请求用户的权限才能使用Mixpanel吗?
不,Mixpanel不使用IDFA,因此不需要通过AppTrackingTransparency(ATT)框架请求用户的权限。
如果我要使用Mixpanel,如何回答App Store的应用隐私问题?
请参阅我们的 Apple App 开发者隐私指导
我想了解更多!
不必担心,以下是您可能会觉得有用的链接
有任何问题?请联系Mixpanel 支持,与聪明人快速交流。