设置标识(必选)

要访问您组织的帮助中心或提交票据,应用程序的用户必须具有身份,以便验证为Zendesk Support用户。亚博您可以为用户设置两种类型的身份:

要确定哪个选项最适合您的组织,请参见身份验证的决定在SDK集成检查表。

在Zendes亚博k Support端,管理员必须在管理界面中启用所选选项。如果您是Zendesk 亚博Support管理员,请参见在Zendesk Support中注册应用程序亚博在支持帮助中心。

注意:Zend亚博esk Support SDK仅针对最终用户。使用代理电子邮件地址进行身份验证将导致403身份验证错误。在测试集成时,请注意这一点。

设置匿名身份

如果您不知道或不需要知道最终用户的详细信息,请使用此选项。详细信息请参见身份验证的决定在SDK集成检查表。看到匿名身份在移动sdk中是如何工作的有关匿名标识生命周期的详细信息。

设置匿名标识

             
身份身份AnonymousIdentity亚博实例setIdentity身份

向匿名标识添加标识信息

即使身份是匿名的,您也可以将最终用户的姓名和电子邮件地址添加到身份中。若要确定是否添加此信息,请参见用户识别决策在SDK集成检查表。

如果您决定添加该信息,请注意以下事项:

  • 在匿名身份中包含电子邮件地址可确保任何新票据都链接到Zendesk Support中使用该电子邮件地址的用户配置文件。亚博
  • 最终用户只能看到他们在使用Support SDK的移动设备上创建的票据。这是因为匿名身份是不可信的。
  • 使用匿名身份创建的票据会被标记并警告代理,以便他们知道最终用户在创建票据时没有登录。

请注意:如果您需要遵守联邦贸易委员会的《儿童在线隐私保护法》(),可考虑不提供任何辨识性资料。

添加识别信息

  • 定义标识如下:
             
身份身份AnonymousIdentity构建器withNameIdentifier“约翰鲍勃。”withEmailIdentifier(电子邮件保护)构建

设置唯一标识

如果只希望受信任的用户访问组织的帮助中心或提交票据,则应用程序必须为SDK提供用户的唯一标识。亚博Zendesk必须能够使用该标识向您的组织验证该用户是已知和可信的。您的组织必须向Zendesk提供专用的JWT端点来验证标识。亚博

在从你的应用程序中获得唯一标识符后,Zendesk会将其发送到你的专用JWT端点。亚博亚博Zendesk将期望一个包含JWT令牌的响应,以确认用户是已知和可信的。令牌必须包括的名字而且电子邮件属性。

下面是JWT身份验证流程(扩大):

看到为Support SDK构建专用的JWT端点在开发帮助中心。

需求

在SDK中设置该类型的标识,需要满足以下条件:

  • 您的组织为Support SDK构建并维护了一个专用的JWT端点。看到为Support SDK构建专用的JWT端点在开发帮助中心。

  • 您的组织拥有用户数据库和JWT端点查询该数据库的方法。亚博Zendesk将从您的应用程序向JWT端点发送唯一标识符,并等待系统查找该用户并发送响应,表明该用户是已知且可信的。

  • 您的移动应用程序可以访问用于在数据库中查找用户的唯一标识符。标识符可以是您想在查询中使用的任何标识符。

唯一标识符的一个很好的例子是用户登录后应用程序拥有的用户访问令牌。我们不建议使用一些可预测的东西,如电子邮件地址或用户id。

设置唯一标识

  • 在初始化代码之前添加如下语句:
             
身份身份JwtIdentity“unique_id”亚博实例setIdentity身份

“unique_id”对于每个应用程序用户都是不同的。

看到添加初始化代码

何时设置标识

之后必须设置标识亚博Zendesk.INSTANCE.init但在任何与Zendesk后端交互的操作之前(例如显示亚博帮助中心票务,或使用其中之一API提供者)。

你可以在之前或之后设置它Support.INSTANCE.init 亚博(Zendesk.INSTANCE),但是尝试使用Support SDK而不设置标识将导致所有网络请求失败。

根据您的用例,您可能希望在应用程序首次启动时使用空标识初始化SDK,然后在了解更多用户信息后设置不同的标识。
在这种情况下,重要的是要确保不要在你的下一个应用程序启动时重新设置空身份,因为这将覆盖你的用户身份,删除门票和任何其他存储的信息。
最好的做法是跟踪你在Zendesk上设置的身份,并确保不要覆盖它,除非用户不同(例如,如果你的应用程序支持登录/退出不同的帐户)亚博。

改变身份

您可以随时通过电话更改身份亚博Zendesk.INSTANCE.setIdentity同样使用不同的标识对象。使用相同的标识多次调用该方法将没有效果。

如果使用匿名身份,在更改身份时需要考虑一些重要的注意事项:

  • 更改标识将导致从Support SDK存储中删除所有数据。任何打开的门票都将丢失,并且永远不能通过SDK再次访问,即使您稍后再次设置相同的身份。

  • 对匿名身份详细信息的任何更改都将被视为身份更改,而不是更新当前身份。

考虑这样一个场景,您最初只使用用户名创建标识:

             
身份身份AnonymousIdentity构建器withNameIdentifier“约翰鲍勃。”构建

稍后在找到用户的电子邮件地址后,使用更新的详细信息设置身份

             
身份身份AnonymousIdentity构建器withNameIdentifier“约翰鲍勃。”withEmailIdentifier(电子邮件保护)构建

SDK将其视为一个全新的用户,并删除所有存储的数据(例如票据id,不能再次检索)。