支持请求

亚博Zendesk Support允许用户通过会话式UI或非会话式表单和基于电子邮件的界面提交支持请求。支持请求也称为票据。

Support功能允许用户提交带有标准和自定义字段输入以及文件附件的请求。此功能在Android、iOS、Windows和OSX中都是原生可用的。用户可以在启用会话视图的情况下接收、阅读和回复来自客户支持团队的响应。或者,可以在请求提交后将响应路由到用户的电子邮件地址。

所有支持请求都可以提交任何指定的标签。默认情况下,Zendesk UI亚博的按钮允许您指定应该随每个请求一起发送的标记。标签可以在检查器中被覆盖。

请注意Zendes亚博k后端不信任从客户端发送的输入,并且在Zendesk代理界面中显示数据之前会剥离或转义任何输入。如果您将任何数据发送回您自己的数据存储,Zendesk建议在获取数据之前对数据进行验证和清理。亚博

选择视图

您可以为用户提供会话视图或非会话视图,以便提交支持请求。

请注意以下事项:

  • 如果你在应用程序中使用会话视图,考虑到最终用户不能输入他们的电子邮件和姓名进行身份验证。的代码中设置最终用户的身份(电子邮件和姓名)SetAnonymousIdentity方法亚博ZendeskMain.cs类。的SetAnonymousIdentity方法仅适用于会话视图。如果不为最终用户设置电子邮件和姓名字段,则使用唯一标识符进行身份验证。没有与用户关联的电子邮件和名称。
  • 如果你在应用程序中使用非会话视图,终端用户可以在创建第一个请求时输入他们的电子邮件和用户名进行身份验证。这些信息将自动保存并用于将来的请求。
  • 如果未在会话视图中为最终用户设置标识,我们建议不要将应用程序转换为非会话视图。转换应用程序后,最终用户将保留以前的身份,并且不会收到任何电子邮件。

使用会话视图

重要的是:Essential计划不提供会话功能。

会话视图允许用户以类似聊天的交互方式发送和响应应用程序内的门票。

默认情况下,系统会提示用户输入他们的消息,并收到反馈,指出他们的请求已被接收。可以使用聊天窗格上的标准附加图标附加图像。

用户可以在应用程序内查看Zendesk中代理发送的任何响应,包括任何亚博富文本和链接。如果代理在响应中包含Help Center链接,终端用户可以点击该链接在Zendesk SDK中打开并阅读文章,而无需启动任何外部浏览器或包装器。亚博

响应中也支持外部链接。这些将在最终用户的浏览器中正常打开。

会话请求可以通过下拉到刷新的动作来刷新,然后释放视图面板。

用户可以使用Support/My Tickets面板查看他们的请求历史记录和收到的任何回复。这个面板还可以作为一个安全的位置,引导用户在启动应用程序时始终指向它。如果需要,任何没有打开请求的用户都将被提示创建一个。请看下面的图片。

使用非会话视图

非会话票据允许最终用户在应用程序中创建支持请求,目的是获得电子邮件响应。

非会话票证支持自定义字段以及内联图像附件。看到添加自定义字段.用户只会被提示输入他们的姓名或电子邮件。该信息将自动填充到后续的票据中。

成功提交请求后,将提示最终用户返回到应用程序。见下图。

添加自定义字段

自定义字段允许您在每次支持请求时发送额外的数据。自定义字段可以是可见的或不可见的。可见字段由用户完成。使用应用程序提供的数据填充不可见字段ActionDelegate方法。

你可以在支持管理界面(推荐)中定义自定义字段,或者在Unity编辑器中使用检查器手动定义字段。

自定义字段还支持本地化到任何zendesk支持的语言。亚博

有关添加自定义字段以及将它们连接到Unity应用程序的详细信息,请参阅以下文档:

在Support中定义自定义字段

自定义字段必须在支持管理界面中定义,然后才能将它们放置在Unity应用程序中。

看到添加自定义字段到您的票和支持请求表单在支持帮助中心。您必须是Zendesk管理员亚博才能定义自定义字段。如果你不是管理员,请别人帮你定义一下。

Unity SDK目前支持以下字段类型:

  • 文本
  • 多行
  • 复选框
  • 数字
  • 小数

确保要显示的任何字段的权限设置为可供最终用户编辑在技术支持管理界面中。

一旦完成,新的自定义字段应该出现在Zendesk Admin的票务字段页面中。亚博注意每个新字段的Field ID。这些值是在Unity中插入字段所必需的。

在添加项目所需的任何其他额外自定义字段后,强烈建议您下载CSV,以确保您的Unity表单设置与Zendesk设置同步。亚博文件的旁边是CSV下载按钮添加字段在支持管理界面的票务字段页面上的按钮。

警告:如果您的自定义字段在支持管理界面中设置不正确,您的应用程序可能会遇到不想要的行为。因此,我们强烈建议在尝试添加或导入到Unity项目之前,在支持管理界面中设置所有字段。

添加可见的自定义字段

可见的自定义字段允许用户在支持请求中包含更多信息。

在Unity中添加可见的自定义字段

  1. 将从Zendesk下载的CSV票据字段导入到您的亚博资产文件夹。

    在Ze亚博ndesk中,CSV下载按钮位于添加字段在支持管理界面的票务字段页面上的按钮。

  2. 在Zendesk预制件中选择Support GameObject。亚博

  3. 在Inspector面板中,选择自定义字段选项卡并将票据字段CSV拖到Custom fields组件中。

  4. 点击从CSV文件加载自定义字段

