MBAudienceSwift 0.1.4

MBAudienceSwift 0.1.4

lorenzOliveto维护。



  • LorenzOliveto

Documentation CocoaPods Carthage Compatible License

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()authorizedAlwaysauthorizedWhenInUse则返回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()