已知的问题和限制

同一时间只能运行一个Chat SDK实例

Classic Chat SDK并没有设计成同时运行多个实例。在应用程序中,一次只能使用Classic Chat SDK的一个实例。

在运行时切换SDK帐户

不支持运行时修改聊天帐户。虽然可以在运行时初始化一个帐户,然后再初始化另一个帐户,但我们不支持这种配置。

座席工作区没有“聊天结束”的推送通知

如果您的帐户正在使用代理工作区,您将不会收到聊天会话结束的通知。这是因为会话的终止是不同的。我们建议您的代理在关闭聊天前发送消息,以避免在不知情的情况下终止聊天。

聊天的运行时间不影响聊天SDK

聊天SDK不考虑工作时间。在准备Chat会话时,它只考虑部门是否在线(其中至少有1个代理在线)和帐户是否在线(至少有1个代理在线)。这意味着如果满足这些条件,用户将能够在营业时间后在预聊天表单上选择一个部门。

代理化身

对于API级别16-19,来自聊天后端的代理虚拟形象不会出现在对话线程中。

离线表单不使用VisitorInfo

离线表单在使用JWT身份验证时将只使用已知信息。VisitorInfo不会被用来预填离线表单的信息。

多次进出聊天后,聊天界面空白

进出聊天界面,会导致界面是空白的。如果发生这种情况,聊天会话仍在工作,UI将在UI接收到新事件(如接收或发送消息)后返回。

离开聊天界面时键盘不会关闭

有时,当你在聊天界面中输入并退出时,键盘仍然可见,你必须手动关闭它。看到为什么我的键盘不关闭为了解决问题,这个力会关闭键盘。

附件行为随着代理工作区而改变

当您的帐户移动到代理工作区时,请注意这将轻微改变聊天SDK中附件的行为方式。收到的文件不会直接打开,而是通过浏览器打开以便下载。
这不会影响仍然直接在聊天界面中呈现的图像。

使用主动消息时可能会出现竞态条件问题

聊天触发器向访问者发送问候会干扰SDK设置部门。当使用SDK Provider来发送信息在聊天会话刚刚创建的情况下。

虽然可以为Zendesk聊天移动sdk (iOS和Android)创建主动问候聊天触发器,或者在使用聊天UI时使用sendMessage,但由于亚博聊天固有的竞争条件,我们不建议也不支持在Zendesk聊天移动sdk中使用主动消息。

例如,这些竞争条件可以阻止部门的设置。聊天开始后,部门字段变为只读。如果在设置部门前发送欢迎语,则不能设置部门。

如果您必须使用触发器,减少这些风险的一种方法是向触发器添加“仍在现场”条件,值为“1”,其中“1”是等待的秒数。您还可以在触发器上添加一个条件,要求在发送问候语之前聊天必须有一个部门。