已知问题和限制

同一时间只有一个聊天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不考虑工作时间。在准备聊天会话时,只考虑部门是否在线(部门内至少有一个座席在线)和帐号是否在线(至少有一个座席在线)。这意味着如果满足这些条件,用户将能够在工作时间后在预聊天表单上选择一个部门。