MBAutomationSwift 0.1.7

MBAutomationSwift 0.1.7

lorenzOliveto 维护。



 
依赖性
MB Burger Swift>= 0
MB消息 Swift>= 0
MB Audience Swift>= 0
 

  • 作者:
  • LorenzOliveto

Documentation CocoaPods Carthage Compatible License

MBAutomationSwift

MBAutomationSwift 是一个插件库,用于 MBurger,允许发送来自 MBurger 平台的自动推送通知和在应用内消息。它依赖 MBMessagesSwiftMBAudienceSwift。使用此库,您还可以跟踪用户事件和视图。

使用 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 依赖于 MBurgerSwiftMBMessagesSwiftMBAudienceSwift,因此您必须手动安装这些库。

初始化

要初始化自动化,需要将 MBAutomation 插入到 MBurger 插件中,通常与 MBMessagesSwiftMBAudienceSwift 插件一起使用。

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:如果用户进入由latitudelongituderadius指定的位置。此触发器可以通过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并设置trackViewsAutomaticallyfolse来禁用自动跟踪。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属性来更改此频率设置。