这个动手教程向您展示了如何在30分钟内构建一个功能正常的Android应用程序,让用户直接从移动应用程序访问您的帮助中心。该应用程序还允许用户在Zendesk支持中向您的代理提交支持请求。亚博

本教程使用Android的Support SDK,这是一个共享的代码库,可以让您轻松地合并不同的亚博Zendesk客户支持功能在Android应用程序中。亚博Zendesk在移动应用程序中提供客户服务有其他选择:

  • 您可以使用Chat SDK让用户与支持代理进行聊天。想知道怎么做,请看快速开始-聊天SDK为Android

  • 您可以使用统一SDK将问答机器人与支持结合起来创建一个统一消息体验。但是,由于Answer Bot只能作为Zendesk Suite Professional计划或更高版本的附加组件使用,因此本教程中不使亚博用统一SDK。

您需要Android Studio来构建本教程中的小型Android应用程序。你可以从Android开发者网站

您还需要一个Zendesk支持帐户或试亚博用帐户。你可以申请一个赞助的测试帐户它不像试用账户那样在14天后过期。

确保在您的Zendesk支持帐户中启用了帮助中心。亚博看到入门指南在Zendes亚博k支持帮助中心。

虽然这个快速入门指南提供了构建一个简单应用程序的逐步指导,但它不是Android应用程序教程。如果您是Android开发新手,我强烈建议您学习创建你的第一款应用在Android网站上。

该指南将引导您完成以下基本步骤,将Zendesk客户支持功能添加到Android应用程序中:亚博

  1. 创建样例项目
  2. 将支持SDK添加到项目中
  3. 初始化支持SDK
  4. 创建一个按钮来启动帮助中心
  5. 为帮助按钮添加事件侦听器
  6. 测试集成
  7. 下一个步骤

本教程使用支持SDK的5.1.1版本。它使用Android Studio 2021.3.1 (Dolphin)进行测试。

免责声明:亚博Zendesk提供本文仅用于指导目的。亚博Zendesk不支持Java、Android、Android Studio等第三方技术。有任何问题请在亚博Zendesk sdk社区,或在网上搜索解决方案。

创建样例项目

本节向您展示如何在Android Studio中创建一个快速示例项目。您将使用该项目来试用Support SDK。

  1. 在Android Studio中,选择文件>>新项目

    如果您在欢迎窗口上,请单击下一个并按照说明设置安装类型和UI主题(浅色或深色)。

  2. 新项目屏幕,确保手机和平板电脑选中页签后,单击空的活动,并按下一个

  3. 为项目设置以下选项:

    • 名字——输入我的示例应用程序或者类似的东西
    • 包名-(必选)输入类似的内容com.sample.mysampleapp
    • 保存的位置-(必选)选择要保存项目的位置
    • 语言——Java
    • 最低SDKAPI 21: Android 5.0 (Lollipop)
    • 使用旧的android。支持库-不加检查
  4. 点击完成

Android Studio为你的项目创建所有的文件和基本设置。您可以在屏幕左侧的Project navigator中查看这些文件。如果没有看到文件,请单击面板上方的第一个图标(文件夹图标)。

