Mixpanel Swift Library

Average time to resolve an issue Percentage of issues still open CocoaPods Compatible Carthage compatible Swift Package Manager compatible Apache License Documentation

目录

概述

欢迎使用官方 Mixpanel Swift 库

适用于 iOS 的 Mixpanel Swift 库是一个开源项目,我们非常欢迎您的贡献!我们也希望您能加入我们!查看职位了解详情。

如果您正在使用 Objective-C,我们建议您使用我们的 Objective-C 库

查看我们的高级 iOS Swift 指南,了解更多高级配置和用例,例如设置您的项目以进行欧盟数据存储。

快速入门指南

我们的 master 分支和我们的发布版本都基于 Swift 5。如果您希望使用我们的 Swift 4.2 实现,请指向 v2.6.1 版本。对于 Swift 4/4.1 实现,请指向 v2.4.5 版本。对于 Swift 3 实现,请指向 v2.2.3 版本。

1. 安装 Mixpanel

您将需要您的项目令牌来初始化您的库。您可以从项目设置中获取您的项目令牌。

安装选项 1:Swift Package Manager (v2.8.0+)

将 Mixpanel 导入您的 iOS 项目的最简单方法是使用 Swift Package Manager。

  1. 在 Xcode 中,选择 File > Add Packages...
  2. 输入此仓库的包 URL Mixpanel Swift 库

安装选项 2:CocoaPods

  1. 如果这是您第一次使用 CocoaPods,请使用 gem install cocoapods 安装 CocoaPods。否则,请继续执行步骤 3。
  2. 运行 pod setup 以创建本地 CocoaPods spec 镜像。
  3. 通过在终端中运行 pod init 在您的 Xcode 项目目录中创建一个 Podfile,编辑生成的 Podfile,并添加以下行:pod 'Mixpanel-swift'
  4. 在您的 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: false)
    ...
}

查看所有配置选项

3. 发送数据

让我们开始发送事件数据。您可以从应用程序中的任何位置发送事件。通过存储特定于事件的详细信息(属性)来更好地了解用户行为。初始化库后,Mixpanel 将自动收集常见的移动事件。您可以通过项目设置启用/禁用自动收集。此外,Mixpanel 默认自动跟踪某些属性。了解更多

Mixpanel.mainInstance().track(event: "Sign Up", properties: [
   "source": "Pat's affiliate site",
   "Opted out of email": true
])

除了事件数据,您还可以发送用户个人资料数据。我们建议您在完成快速入门指南后执行此操作。

4. 检查是否成功

打开 Mixpanel 中的 Events 以查看传入的事件。

一旦数据到达我们的 API,通常需要约 60 秒才能完成处理、存储并在您的项目中可查询。

👋 👋 告诉我们您对 Mixpanel 开发者体验的看法!https://www.mixpanel.com/devnps 👍 👎

完整代码示例

这是一个可运行的代码示例,涵盖了本快速入门指南中的所有内容。

import Mixpanel

func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    ...
    Mixpanel.initialize(token: "MIXPANEL_TOKEN", trackAutomaticEvents: false)
    Mixpanel.mainInstance().track(event: "Sign Up", properties: [
       "source": "Pat's affiliate site",
       "Opted out of email": true
    ])
    ...
}

FAQ

我想停止在 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 支持,与聪明人快速交流。