开始
开始
SDK有如下要求:
- 最低Android版本:API级别21 (Lollipop/5.0)
添加Chat SDK依赖项
使用Gradle添加SDK
在Android Studio中,打开build.gradleapp模块的文件(不是项目的)。
之前
依赖关系
节,添加以下内容存储库
部分:存储库{
maven{url“https://亚博zendesk.jfrog.io/zendesk/repo”}
}
如果您计划使用SDK的内置UI组件,请在
依赖关系
部分:依赖关系{
实现集团:“com.亚博zendesk”,的名字:“聊天”,版本:3.3.6的
实现集团:“com.亚博zendesk”,的名字:“消息”,版本:5.2.5的
...
}
如果你只想使用SDKAPI提供者和没有UI组件,插入下面的行代替
依赖关系
部分:依赖关系{
实现集团:“com.亚博zendesk”,的名字:“chat-providers”,版本:3.3.6的
...
}
请注意:如果你计划同时使用API提供程序和UI组件,请指定
“聊天”
就像名字一样。这两者都有。保存文件,然后通过选择将Chat SDK集成到项目中文件>用Gradle文件同步项目.
初始化SDK
Chat SDK初始化应该在onCreate ()
方法的应用程序类。初始化方法参数为a上下文
,你的帐户密钥,和你的应用程序标识符。可以通过询问帐户所有者来获得这些信息。应用程序标识符仅在配置应用程序为推送通知时才需要。
/ / BaseApplication.java
Chat.INSTANCE。init(applicationContext, "你的帐户密钥","你的应用程序标识符");
配置SDK
配置对话
聊天SDK提供ChatConfiguration。构建器
您可以使用它来启用或禁用某些对话功能。
ChatConfiguration = ChatConfiguration.builder()
.withAgentAvailabilityEnabled(假)
.build ();
的完整文档ChatConfiguration
构建器方法,请参见自定义外观.
设置会话信息
可以使用ChatProvidersConfiguration
:
VisitorInfo = VisitorInfo.builder()
.withName(“Bob”)
.withEmail(“(电子邮件保护)”)
.withPhoneNumber("123456") //数字字符串
.build ();
ChatProvidersConfiguration = ChatProvidersConfiguration.builder()
.withVisitorInfo (visitorInfo)
.withDepartment(“部门名称”)
.build ();
Chat.INSTANCE.setChatProvidersConfiguration (chatProvidersConfiguration)
这将设置一个默认值VisitorInfo
每个部门都要使用ChatSession
.它还将禁用PreChatForm中已经设置了信息的字段。只要应用程序存在,这些数据就会被持久化。清除此用途:
Chat.Instance.resetIdentity ();
选项也可以配置聊天ProfileProvider
或者是ChatProvider
类。
ProfileProvider = Chat.INSTANCE.providers().profileProvider();
ChatProvider = Chat.INSTANCE.providers().chatProvider();
VisitorInfo = VisitorInfo.builder()
.withName(“Bob”)
.withEmail(“(电子邮件保护)”)
.withPhoneNumber("123456") //数字字符串
.build ();
profileProvider。setVisitorInfo(visitorInfo, null);
chatProvider。setDepartment("Department name", null);
注意:既不setDepartment
也不setVisitorInfo
将隐藏字段PreChatForm或覆盖存储在ChatProvidersConfiguration
.如果您使用这些方法来设置用户信息,您需要手动禁用PreChatForm上的这些字段。这些方法不会持久化数据,需要在随后的chatsession中再次调用。
ProfileProvider
设置 | 描述 |
---|---|
setVisitorInfo |
允许指定访问者的姓名、电子邮件地址和电话号码。这将被代理人看到。看到VisitorInfo. |
addVisitorTags |
添加标签列表,这些标签将在聊天中显示给代理。 |
removeVisitorTags |
删除已添加的标记数组。 |
setVisitorNote |
设置访问者配置文件上的注释。 |
appendVisitorNote |
将该说明附加到访问者配置文件上的现有说明。 |
clearVisitorNote |
清除所有访客记录。 |
trackVisitorPath |
用于跟踪导航历史。 |
getVisitorInfo |
获取有关访问者的当前缓存信息 |
observeVisitorInfo |
注册一个观察者,当访问者信息发生变化时通知他。 |
VisitorInfo
的实例VisitorInfo
与一个专门的建设者如下:
VisitorInfo = VisitorInfo.builder().build();
访问者信息可以使用以下构建器方法配置:
设置 | 描述 |
---|---|
withName |
设置将与访问者关联的名称。 |
withEmail |
设置将与访问者关联的电子邮件。 |
withPhoneNumber |
设置将与访问者关联的电话号码。 |
ChatProvider
设置 | 描述 |
---|---|
setDepartment |
可以将其设置为与Chat仪表板中配置的部门名称匹配的有效字符串。然后聊天将被相应地路由。有关获取可用部门列表的详细信息,请参见获取代理的可用性. |
重要的:会话开始后,部门不能更新,但是VisitorInfo
并且可以在整个会话中更新标记。
禁用聊天记录
禁用聊天记录可以通过在ChatConfiguration
:
chatConfiguration.withTranscriptEnabled(假)
.withMenuItems (ChatMenuAction.END_CHAT);
另外withMenuItems ()
也可用于从对话屏幕中删除菜单。
重要的:如果您正在设置部门,同时使用触发器发送初始消息,请参见在这里有关资料。
开始聊天
开始聊天首先要构建消息传递接口,这需要至少传递一个产品引擎。看到统一的SDK有关产品引擎和如何使用它们的更多详细信息的文档。
MessagingActivity.builder ()
.withEngines (ChatEngine.engine ())
,告诉(view.getContext (), chatConfiguration);
重要的是:如果Chat SDK与Answer Bot SDK配合使用,则必须先添加Answer Bot SDK,再添加Chat SDK。看到与其他引擎一起运行引擎在聊天引擎文档中。
推送通知
您可以在Chat SDK中使用推送通知,每当代理向对话发送新消息时通知您的用户。要了解如何在应用程序中启用推送通知,请参见推送通知.
启用脱机表单
脱机表单为您的访问者提供了一种在您的所有代理都脱机时与您联系的方式。表单支持姓名和电子邮件输入,其中电子邮件字段是填写表单所必需的。一旦提交,它将在您的支持仪表板上创建一个票据。可以通过设置启用或禁用脱机表单withOfflineFormsEnabled
在ChatConfiguration。构建器
类。的isAgentAvailabilityEnabled
为使脱机表单工作,需要启用标记。详情请参见定制聊天体验.
配置队列
该队列为用户提供了一种方法,可以查看他们等待与座席通话的大致时间。它是基于在他们前面的其他游客的数量。不能禁用队列,但可以更改或删除文本。看到已知的问题获取更多信息。
日志记录
默认情况下,日志记录是禁用的,但您可以按如下方式启用它:
Logger.setLoggable(真正的)
会话终止
聊天会话将终止任何满足下列条件之一:
- 未推送的访客已空闲*超过20分钟(总计30分钟)。
- 使用推送的访客已不活动超过5分钟。
- 在非活动超时时间(30分钟或5分钟)内,访问者已被断开连接。
- 代理结束聊天,此时会话将在5分钟后终止,没有访问者输入,无论是否配置了推送通知。任何新消息都会将您放回到队列中。
- 访问者结束聊天,此时会话将立即终止。
- 在Agent Workspace帐户上,如果访问者或代理结束聊天,会话将立即终止。
*在10分钟内检测不到任何输入后,访问者将变得空闲。
高级的主题
请参阅api的文档类和模型的描述。