VerloopSDK for iOS
这个框架可以帮助你配置和启动 Verloop 的聊天。为了集成,需要通过传入配置 VLConfig
对象来初始化我们的 VerloopSDK
实例,并显示其导航控制器。这将以模态方式显示 Verloop 的聊天。下面将详细介绍 VerloopSDK
和 VLConfig
上的 API。
需求
- XCode 13.1+
- 最小支持 IOS 版本 IOS10
安装
有两种安装方式
-
CocoaPods 是 Cocoa 项目的依赖管理器。有关使用和安装说明,请访问他们的网站。要使用 CocoaPods 将 Verloop 集成到您的 Xcode 项目中,请在您的 Podfile 中添加以下行
pod 'VerloopSDKiOS'
-
手动构建仓库并生成 VerloopSDK 框架,然后将框架嵌入到项目中的Linked Binaries中,如下所示。
变更日志
请参考我们的变更日志,了解每个发布的新增功能和已弃用的 API。您可以在以下位置找到它 -> 变更日志
SDK 使用 - Swift
使用以下命令导入库
import VerloopSDK
初始化配置对象 VLConfig
。您可以通过传递一个唯一标识符 userId
来区分用户。这将有助于管理登录用户会话。
let config = VLConfig(clientId: String)
let config = VLConfig(clientId: String, userId: String?) //clientId is required parameter while userId.
否则,您可以使用 VLConfig
实例上的 setUserId
方法更新 userId。
let config = VLConfig(clientId: String)
config.setUserId(userId: String)
VLConfig
上面的 API
您可以使用 VLConfig 上的以下 API 配置您的聊天实例
- 菜谱 ID:在启动聊天之前设置菜谱。如果没有使用此 API,则会选择默认菜谱。
config.setRecipeId(recipeId id: String?)
- 通知令牌:为了接收通知,您需要通过此 API 传递您的设备令牌,除此外还需要在仪表板上设置您的 bundle id、p12 apns 证书及其密码。
config.setNotificationToken(notificationToken: string)
- 用户名,用户电子邮箱和用户电话:用于设置用户参数,例如用户名、电子邮箱和电话号码。
config.setUserName(username name:String)
config.setUserEmail(userEmail email:String)
config.setUserPhone(userPhone phone:String)
- 用户参数:您可以使用
setUserParam
API 传递上述详情之一或多个。键可以是name
、email
和/或phone
。
config.setUserParam(key:String, value:String)
Example:
config.setUserParam(key: "name", value: "Test User")
config.setUserParam(key: "email", value: "[email protected]")
- 自定义字段:使用此 API
setCustomField
传递任何自定义参数。这有助于将您的逻辑添加到对话中。这些参数可以从运行中的机器人菜谱通过 webhooks 获取。key
和value
是在设置的范围内保存的详情。范围包含两个值,user
和room
。
config.putCustomField(key: String, value: String, scope: SCOPE)
Example:
config?.putCustomField(key: "custom_key", value: "custom_value", scope: .USER)
- 监听器:当最终用户在菜谱中点击按钮或 URL 时,您可以设置两个监听器。
//Button Click Listener
config.setButtonOnClickListener(onButtonClicked buttonClicked: LiveChatButtonClickListener?)
Example:
config.setButtonOnClickListener(onButtonClicked:{ (title, type, payload) in
print(title)
})
// URL Click Listener
setUrlClickListener(onUrlClicked urlClicked: LiveChatUrlClickListener?)
VerloopSDK
上的 API
VerloopSDK 类是期望以 VLConfig
实例作为初始化参数的 SDK 类。VerloopSDK 的实例用于打开和关闭聊天。您可以使用此类的登录和注销 API 来管理用户会话。在这里,我们将通过场景向您介绍 API。
- 初始化 SDK
let verloop = VerloopSDK(config: config)
- 要显示聊天,您需要获取聊天根视图控制器,并从中控制器以模态方式显示。这将启动对话。使用
VerloopSDK
的getNavController
方法创建 SDK 根视图控制器的实例。
let chatController = verloop.getNavController()
yourViewController.present(chatController, animated: true)
- 要管理用户会话,请使用登录和注销方法。您可以使用用户标识符进行登录。
let verloop = VerloopSDK(config: config)
verloop.login(userId: string)
verloop.logout()
适用于苹果推送通知
要接收通知,请将 BundleID、APNS 证书文件(.p12)及其对应密码添加到仪表板的设置页面。首页 > 设置 > 产品设置下的聊天 > iOS SDK / Android SDK
注意:在初始化 SDK 之前,在配置对象上设置设备令牌。Verloop 的通知有效负载将有一个键 _by
,其值为 verloop
。
json { "_by": "verloop", "aps": { "alert": { "body": "notification message body" } } }
SDK 使用 - Objective C
导入框架后,在您的控制器中添加以下行
import <VerloopSDK/VerloopSDK-Swift.h>
创建 VLConfig
对象。配置对象。然后使用配置对象初始化 VerloopSDK
。以下是一些 API 列表。
VLConfig *config = [[VLConfig alloc] initWithClientId:@"clientId" userId:@"userId"];
[config setUserName:@"Name"]; [config setUserEmail:@"[email protected]"]; [config setUserPhone:@"+919xxxxxxxx"];
[config setNotificationTokenWithNotificationToken:@"token"];
[config setStagingWithIsStaging:YES];
[config putCustomFieldWithKey:@"key" value:@"value" scope:SCOPEUSER];
VerloopSDK *verloop = [[VerloopSDK alloc] initWithConfig:config];
之后,当用户想要打开聊天时,您只需要求 UINavigationController 并在您的视图中呈现即可。
[[self navigationController] presentViewController:[verloop getNavController] animated:YES completion:NULL];
注意:请查阅 Swift 的文档以了解更多 API,并相应地调用相应的方法。