已知的问题
已知问题和限制
同一时间只有一个聊天SDK实例在运行
Classic Chat SDK没有设计成同时运行多个实例。在你的应用中,一次只能使用一个Classic Chat SDK实例。
在运行时切换SDK帐号
不支持在运行时更改Chat帐户。虽然可以在运行时使用一个帐户进行初始化,然后再使用另一个帐户进行初始化,但我们不支持这种配置。
帐号没有聊天部门时,预聊挂起
有一个问题,当聊天帐户中没有任何部门时,这会干扰预聊的流程。这将导致聊天不被放置在队列中,除非您发送额外的消息,之后一切正常。解决方法是简单地向聊天帐户添加一个部门。
Agent工作区没有“聊天结束”推送通知
如果您的帐户正在使用代理工作区,您将不会收到聊天会话结束的通知。这是由于会话的终止不同。我们建议您的代理在关闭聊天前发送消息,以避免不知情的终止。
Mac的催化剂
即使不支持Mac Catalyst,也可以在启用Mac Catalyst时编译该库。
设备旋转上的文本单元格
有一个问题,即文本单元格可能不会在设备旋转后准确地调整自己的大小。这可能导致消息缺少一些文本。
视图控制器引用
你可能需要保持对视图控制器的引用Messaging.instance.buildUI(引擎:配置:)
函数。如果是,请确保它是弱
引用以避免视图控制器生命周期中的任何问题。
有一些报告说,在聊天结束后,弱引用使MessagingUI视图保持活动状态,从而导致第二次聊天的配置问题。您可能需要通过侦听来释放视图.viewDidDisappear
并将其设置为零
.
消息UI中的头像
消息UIViewController不显示bot或agent的头像。
ZDKObservationToken类警告
您可以忽略有关的警告类ZDKObservationToken在MessagingAPI.framework/MessagingAPI和ChatProvidersSDK.framework/ChatProvidersSDK中实现。将使用两者中的一个。哪一个是不确定的。”我们将尝试在未来删除此警告,但它是一个假阳性,可以安全地忽略。
使用主动消息时可能会出现竞争条件问题
聊天触发器向访客发送问候可能会干扰SDK设置部门。当使用SDK提供程序时也会发生相同的情况发送消息在程序上,聊天会话几乎没有创建。
虽然可以为Zendesk聊天移动sdk (iOS和Android)创建主动问候聊天触发器,或者在使用聊天UI时使用sendMessage,但由于亚博聊天固有的竞争条件,我们不建议也不支持在Zendesk聊天移动sdk中使用主动消息。
例如,这些竞争条件可以阻止部门的设置。聊天开始后,部门字段变为只读。如果在设置部门之前发送欢迎词,则不能设置部门。
如果必须使用触发器,降低这些风险的一种方法是为触发器添加一个值为“1”的“仍在现场”条件,其中“1”是等待的秒数。您还可以在触发器上添加一个条件,要求在发送欢迎语之前聊天必须有一个部门。
要记住的事情
附件的行为随着代理工作区而改变
当将您的帐户移动到Agent Workspace时,请注意这将略微改变Chat SDK中附件的行为方式。收到的文件不会直接打开,而是通过浏览器打开以便下载。
这不会影响仍然直接在聊天UI中呈现的图像。
Xcode模拟器上的SDK行为不同于物理设备
在测试SDK时,请确保在物理设备上进行测试,因为模拟器上的某些行为是不同的。
聊天运行时间不影响聊天SDK
聊天SDK不考虑工作时间。在准备聊天会话时,只考虑部门是否在线(部门内至少有一个座席在线)和帐号是否在线(至少有一个座席在线)。这意味着如果满足这些条件,用户将能够在工作时间后在预聊天表单上选择一个部门。