MBAudienceSwift
MBAudienceSwift 是 MBurger 的插件库,可让您在您的应用中跟踪用户数据和行为,并仅向特定用户或用户组发送消息。此插件通常与 MBMessagesSwift 插件一起使用,以实现对目标用户发送推送和消息的功能。
安装
Swift 包管理器
使用 Xcode 11,您可以开始使用 Swift 包管理器 将 MBAudienceSwift 添加到您的项目。按照以下简单步骤进行
- 在 Xcode 中,转到文件 > Swift 包 > 添加包依赖项。
- 在 "选择包存储库" 对话框中输入
https://github.com/Mumble-SRL/MBAudienceSwift.git
并按下一步。 - 使用规则 "下一个主要版本" 并将 "1.0.1" 作为其最早版本来指定版本,然后按下一步。
- 在此之后,Xcode 将尝试解析版本,之后您可以选择
MBAudienceSwift
库并将其添加到您的应用程序目标中。
CocoaPods
CocoaPods 是一个 iOS 项目中依赖管理的工具,它可以自动化和简化使用第三方库的过程。您可以按照以下命令安装 CocoaPods:
$ gem install cocoapods
要使用 CocoaPods 将 MBurgerSwift 集成到您的 Xcode 项目中,请在其 Podfile 中指定它
platform :ios, '12.0'
target 'TargetName' do
pod 'MBAudienceSwift'
end
如果您使用 Swift 语言,请在使用 pod 声明之前添加 use_frameworks!
。
然后,运行以下命令:
$ pod install
CocoaPods 是安装库的首选方法。
Chartage
Carthage 是一个去中心化的依赖管理工具,可以构建您的依赖并为您提供二进制框架。要使用 Carthage 将 MBudienceSwift 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它
github "Mumble-SRL/MBAudienceSwift"
手动安装
要手动安装库,请将文件夹 MBAudienceSwift
拖到 XCode 中的项目结构。
请注意,MBAudienceSwift
依赖于 MBurgerSwift (1.0.5)
和 MPushSwift (0.2.12)
,因此您还必须安装这些库。
初始化
要初始化 SDK,您需要在 MBurger
的插件数组中添加 MBAudience
。
import MBurgerSwift
import MBMessagesSwift
...
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
MBManager.shared.apiToken = "YOUR_API_TOKEN"
MBManager.shared.plugins = [MBAudience()]
return true
}
您可以在初始化 MBAudience
插件时设置一个代理,当观众数据成功发送到服务器或同步失败时,代理将被调用。
let audiencePlugin = MBAudience(delegate: [the delegate])
跟踪数据
以下列出了MBAudience SDK跟踪的所有数据,以及您可以从MBurger仪表板上使用的数据。大部分数据会自动跟踪,对于其中一些,需要应用进行少量设置。
- app_version:当前应用版本。
- locale:手机的区域设置,由
Locale.preferredLanguages.first
返回的值。 - sessions:表示用户打开应用次数的递增数字,每次启动时会增加此数字。
- sessions_time:用户在应用上的总时间,当应用进入后台(使用
didEnterBackgroundNotification
)时,此时间暂停,当应用重新变为活动状态时(使用willEnterForegroundNotification
),此时间继续。 - last_session:最后一次会话的开始日期。
- push_enabled:如果启用了推送通知;框架使用此函数来确定此值:
UNUserNotificationCenter.current().getNotificationSettings
。 - location_enabled:如果用户已经授权使用位置数据或未授权;这是如果
CLLocationManager.authorizationStatus()
是authorizedAlways
或authorizedWhenInUse
则返回true。 - mobile_user_id:当前在MBurger登录用户的用户ID。
- custom_id:一个可以用来进一步筛选的自定义ID。
- tags:一个标签数组。
- latitude, longitude:该设备最后一次访问的地点的纬度和经度。
标签
您可以为用户/设备设置标签(例如,如果用户执行了某个操作,则设置一个标签),这样可以针对以后的用户。
设置标签
MBAudience.setTag("TAG", value: "VALUE")
移除它
MBAudience.removeTag("TAG")
自定义ID
您可以将自定义ID设置为跟踪/定位来自不同平台的大量ID的用户。
设置自定义ID
MBAudience.setCustomId("CUSTOM_ID")
移除它
MBAudience.removeCustomId()
检索当前保存的ID
MBAudience.getCustomId()
手机用户ID
这是使用MBAuth当前登录MBurger的用户ID。目前,当用户使用MBAuth登录/注销时,不会自动发送手机用户ID。它将在未来实施,但目前您必须在用户完成登录流程并注销时手动设置和删除它。
设置手机用户ID
MBAudience.setMobileUserId(MOBILE_USER_ID)
如果用户注销,删除它
MBAudience.removeMobileUserId()
获取当前保存的手机用户ID
MBAudience.getMobileUserId()
位置数据
MBAudience 允许您根据用户的位置追踪和定位用户,该框架使用 CoreLocation 管理器的 startMonitoringSignificantLocationChanges 方法,精度为 kCLLocationAccuracyHundredMeters
。要开始监测位置变化,请调用该函数,它将一直监测,直到调用停止方法。
MBAudience.startLocationUpdates()
要停止监测位置变化,您必须调用:
MBAudience.stopLocationUpdates()