MBAutomationSwift
MBAutomationSwift
是一个插件库,用于 MBurger,允许发送来自 MBurger 平台的自动推送通知和在应用内消息。它依赖 MBMessagesSwift 和 MBAudienceSwift。使用此库,您还可以跟踪用户事件和视图。
使用 MBAutomationSwift
,您可以设置内应用消息和推送通知的触发器,在 MBurger 控板中,SDK 会在触发器满足条件时自动显示内容。
因为它依赖于 MBAudienceSwift
,所以消息可以被位置变化或标记变化触发,这些变化来自 SDK。
因为它依赖于 MBMessagesSwift
,所以它包含所有内应用消息的视图以及检查短信是否已经被显示过。
所有 SDK 中的数据流完全由 MBurger 管理,您无需担心。
安装
Swift 包管理器
使用 Xcode 11,您可以使用 Swift 包管理器 将 MBAutomationSwift 添加到项目中。按照以下简单步骤操作
- 在 Xcode 中,转到文件 > Swift 包 > 添加包依赖项。
- 在“选择包仓库”对话框中输入
https://github.com/Mumble-SRL/MBAutomationSwift.git
并按下一步。 - 指定版本,使用规则“最高到下一个主要版本”,并将其最早版本指定为“1.0.1”,然后按下一步。
- Xcode 将尝试解决版本,之后您可以选择
MBAutomationSwift
库并将其添加到您的应用程序目标中。
CocoaPods
CocoaPods 是一个用于 iOS 的依赖管理器,它自动化并简化了在项目中使用第三方库的过程。您可以使用以下命令安装 CocoaPods:
$ gem install cocoapods
要使用 CocoaPods 将 MBurgerSwift 集成到您的 Xcode 项目中,请在 Podfile 中指定它。
platform :ios, '12.0'
target 'TargetName' do
pod 'MBAutomationSwift'
end
如果您使用的是 Swift,记得在 pod 声明之前添加 use_frameworks!
。
然后,运行以下命令:
$ pod install
CocoaPods 是安装库的首选方法。
Chartage
Carthage 是一个去中心化的依赖管理器,它会构建您的依赖并提供二进制框架。要使用 Carthage 将 MBudienceSwift 集成到您的 Xcode 项目中,请在 Cartfile 中指定它。
github "Mumble-SRL/MBAutomationSwift"
手动安装
要手动安装库,将文件夹 MBAutomationSwift
拖放到 XCode 中的项目结构中。
请注意,MBAutomationSwift
依赖于 MBurgerSwift
、MBMessagesSwift
和 MBAudienceSwift
,因此您必须手动安装这些库。
初始化
要初始化自动化,需要将 MBAutomation
插入到 MBurger
插件中,通常与 MBMessagesSwift
和 MBAudienceSwift
插件一起使用。
MBManager.shared.plugins = [MBAutomation(), ... other plugins]
MBAutomation 可以使用 3 个可选参数进行初始化:
trackingEnabled
:启用或不启用跟踪,将此设置为 false 将禁用所有跟踪trackViewsAutomatically
:自动跟踪视图是否启用或禁用eventsTimerTime
:发送事件和视图到 MBurger 的频率
触发器
MBurger的每条应用内消息或推送通知都可以有多个触发器,这些触发器完全由MBAutomation SDK管理,它评估这些触发器,并在触发器定义的条件满足时显示消息。
如果有多个触发器,它们可以使用两种方法进行评估
any
:一旦其中一个触发器变为真,就会向用户显示消息all
:所有触发器都需要为真才能显示消息。
以下是自动化SDK管理的触发器列表
应用开启
MBAppOpeningTrigger
:当应用开启n次时(times
属性)变为真,在应用启动时进行检查。
事件
MBEventTrigger
:当发生n次事件时(times
属性)变为真。
不活跃用户
MBInactiveUserTrigger
:如果用户在n天内没有打开过应用(days
参数)将变为真。
位置
MBLocationTrigger
:如果用户进入由latitude
、longitude
和radius
指定的位置。此触发器可以通过afterDays
属性定义的天数延迟激活。位置数据来自MBAudienceSwift SDK。
标签更改
MBTagChangeTrigger
:当MBAudienceSwift SDK中的标签发生变化并与某个值相等或不相等时,会执行。它有一个tag
属性(需要检查的标签)和value
属性(需要相等或不同的值以激活触发器)。
视图
MBViewTrigger
:当用户进入视图n次时被激活(times
属性)。如果用户需要在视图上停留secondsOnView
定义的秒数来激活触发器。
发送事件
您可以使用MBAutomationSwift
发送事件,例如:
MBAutomation.sendEvent("event")
您可以指定两个可选参数:名为name
的参数,该参数将在MBurger仪表板上显示,以及一个额外数据的metadata
字典以指定事件的其他字段。
MBAutomation.sendEvent("purchase",
name: "Purchase",
metadata: ["quantity": 1])
事件保存在本地数据库中,并以每10秒一次的频率发送到服务器;可以通过设置eventTimerTime
属性来更改此频率设置。
视图跟踪
在MBAutomation中,视图跟踪是自动的,您可以通过使用MBurosudition
并设置trackViewsAutomatically
为folse
来禁用自动跟踪。MBurosudition
通过方法替换在viewDidAppear
时自动跟踪视图。
所有ViewController的默认名称是类名(例如,如果您的ViewController名为HomeViewController,您将看到HomeViewController作为视图)。如果想要更改ViewController的名称,可以设置ViewController的mbaTrackingName
。
import MBAutomationSwift
override func viewDidLoad() {
super.viewDidLoad()
...
mbaTrackingName = "Home"
...
}
您可以通过设置ViewController的mbaTrackingMetadata
属性发送额外的数据,这些数据将显示在仪表板的元数据字段中。
如果已经禁用自动跟踪但仍然想要跟踪视图,可以使用该函数,传递一个UIViewController
。
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
MBAutomation.trackScreenView(self)
}
和事件一样,视图保存在本地数据库中,并以每10秒一次的频率发送到服务器,您可以通过设置eventTimerTime
属性来更改此频率设置。