EngageSDK
要求
- iOS 10.0+ / macOS 10.12+ / tvOS 10.0+ / watchOS 3.0+
- Xcode 10.1+
- Swift 4.2+
安装
CocoaPods
CocoaPods 是一个项目依赖管理平台,用于安装、更新和删除项目中使用的库。
您可以使用以下终端命令安装 Cocoapods
$ sudo gem install cocoapods
要将 Cocoapods 初始化到您的项目中,通过终端导航到您的项目目录并运行以下命令:
$ cocoapods init
这将在您的项目根目录创建一个 .podfile
。该 .podfile
是 Cocoapods 使用来声明项目依赖的配置文件。
将 EngageSDK 添加到您的项目依赖中。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target 'Your Target Name' do
pod 'EngageSDK'
end
在 .podfile
创建的您的项目根目录下运行以下命令以将 Discovery SDK 作为依赖项安装:
$ pod install
权限
Engage SDK将需要位置和蓝牙权限。将以下键添加到您的App plist中。
- NSBluetoothPeripheralUsageDescription
- NSLocationAlwaysAndWhenInUseUsageDescription
- NSLocationWhenInUseUsageDescription
功能

检查您的应用功能:
- 位置更新
- 使用蓝牙LE配件
- 作为蓝牙LE配件运行
- 远程推送通知
初始化框架
要初始化Engage,请将您的凭据添加到AppDelegate的didFinishLaunchingWithOptions调用中的初始化调用。
import LocallyEngageSDK
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
Engage.initialize(username: "YOUR USERNAME", password: "YOUR PASSWORD")
return true
}
}
监控信标活动
初始化SDK后,您可以在应用的任何地方调用Engage.startMonitoringBeacons。初始化闭包用于确保startMonitoringBeacons仅在SDK初始化后调用。
Engage.initialized = {
Engage.startMonitoringBeacons()
}
监控地理围栏活动
您可以像监控信标一样监控地理围栏活动。只需调用Engage.startMonitoringGeofences即可。
Engage.initialized = {
Engage.startMonitoringGeofences()
}
Engage.initialized = {
Engage.stopMonitoringBeacons()
}
同时监控信标和地理围栏
Engage.initialized = {
Engage.startMonitoringBeacons()
Engage.startMonitoringGeofences()
}
推送通知活动
注册推送通知
在AppDelegate上实现“didRegisterForRemoteNotificationsWithDeviceToken”委托方法并设置设备令牌
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Engage.deviceToken = deviceToken
}
显示推送通知预览
创建通知服务扩展
要将推送通知活动添加到您的应用程序中,您需要在项目中添加一个NotificationServiceExtension。
配置您的通知服务
将NotificationService更改为调用RemoteNotificationPreviewDisplayer的如下所示。
import LocallyEngageSDK
import UserNotifications
import UserNotificationsUI
class NotificationService: UNNotificationServiceExtension {
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
RemoteNotificationPreviewDisplayer.displayPreview(withNotificationRequest: request, andHandler: contentHandler)
}
}
显示推送通知内容
创建通知内容扩展
要将推送通知活动添加到您的应用程序中,您必须将 NotificationContentExtension 添加到项目中。
配置您的 plist 文件
现在打开 plist 文件,删除 NSExtensionMainStoryboard 键,并设置其他的键,如下面的图片所示。
配置通知视图控制器
删除您的 MainInterface.storyboard 文件,并将 NotificationViewController 在 viewDidLoad 方法中更改为调用 RemoteNotificationViewController。
import LocallyEngageSDK
class NotificationViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
_ = RemoteNotificationViewController()
}
}