目录
概述
iOS 的 Mixpanel 库是一个开源项目,我们欢迎您的贡献!我们也愿意与您合作!有关详情,请查看 https://mixpanel.com/jobs/#openings。如果您使用 Swift,我们建议使用我们的 Swift 库。
有关设置与欧盟数据存储的项目和其他高级配置和使用案例,请查看我们的 高级 iOS - Objective-C 指南。
快速入门指南
注意:从 v4.0.0.beta.3 到 v4.1.0,事件与非千米符号(&)将被服务器拒绝。我们建议您升级到 v4.1.1 或更高版本。
1. 安装 Mixpanel
您可以使用 CocoaPods 或 Carthage 安装 Mixpanel iOS - Objective-C 库。您需要项目令牌来初始化库。您可以从项目设置中获取项目令牌。
安装选项 1:CocoaPods
- 如果您是首次使用 CocoaPods,请使用
gem install cocoapods
命令安装 CocoaPods。否则,继续到第 3 步。 - 运行
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" 中,并在 sharedInstanceWithToken: 中传递你的项目令牌作为参数,并在 application:didFinishLaunchingWithOptions: 中调用。
#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
}];
...
}
常见问题解答(FAQ)
我想停止在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支持联系一个聪明、快速的客服。