高级选项

所需字段的验证消息可以添加到生成的申请表数组中。

而其他选项可以直接在申请表数组中,强烈建议您依赖票证字段CSV为您生成这些选项。支持管理设置和Unity项目设置之间的任何不匹配都可能导致意外行为。

翻译自定义字段标签

如果您有自定义字段的本地化翻译,您可以将它们与Inspector窗口中的custom Field translations组件附加在一起。将自定义字段翻译放入具有以下格式的CSV中。

  • CSV的第一行应该以空值(),然后列出加护病房支持的语言代码。例如:

、en - us pt-BR

  • 所有后续行都应该以要本地化的字符串的唯一标识符开始,然后在第一行上以相应语言的字符串翻译开始。例如:

    你好,Ola usdk_cf_ {custom-field-id} _label

例子

             
-我们pt-BRusdk_cf_123_label联系数量Numero德Contatousdk_cf_123_validation_message联系数量要求Numero德Contatoe obrigatoriousdk_cf_456_label如何你玩了好几个小时了游戏澳洲航空公司Horas você joyou esse jogo

发送不可见的自定义字段值

在开始之前,请确保从Support管理界面获得了字段id。看到在Support中定义自定义字段

您将需要创建一个引用zendesksupporttui组件的脚本,并传递包含任何自定义字段值的Dictio亚博nary类型。

zend亚博esksupport组件包含SetInvisibleCustomFieldsAddInvisibleCustomField方法,这些方法必须在用户提交任何支持票之前调用。

SetInvisibleCustomFields

SetInvisibleCustomFields方法应使用字典> <长字符串参数,其中应包含任何相关的KeyValuePair配置了(长)Custom_Field_ID键和(字符串)Custom_Field_Value值。

SetInvisibleCustomFields方法的参数如下:

名字 类型 评论
customFieldsDictionary 字典> <长字符串 引用链接到预期值的自定义字段ID的字典。

例子

             
字典<字符串>invisibleCustomFields=字典<字符串>invisibleCustomFields添加1“测试”invisibleCustomFields添加2“123”亚博zendeskSupportUISetInvisibleCustomFieldsinvisibleCustomFields

设置不可见的自定义字段。您只能在创建请求时设置不可见的自定义字段。代理可以在创建请求后更新自定义字段。如果在创建请求之后需要更新自定义字段,请请求代理这样做。

AddInvisibleCustomField

AddInvisibleCustomField方法应使用字符串参数,该参数应包含(长)id(字符串)值值。它将被添加到现有的Custom Fields列表中。

参数
名字 类型 评论
id 自定义字段ID
价值 字符串 自定义字段值

例子

             
亚博zendeskSupportUISetInvisibleCustomFields1“不可见的自定义字段值”

启用客户满意度(CSAT)调查

客户满意度(CSAT)允许用户对标记为已解决的任何支持请求提供评级。

一旦请求被Zendesk中的代理标记为已解决,最终用户将被提示提供好或坏评级。亚博如果最终用户想要重新获得支持,他们也可以选择回复该问题单。

要在票据被标记为已解决后看到CSAT屏幕,最终用户必须刷新票据。可以通过拉出票证详细信息屏幕或关闭票证并重新打开票证来刷新票证。一旦票证被刷新,最终用户将能够看到CSAT屏幕。

CSAT必须在你的应用程序设置中启用,在移动SDK页面的支持管理界面中,在你的Unity项目中发挥作用。如果一个应用程序ID是在其他框架(如使用Zendesk的独立Android或iOS sdk)上构建的项目之间共享的,CSAT将只在你的Unity项目中工作。亚博

获取请求更新

亚博ZendeskSupportProvider有一个方法叫做GetRequestUpdates它可以用来检查终端用户的票是否有任何更新。这可以用来为用户创建一个可视化的指示器,当他们的请求有活动时。

             
亚博ZendeskSupportProvider supportProvider = zendeskObjectInstantiated.GetComponent().supportProvider;supportProvider.GetRequestUpdates (GetRequestUpdatesCallback);private void GetRequestUpdatesCallback(亚博ZendeskResponse response){如果(response.Result.hasUpdates){Debug.Log("Total new comments: " + response.Result.newComments + "\n");foreach (var item in response.Result.requestUpdates){var text = consoleText.text;text += "\n请求Id: " + item.id;text += "\n New Comments: " + item.newComments;文本+ = " \ n  ----------------------------------------------------------";Debug.Log(文本);

这个方法缓存亚博ZendeskRequestUpdates最多一个小时。在该时间范围内的任何后续调用都将返回相同的缓存对象,而无需查询网络。查看请求将从缓存对象更新它,因为现在已经看到了更新。这是在会话视图中加载请求注释时完成的。如果你实现了任何自定义UI,你可以通过调用以下方法标记请求:

             
亚博ZendeskSupportProvider supportProvider = zendeskObjectInstantiated.GetComponent().supportProvider;//将所有请求更新标记为已读supportProvider.MarkRequestAsRead ();//只将下面列表中的请求标记为已读List requestIds = new List(){"requestId1", "requestId2"};supportProvider.MarkRequestAsRead (requestid);