增加门票

您的组织与客户的对话显示为门票亚博Zendesk支持。支持SDK允许客户使用您的应用程序创建票证,更新现有的票证,或者查看他们的票证何时被客户服务团队更新。

所有四个支持SDK的活动,包括帮助中心活动,让用户创建票据。下面的活动也让用户查看和更新一个或多个他们的门票,并给你更多的控制门票在你的应用程序:

  • RequestActivity
  • RequestListActivity

请注意在Zendesk中,票也被亚博称为支持请求,或者简称为请求

RequestActivity让你:

  • 显示并配置用户可用于向客户服务团队提交票据的票据屏幕
  • 创建一个稍后显示票务屏幕的意图
  • 配置其他SDK活动的票据屏幕
  • 出示用户的一张票

注意这一点很重要RequestActivity不轮询票证的更新,因为票证是异步通信模式,而不是同步通信模式(如聊天)。
Zendesk支持管理页面中的“确认消息”设置应该是定制的,并用于设置用户对何时收到亚博回复的期望。
一个真正的聊天体验可以使用推送通知触发屏幕上对话的刷新。

RequestListActivity让您显示用户的门票列表。用户可以查看和更新他们的门票。

如果您需要构建自己的票证ui, SDK也有一个API提供程序,可以让您在Zendesk Support中访问票证。亚博看到RequestProvider在支持SDK Javadocs中。

本节涉及的主题:

先决条件

允许用户创建票据没有任何先决条件。

为了让用户查看和更新他们的门票,有一个先决条件。
Ze亚博ndesk管理员必须启用对话为您的应用程序设置在Zendesk支持。亚博看到在Zendesk Support中配置SDK亚博在支持帮助中心

用户界面概述

的默认提交票据屏幕RequestActivity如下所示:

创建机票

的默认票据列表RequestListActivity如下所示:

票列表

当代理更新了票证时,票证旁边会出现一个项目符号来提醒用户。

在列表中点击一个票证将显示票证对话。用户可以在对话中添加评论。

您可以更改活动ui的外观和感觉。看到自定义外观

显示提交票证屏幕

使用显示()方法RequestActivity构建器。例子:

             
RequestActivity构建器显示MyActivity

看到显示RequestActivity建设者

如果您愿意,您可以使用售票处的售票屏幕RequestListActivityHelpCenterActivity,或ViewArticleActivity活动。每个活动的UI都有一个浮动的操作按钮,让用户打开票务屏幕。

配置票据屏幕

的下列方法之一RequestActivity建造者:

例子:

             
RequestActivity构建器withRequestSubject“Android票”withTags“android”“移动”显示MyActivity

参见上面列出的方法RequestActivity建设者

创建一个意图来显示票据屏幕

使用意图()方法RequestActivity构建器。例子:

             
意图requestActivityIntent=RequestActivity构建器withRequestSubject“Android票”意图MyActivity

看到意图RequestActivity建设者

配置其他SDK活动的票据屏幕

使用配置()方法RequestActivity构建器。例子:

             
配置requestActivityConfig=RequestActivity构建器withRequestSubject“Android票”withTags“android”“移动”配置RequestListActivity构建器显示MyActivityrequestActivityConfig

看到配置RequestActivity建设者

显示用户的票

使用显示()方法RequestListActivity构建器。例子:

             
RequestListActivity构建器显示MyActivity

如果使用匿名身份RequestListActivity仅显示在该特定设备上创建的票据,即使用户在其他设备上使用相同的电子邮件地址创建其他票据。这个限制不适用于JWT标识。RequestListActivity显示由JWT用户在任何通道上创建的票据(例如在web或其他移动设备上)。

任何有新的或未读评论的票证都会在列表中以高亮显示的状态显示,以吸引用户的注意。

未读状态在设备上确定和跟踪,这意味着JWT用户不会跨多个设备共享已读/未读状态。在其他通道(例如其他设备)中创建的JWT票据在第一次从网络中检索并显示时显示为未读RequestListActivity

已解决的票在列表中显示的方式与打开的票相同。已解决的票证可以像未处理的票证一样被查看和更新。最终用户对已解决的票据的新评论将导致该票据在Zendesk中重新打开。亚博

已关闭的门票显示为灰色状态,并显示一条消息,称门票已关闭。用户仍然可以查看票据,但不能更新。您可以在Zendesk Support管理页面中禁用已关闭的票据的显示。亚博

如果在Zendesk Support管理页面中禁用了对话,亚博RequestListActivity记录消息并在消息启动后立即关闭。查看票证列表是禁用的,因为它是对话功能的一部分。

看到显示RequestListActivity建设者

出示现有机票

使用withRequestId ()方法RequestActivity构建器。例子:

             
RequestActivity构建器withRequestId“123”显示MyActivity

如果在Zendesk Support管理页面中禁用了对话,亚博RequestActivity记录消息并在消息启动后立即关闭。打开现有票据是不允许的,因为它是对话功能的一部分。

看到withRequestIdRequestActivity建设者

检查机票更新

RequestListActivity在票证旁边显示一个项目符号,提醒用户票证已更新。但是,如果你不使用RequestListActivity或者,如果用户不经常检查他们的票务列表,用户将不会意识到更新。

如果使用JWT身份验证,则从其他通道提交的用户票据将显示在其票据列表中。当用户第一次查看票据列表时,它们显示为未读,因为已读/未读状态存储在设备上。查看每个票据将其重置为已读状态,之后的任何新更新都会导致票据再次显示为未读状态。

请注意:当他们的票证更新时,已识别的用户会收到来自Zendesk Support的电子邮件通知。亚博

您可以使用API提供程序来检查是否有任何用户的票据已更新,然后根据响应向用户发出警报。的RequestProvider有一个getUpdatesForDevice ()方法,该方法检查票证更新。如果发现了,你可以在应用的其他地方提醒用户,也许可以使用RequestActivity出示每张票

例子:

             
最后RequestProviderrequestProvider=支持实例提供者requestProviderrequestProvidergetUpdatesForDevice亚博ZendeskCallback<RequestUpdates>@覆盖公共无效调用onSuccessRequestUpdates RequestUpdates如果requestUpdateshasUpdatedRequests<字符串>updatedRequestIds=requestUpdatesgetRequestUpdates键盘字符串idupdatedRequestIds日志dLOG_TAG字符串格式"请求%s有%d个更新"idrequestUpdatesgetRequestUpdates得到id}}}@覆盖公共无效onErrorErrorResponse ErrorResponse//处理错误}}

方法缓存requestUpdates最多一个小时。在该时间范围内的任何后续API调用都会返回缓存的对象,而不是进行API调用。

查看票据将其从缓存中删除RequestUpdates对象。当票据的注释加载时发生该事件RequestActivity

如果你实现了一个自定义UI,你可以通过调用以下方法来标记一个票据,其中包含票据的ID和已读取的评论数量(通常是评论总数):

             
支持实例提供者requestProvidermarkRequestAsRead“123”4

如果你已经集成了请求更新的推送通知,但已经实现了自定义请求UI,并且没有使用Support.INSTANCE.refreshRequest (),当收到推送更新时,您可以将票据标记为未读:

             
支持实例提供者requestProvidermarkRequestAsUnread“123”