目录
概览
iOS 的 Mixpanel 库是一个开源项目,我们期待看到您的贡献!我们也欢迎您加入我们工作!有关详细信息,请查看 https://mixpanel.com/jobs/#openings。如果您使用 Swift,我们推荐使用我们的 Swift 库。
有关设置您的项目以使用欧盟数据存储等高级配置和使用情况,请查看我们的 高级 iOS - Objective-C 指南。
快速入门指南
注意:从 v4.0.0.beta.3 到 v4.1.0,我们有 bug,服务器会拒绝包含 & 符号的 events。我们建议您更新到 v4.1.1 或更高版本。
1. 安装 Mixpanel
您可以使用 CocoaPods 或 Carthage 在 iOS - Objective-C 库中安装 Mixpanel。您需要一个项目令牌来初始化您的库。您可以从项目设置中获取项目令牌。
安装选项 1:使用 CocoaPods
- 如果您是第一次使用 CocoaPods,请使用
gem install cocoapods
安装 CocoaPods。否则,继续下一步。 - 运行
pod setup
以创建本地的 CocoaPods spec 镜像。 - 在终端中运行
pod init
以在您的 Xcode 项目目录中创建一个 Podfile,编辑生成的 Podfile,并添加以下行:pod 'Mixpanel'
。 - 在您的 Xcode 项目目录中运行
pod install
。CocoaPods 应该下载并安装 Mixpanel 库,并创建一个新的 Xcode 工作区。在 Xcode 中打开此工作区或通过在终端中输入open *.xcworkspace
来打开。
安装选项 2:Carthage
Mixpanel 支持 Carthage 将依赖项打包成框架。在您的 Cartfile 中包含以下依赖项
github "mixpanel/mixpanel-iphone"
有关更多信息,请查看 Carthage 文档。
3. Swift 包管理器安装选项
- 在 Xcode 中,选择文件 > 添加包...
- 输入此仓库的包 URL,必须选择大于等于 v4.0.0 版本的选项
2. 初始化 Mixpanel
为了初始化库,请将 `#Import "Mixpanel/Mixpanel.h"` 添加到 "AppDelegate.m",并在 application:didFinishLaunchingWithOptions: 中使用您项目的 token 作为参数调用 sharedInstanceWithToken:。
#import "Mixpanel/Mixpanel.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
[Mixpanel sharedInstanceWithToken:@"YOUR_API_TOKEN" trackAutomaticEvents:YES];
...
}
3. 发送数据
让我们从发送事件数据开始。您可以在应用程序的任何位置发送事件。通过存储事件特有的详细信息(属性)来更好地理解用户行为。初始化库后,Mixpanel 将自动收集常见的移动事件。您可以通过您的项目设置启用/禁用自动收集。默认情况下,Mixpanel 自动跟踪一些属性。更多信息请参阅此页面。
Mixpanel *mixpanel = [Mixpanel sharedInstance];
[mixpanel track:@"Sign Up" properties:@{
@"source": @"Pat's affiliate site",
@"Opted out of email": @YES
}];
4. 检查是否成功
在Mixpanel中打开事件以查看传入的事件。
一旦数据到达我们的API,它通常需要大约60秒来处理、存储并且在您的项目中可查询。
完整代码示例
以下是一个可运行的代码示例,涵盖了快速入门指南中的所有内容。
#import "Mixpanel/Mixpanel.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
Mixpanel *mixpanel = [Mixpanel sharedInstanceWithToken:@"YOUR_API_TOKEN" trackAutomaticEvents:YES];
[mixpanel track:@"Sign Up" properties:@{
@"source": @"Pat's affiliate site",
@"Opted out of email": @YES
}];
...
}
常见问题解答
我想停止跟踪Mixpanel中的事件/事件属性。这是可能的吗?
是的,在Lexicon中,您可以拦截和删除传入的事件或属性。Mixpanel不会存储您选择删除的事件或属性的新数据。查看本文以更多信息。
我想让一个测试用户退出跟踪。我该怎么做?
Mixpanel的客户端跟踪库包含optOutTracking()方法,该方法将用户的本地退订状态设置为“true”并阻止从用户设备发送数据。更详细的说明请参阅退出跟踪用户部分。
为什么我的事件没有显示出来?
为了节省电池寿命和客户带宽,Mixpanel库不会立即发送您记录的事件。相反,它在您的应用程序运行时每60秒以及当应用程序切换到后台时向Mixpanel服务器发送批处理。如果您想在特定时刻强制刷新,可以手动调用flush()。
[mixpanel flush];
如果您的活动在60秒后仍然没有显示,请检查您是否选择了退出跟踪。您还可以启用Mixpanel调试和日志记录,这允许您查看Mixpanel库的调试输出。要启用它,请将enableLogging设置为true。
mixpanel.enableLogging = YES;
从iOS 14.5开始,我是否需要通过AppTrackingTransparency框架请求用户的权限才能使用Mixpanel?
不需要,Mixpanel不使用IDFA,因此不需要通过AppTrackingTransparency(ATT)框架获取用户权限。
如果使用Mixpanel,我如何回答App Store的应用隐私问题?
请参阅我们的Apple App开发者隐私指南
我想了解更多!
不用担心,这里有一些您会发现有用的链接
有任何疑问吗?联系Mixpanel支持,与聪明的人在短时间内进行交流。