将支持SDK添加到项目中

  1. 在左侧栏的项目文件中,找到Gradle脚本>build.gradle(Module: app),然后双击该文件,在编辑器中打开它。在我的例子中,文件是build.gradle(Module: My_Sample_App.app)

    请注意确保不要打开第一个gradle文件,在我的例子中是build.gradle(Project: My_Sample_App)

  2. 之前依赖关系节中,添加以下内容存储库部分:

                   
    存储库{maven{url“https://亚博zendesk.jfrog.io/zendesk/repo”}}
  3. 依赖关系部分,插入以下行(突出显示):

                   
    依赖关系{实现集团“com.亚博zendesk”名字“支持”版本5.1.1的}

    build.gradle文件部分如下所示:

                   
    存储库{maven{url“https://亚博zendesk.jfrog.io/zendesk/repo”}}依赖关系{实现集团“com.亚博zendesk”名字“支持”版本5.1.1的}
  4. 保存文件,然后通过选择将Support SDK集成到项目中文件>同步项目与Gradle文件

如果您看到以下错误,则需要更新您的settings.gradle文件如下。

             
构建是否配置为优先选择设置存储库而不是项目储存库但是储存库“专家”是由构建添加的文件“app / build.gradle”
  1. 在左侧栏的项目文件中,找到Gradle脚本>settings.gradle,然后双击该文件,在编辑器中打开它。

  2. 取代repositoriesMode.set (RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositoriesMode.set (RepositoriesMode.PREFER_SETTINGS)

  3. 存储库部分,插入以下行(突出显示):

                   
    存储库{maven{url“https://亚博zendesk.jfrog.io/zendesk/repo”}}

    settings.gradle文件部分如下所示:

                   
    dependencyResolutionManagement{repositoriesModeRepositoriesModePREFER_SETTINGS存储库{maven{url“https://亚博zendesk.jfrog.io/zendesk/repo”}谷歌mavenCentral}}
  4. 保存文件,然后通过选择将Support SDK集成到项目中文件>同步项目与Gradle文件

    你可以忽略弃用的Gradle警告。

运行测试构建

在进一步操作之前,请确保成功地将Support SDK添加到项目中。一种方法是在手机模拟器中运行测试构建。这个应用程序还没有做很多事情,但是如果您没有得到任何构建错误,那么您就知道您在正确的道路上。您可能会得到一些构建警告,但现在可以忽略它们。

你可以使用Android Studio中包含的模拟器。首先,您需要为模拟器创建一个Android虚拟设备(AVD)定义。您的AVD定义将指定Android手机的特征。在本例中,您将定义一个Pixel手机。

  1. 单击设备管理器工具栏上的图标(或选择工具>设备管理器)。

  2. 在“Virtual Devices”界面,单击创建设备

  3. 在“选择硬件”界面,选择最新的常规尺寸Pixel手机,然后单击下一个

  4. 在“System Image”屏幕中,单击下载最新推荐的系统映像(在撰写本文时具有x86-64 ABI的Android API 32)旁边的链接。

  5. 下载完成后,从列表中选择系统镜像,单击下一个

  6. 在下一个屏幕上,将AVD名称更改为类似“Pixel phone”的内容,其余选项保持默认值,然后单击完成

  7. 在“设备管理器”屏幕中,单击右侧指向右的三角形,在模拟器中启动该手机:

    要有耐心。第一次开始可能需要一段时间才能开始。

  8. 启动并运行模拟器后,返回到Project窗口,单击运行工具栏上的图标(绿色三角形)(或选择运行>运行“软件”),然后选择Pixel手机。

    最终,你的示例应用程序应该在Pixel手机模拟器中打开:

如果没有得到任何构建错误,就认为测试成功。

初始化支持SDK

在用户可以在他们的设备上使用Zendesk客户支亚博持特性之前,应用程序必须创建并准备一个支持框架的实例。初始化过程包括设置初始值和执行其他设置任务。

在本节中,您将更新样例应用程序以初始化Support SDK依赖项并使其可供使用。该任务包括以下步骤:

  1. 从您的Zendesk支持帐户获取初始化代码亚博
  2. 将初始化代码添加到应用程序中
  3. 添加用户标识

从您的Zendesk支持帐户获取初始化代码亚博

您可以从Zendesk Support管理界面获得初始化代码。亚博代码是在Zendesk支持管理员在Zendesk支持中注册移亚博动应用程序时生成的。

您需要以Zendesk Support管理员的身份登录,亚博或者请管理员为您完成以下步骤。

  1. 管理中心,点击渠道图标(),然后选择经典>移动SDK

    如果还没有这样做,请选中订阅和许可协议复选框,然后单击开始

  2. 点击添加应用程序

  3. 设置选项卡,为您的应用程序输入名称。

    该名称仅供您参考,不会显示给您的用户。

  4. 复制并保存Android代码片段。

    初始化代码是你的应用程序和Zendesk支持的实例所特有的。亚博现在将代码保存在一个文本文件中。

  5. 身份验证方法中,选择匿名

    当应用程序访问Zendesk Support时,它需要能够以亚博用户身份进行身份验证。您可以使用匿名访问或JWT身份验证。为简单起见,我们将对示例应用程序使用匿名访问。

  6. 点击保存

将初始化代码添加到应用程序中

Android应用程序是事件驱动的,所以你需要在事件处理程序中初始化SDK。默认情况下,应用程序附带一个onCreate(包)的实例时运行的事件处理程序MainActivity创建子类。您可以将自己的代码添加到此事件处理程序中。

  1. 确保MainActivity.java文件在Android Studio编辑器中打开。默认情况下,它应该在编辑器选项卡中打开。如果没有,您将在应用程序/ java / com.sample.mysampleapp在左侧的Project面板中。

  2. 将您先前从Zendesk Support复制的初始化代码添加到亚博onCreate(包)事件处理程序。更新后的处理程序应该如下所示,其中包含初始化代码(高亮显示):

                   
    受保护的无效onCreate包savedInstanceState{超级onCreatesavedInstanceStatesetContentViewR布局activity_main亚博实例初始化上下文“https://omniwear.亚博zendesk.com”“23705744 c16d8e0698b45920f18aa26e43d7”“mobile_sdk_client_b7fd695c0e9a6056”支持实例初始化亚博实例}

    亚博支持,上下文应变为红色,表示未定义符号。接下来你会解决这个问题。

  3. 取代上下文用绳子(无引用)。

  4. 要修复亚博支持错误时,单击红色文本中的任何地方,然后按选项+输入(Mac)或Alt+输入(Windows)启动项目快速修复功能。选择进口类如果提示。Android Studio会自动将缺少的import语句添加到文件的顶部:

                   
    进口亚博核心亚博进口亚博支持支持

    文本颜色应恢复正常。

    如果愿意,您可以手动插入上面的import语句。

  5. 运行构建以确保没有得到任何错误消息。

添加用户标识

当应用程序访问Zendesk Support时,它需要能够以亚博用户身份进行身份验证。您可以使用匿名访问或JWT身份验证。为简单起见,您选择了匿名访问在Zendesk支持中注册应用程序亚博以上。

  1. 控件后添加以下代码(高亮显示)亚博Zendesk.INSTANCE.init(…)语句,但在Support.INSTANCE.INIT(…)声明:

                   
    身份身份AnonymousIdentity亚博实例setIdentity身份支持实例初始化亚博实例

    代码的某些部分应该再次变为红色,表示符号未定义。项目快速修复可以为您定义这些,如下所示。

  2. 要修复红色字符串所指示的错误,请单击红色字符串中的任何位置,按选项+输入(Mac)或Alt+输入(Windows),然后选择进口类如果提示。重复每个红色字符串,直到文本颜色恢复正常。

    项目快速修复应该添加以下两个import语句:

                   
    进口亚博核心AnonymousIdentity进口亚博核心身份

    完成的onCreate(包)Handler应该如下所示:

                   
    受保护的无效onCreate包savedInstanceState{超级onCreatesavedInstanceStatesetContentViewR布局activity_main亚博实例初始化“https://omniwear.亚博zendesk.com”“23705744 c16d8e0698b45920f18aa26e43d7”“mobile_sdk_client_b7fd695c0e9a6056”身份身份AnonymousIdentity亚博实例setIdentity身份支持实例初始化亚博实例}

    你还应该在文件的顶部有四个新的import语句:

                   
    进口亚博核心AnonymousIdentity进口亚博核心身份进口亚博核心亚博进口亚博支持支持
  3. 保存然后运行构建以确保没有得到任何错误消息。

如果一切顺利,就可以开始向应用程序添加支持特性。

创建一个按钮来启动帮助中心

Support SDK中的帮助中心功能被设计为响应事件(如点击按钮)而打开。

你的默认示例项目包含一个ConstraintLayout,其中包含一个显示“Hello World!”的TextView。中定义了应用程序的布局activity_main.xmlres/layout文件夹中的文件:

如果显示“设计”视图,请单击代码按钮,位于编辑器窗口的右上角。

您将把布局更改为包含单个帮助按钮的垂直LinearLayout。

  1. 在Project窗口中,确保activity_main.xml文件在编辑器中打开。如果没有,您将在res /布局文件夹中的项目面板。

  2. 将文件的所有内容替换为以下布局代码:

                   
    < ?XML版本="1.0"编码="utf-8"?><LinearLayoutxmlns:安卓http://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:重力中心android:取向垂直><按钮android:id@ + id / help_buttonandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:文本@string / help_button/>LinearLayout>

    注意,按钮文本是对字符串资源的引用:“@string / help_button”。您将在下一步添加字符串资源。

  3. 打开strings.xml存档于res /价值/文件夹并添加以下内容<字符串>子标记添加到<亚博电脑端资源>标签:

                   
    <亚博电脑端><字符串名字help_button>帮助字符串>亚博电脑端>
  4. 保存文件,然后运行构建以确保没有得到任何错误消息。

    应用程序应该显示一个垂直居中的帮助按钮:

为帮助按钮添加事件侦听器

你希望你的应用程序在用户点击帮助按钮时打开帮助中心。为此,您需要一个事件侦听器来检测单击事件,然后打开Help Center。

  1. 切换到MainActivity.java文件在Android Studio编辑器。

  2. onCreate(包)在SDK初始化语句之后,声明一个本地Button变量并将布局按钮分配给它(突出显示):

                   
    受保护的无效onCreate包savedInstanceState{超级onCreatesavedInstanceStatesetContentViewR布局activity_main// SDK初始化和标识按钮helpCenterButton按钮findViewByIdRidhelp_button}

    R.id.help_buttonId由行定义android: id =“@ + id / help_button”activity_main.xml布局文件。的“@ + id /”表达式创建id。

    注意,在将View赋值给Button类型的变量之前,必须将其强制转换为Button。

  3. 按钮字符串可能是红色的,所以点击它的任何地方并按下选项+输入(Mac)或Alt+输入(Windows)。Android Studio应该在你的文件中添加以下import语句:

                   
    进口安卓小部件按钮
  4. 在变量赋值之后添加以下点击事件监听器(高亮显示):

                   
    按钮helpCenterButton按钮findViewByIdRidhelp_buttonhelpCenterButtonsetOnClickListener视图OnClickListener{@覆盖公共无效onClick视图v{//显示帮助中心}}

    的字符串视图View.OnClickListener ()应变为红色,表示未定义的符号。单击红色文本中的任何地方,按选项+输入(Mac)或Alt+输入(Windows),然后选择进口类如果提示。Android Studio应该在你的文件中添加以下import语句:

                   
    进口安卓视图视图
  5. 中的“show Help Center”注释替换为onClick(视图)方法,使用以下语句:

                   
    HelpCenterActivity构建器显示MainActivity

    确保MainActivity显示()Method是你所处的活动类的名称(在我的例子中,类MainActivity…)。

    HelpCenterActivity文本应该变成红色。点击其中的任何地方,按选项+输入(Mac)或Alt+输入(Windows),然后选择进口类如果提示。Android Studio应该在你的文件中添加以下import语句:

                   
    进口亚博支持指南HelpCenterActivity

就是这样。完成的MainActivity子类应该如下所示:

             
公共MainActivity扩展活动{@覆盖受保护的无效onCreate包savedInstanceState{超级onCreatesavedInstanceStatesetContentViewR布局activity_main亚博实例初始化“https://omniwear.亚博zendesk.com”“23705744 c16d8e0698b45920f18aa26e43d7”“mobile_sdk_client_b7fd695c0e9a6056”身份身份AnonymousIdentity亚博实例setIdentity身份支持实例初始化亚博实例按钮helpCenterButton按钮findViewByIdRidhelp_buttonhelpCenterButtonsetOnClickListener视图OnClickListener{@覆盖公共无效onClick视图v{HelpCenterActivity构建器显示MainActivity}}}}

在文件的顶部应该有以下的import语句:

             
com样本mysampleapp进口androidxappcompat应用程序AppCompatActivity进口安卓操作系统进口安卓视图视图进口安卓小部件按钮进口亚博核心AnonymousIdentity进口亚博核心身份进口亚博核心亚博进口亚博支持支持进口亚博支持指南HelpCenterActivity

测试集成

在模拟器中构建和测试应用程序。点击帮助按钮后,你的帮助中心应该会在应用程序中打开,让你浏览和搜索内容。

请注意:如果看不到帮助中心,请从模拟器中删除应用程序并重新运行构建。

帮助中心还允许用户提交支持请求(票据)并查看他们打开的请求。点击右下角的语音气泡来尝试一下。

下一个步骤

此时,您应该有一个可以运行的Android应用程序,它可以让用户打开帮助中心并浏览内容。使用这个示例应用程序对框架的其余部分进行试验。

例如,可以通过指定部分或类别id列表来限制显示的文章数量。还可以通过提供标签列表来确定内容的范围。看到开发人员文档去学习如何。

将项目放在git下,并创建分支来尝试不同的东西。如果出现严重错误,你总是可以重置。