Mixpanel-swift 4.3.0

Mixpanel-swift 4.3.0

测试已测试
语言语言 SwiftSwift
许可证 Apache-2.0
发布最后发布2024年7月
SPM支持 SPM

Zihe JiaJared McFarland 维护。



  • Mixpanel, Inc 提供

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 指南 以获取更多高级配置和使用案例,例如按照欧盟数据存储设置项目。

快速入门指南

我们的主分支和我们的版本都是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包管理器。

  1. 在Xcode中,选择文件 > 添加包...
  2. 输入此存储库的包URL Mixpanel Swift库

安装选项 2:CocoaPods

  1. 如果您是首次使用CocoaPods,请使用 gem install cocoapods 安装CocoaPods。否则,继续执行第3步。
  2. 运行 pod setup 以创建本地CocoaPods规范镜像。
  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: 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秒来处理、存储并在您的项目中查询。

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

完整代码示例

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

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