LocallyEngageSDK 0.3

LocallyEngageSDK 0.3

Eduardo Dias 维护。



 
pod try LocallyEngageSDK
依赖= 4.8.0
Alamofire= 3.4.1
AlamofireImage= 2.0.1
KontaktSDK= 6.5.3
PromiseKit= 2.8.1
 

  • 作者
  • Eduardo Dias

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

功能


检查您的应用功能:

  1. 位置更新
  2. 使用蓝牙LE配件
  3. 作为蓝牙LE配件运行
  4. 远程推送通知

您现在可以开始了!

初始化框架

要初始化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()
	}
}