快速入门-支持Android SDK
这个动手教程向您展示了如何在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应用程序中:亚博
本教程使用支持SDK的5.1.1版本。它使用Android Studio 2021.3.1 (Dolphin)进行测试。
免责声明:亚博Zendesk提供本文仅用于指导目的。亚博Zendesk不支持Java、Android、Android Studio等第三方技术。有任何问题请在亚博Zendesk sdk社区,或在网上搜索解决方案。
创建样例项目
本节向您展示如何在Android Studio中创建一个快速示例项目。您将使用该项目来试用Support SDK。
在Android Studio中,选择文件>新>新项目。
如果您在欢迎窗口上,请单击下一个并按照说明设置安装类型和UI主题(浅色或深色)。
在新项目屏幕,确保手机和平板电脑选中页签后,单击空的活动,并按下一个。
为项目设置以下选项:
- 名字——输入我的示例应用程序或者类似的东西
- 包名-(必选)输入类似的内容com.sample.mysampleapp
- 保存的位置-(必选)选择要保存项目的位置
- 语言——Java
- 最低SDKAPI 21: Android 5.0 (Lollipop)
- 使用旧的android。支持库-不加检查
点击完成。
Android Studio为你的项目创建所有的文件和基本设置。您可以在屏幕左侧的Project navigator中查看这些文件。如果没有看到文件,请单击面板上方的第一个图标(文件夹图标)。
将支持SDK添加到项目中
在左侧栏的项目文件中,找到Gradle脚本>build.gradle(Module: app),然后双击该文件,在编辑器中打开它。在我的例子中,文件是build.gradle(Module: My_Sample_App.app)。
请注意确保不要打开第一个gradle文件,在我的例子中是build.gradle(Project: My_Sample_App)。
之前
依赖关系
节中,添加以下内容存储库
部分:存储库{
maven{url“https://亚博zendesk.jfrog.io/zendesk/repo”}
}
在
依赖关系
部分,插入以下行(突出显示):依赖关系{
实现集团:“com.亚博zendesk”,名字:“支持”,版本:5.1.1的
…
}
的build.gradle文件部分如下所示:
存储库{
maven{url“https://亚博zendesk.jfrog.io/zendesk/repo”}
}
依赖关系{
实现集团:“com.亚博zendesk”,名字:“支持”,版本:5.1.1的
…
}
保存文件,然后通过选择将Support SDK集成到项目中文件>同步项目与Gradle文件。
如果您看到以下错误,则需要更新您的settings.gradle文件如下。
构建是否配置为优先选择设置存储库而不是项目
储存库但是储存库“专家”是由构建添加的
文件“app / build.gradle”。
在左侧栏的项目文件中,找到Gradle脚本>settings.gradle,然后双击该文件,在编辑器中打开它。
取代
repositoriesMode.set (RepositoriesMode.FAIL_ON_PROJECT_REPOS)
与repositoriesMode.set (RepositoriesMode.PREFER_SETTINGS)
。在
存储库
部分,插入以下行(突出显示):存储库{
maven{url“https://亚博zendesk.jfrog.io/zendesk/repo”}
…
}
的settings.gradle文件部分如下所示:
dependencyResolutionManagement{
repositoriesMode。集(RepositoriesMode。PREFER_SETTINGS)
存储库{
maven{url“https://亚博zendesk.jfrog.io/zendesk/repo”}
谷歌()
mavenCentral()
}
}
保存文件,然后通过选择将Support SDK集成到项目中文件>同步项目与Gradle文件。
你可以忽略弃用的Gradle警告。
运行测试构建
在进一步操作之前,请确保成功地将Support SDK添加到项目中。一种方法是在手机模拟器中运行测试构建。这个应用程序还没有做很多事情,但是如果您没有得到任何构建错误,那么您就知道您在正确的道路上。您可能会得到一些构建警告,但现在可以忽略它们。
你可以使用Android Studio中包含的模拟器。首先,您需要为模拟器创建一个Android虚拟设备(AVD)定义。您的AVD定义将指定Android手机的特征。在本例中,您将定义一个Pixel手机。
单击设备管理器工具栏上的图标(或选择工具>设备管理器)。
在“Virtual Devices”界面,单击创建设备。
在“选择硬件”界面,选择最新的常规尺寸Pixel手机,然后单击下一个。
在“System Image”屏幕中,单击下载最新推荐的系统映像(在撰写本文时具有x86-64 ABI的Android API 32)旁边的链接。
下载完成后,从列表中选择系统镜像,单击下一个。
在下一个屏幕上,将AVD名称更改为类似“Pixel phone”的内容,其余选项保持默认值,然后单击完成。
在“设备管理器”屏幕中,单击右侧指向右的三角形,在模拟器中启动该手机:
要有耐心。第一次开始可能需要一段时间才能开始。
启动并运行模拟器后,返回到Project窗口,单击运行工具栏上的图标(绿色三角形)(或选择运行>运行“软件”),然后选择Pixel手机。
最终,你的示例应用程序应该在Pixel手机模拟器中打开:
如果没有得到任何构建错误,就认为测试成功。
初始化支持SDK
在用户可以在他们的设备上使用Zendesk客户支亚博持特性之前,应用程序必须创建并准备一个支持框架的实例。初始化过程包括设置初始值和执行其他设置任务。
在本节中,您将更新样例应用程序以初始化Support SDK依赖项并使其可供使用。该任务包括以下步骤:
从您的Zendesk支持帐户获取初始化代码亚博
您可以从Zendesk Support管理界面获得初始化代码。亚博代码是在Zendesk支持管理员在Zendesk支持中注册移亚博动应用程序时生成的。
您需要以Zendesk Support管理员的身份登录,亚博或者请管理员为您完成以下步骤。
在管理中心,点击渠道图标(),然后选择经典>移动SDK。
如果还没有这样做,请选中订阅和许可协议复选框,然后单击开始。
点击添加应用程序。
在设置选项卡,为您的应用程序输入名称。
该名称仅供您参考,不会显示给您的用户。
复制并保存Android代码片段。
初始化代码是你的应用程序和Zendesk支持的实例所特有的。亚博现在将代码保存在一个文本文件中。
为身份验证方法中,选择匿名。
当应用程序访问Zendesk Support时,它需要能够以亚博用户身份进行身份验证。您可以使用匿名访问或JWT身份验证。为简单起见,我们将对示例应用程序使用匿名访问。
点击保存。
将初始化代码添加到应用程序中
Android应用程序是事件驱动的,所以你需要在事件处理程序中初始化SDK。默认情况下,应用程序附带一个onCreate(包)
的实例时运行的事件处理程序MainActivity
创建子类。您可以将自己的代码添加到此事件处理程序中。
确保MainActivity.java文件在Android Studio编辑器中打开。默认情况下,它应该在编辑器选项卡中打开。如果没有,您将在应用程序/ java / com.sample.mysampleapp在左侧的Project面板中。
将您先前从Zendesk Support复制的初始化代码添加到亚博
onCreate(包)
事件处理程序。更新后的处理程序应该如下所示,其中包含初始化代码(高亮显示):受保护的无效onCreate(包savedInstanceState){
超级。onCreate(savedInstanceState);
setContentView(R。布局。activity_main);
亚博。实例。初始化(上下文,“https://omniwear.亚博zendesk.com”,
“23705744 c16d8e0698b45920f18aa26e43d7”,
“mobile_sdk_client_b7fd695c0e9a6056”);
支持。实例。初始化(亚博。实例);
}
亚博
,支持
,上下文
应变为红色,表示未定义符号。接下来你会解决这个问题。取代
上下文
用绳子这
(无引用)。要修复
亚博
和支持
错误时,单击红色文本中的任何地方,然后按选项+输入(Mac)或Alt+输入(Windows)启动项目快速修复功能。选择进口类如果提示。Android Studio会自动将缺少的import语句添加到文件的顶部:…
进口亚博。核心。亚博;
进口亚博。支持。支持;
文本颜色应恢复正常。
如果愿意,您可以手动插入上面的import语句。
运行构建以确保没有得到任何错误消息。
添加用户标识
当应用程序访问Zendesk Support时,它需要能够以亚博用户身份进行身份验证。您可以使用匿名访问或JWT身份验证。为简单起见,您选择了匿名访问在Zendesk支持中注册应用程序亚博以上。
控件后添加以下代码(高亮显示)
亚博Zendesk.INSTANCE.init(…)
语句,但在Support.INSTANCE.INIT(…)
声明:…
身份身份=新AnonymousIdentity();
亚博。实例。setIdentity(身份);
支持。实例。初始化(亚博。实例);
代码的某些部分应该再次变为红色,表示符号未定义。项目快速修复可以为您定义这些,如下所示。
要修复红色字符串所指示的错误,请单击红色字符串中的任何位置,按选项+输入(Mac)或Alt+输入(Windows),然后选择进口类如果提示。重复每个红色字符串,直到文本颜色恢复正常。
项目快速修复应该添加以下两个import语句:
进口亚博。核心。AnonymousIdentity;
进口亚博。核心。身份;
…
完成的
onCreate(包)
Handler应该如下所示:受保护的无效onCreate(包savedInstanceState){
超级。onCreate(savedInstanceState);
setContentView(R。布局。activity_main);
亚博。实例。初始化(这,“https://omniwear.亚博zendesk.com”,
“23705744 c16d8e0698b45920f18aa26e43d7”,
“mobile_sdk_client_b7fd695c0e9a6056”);
身份身份=新AnonymousIdentity();
亚博。实例。setIdentity(身份);
支持。实例。初始化(亚博。实例);
}
你还应该在文件的顶部有四个新的import语句:
进口亚博。核心。AnonymousIdentity;
进口亚博。核心。身份;
进口亚博。核心。亚博;
进口亚博。支持。支持;
保存然后运行构建以确保没有得到任何错误消息。
如果一切顺利,就可以开始向应用程序添加支持特性。
创建一个按钮来启动帮助中心
Support SDK中的帮助中心功能被设计为响应事件(如点击按钮)而打开。
你的默认示例项目包含一个ConstraintLayout,其中包含一个显示“Hello World!”的TextView。中定义了应用程序的布局activity_main.xmlres/layout文件夹中的文件:
如果显示“设计”视图,请单击代码按钮,位于编辑器窗口的右上角。
您将把布局更改为包含单个帮助按钮的垂直LinearLayout。
在Project窗口中,确保activity_main.xml文件在编辑器中打开。如果没有,您将在res /布局文件夹中的项目面板。
将文件的所有内容替换为以下布局代码:
< ?XML版本="1.0"编码="utf-8"?>
<LinearLayoutxmlns:安卓=”http://schemas.android.com/apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:重力=”中心”
android:取向=”垂直”>
<按钮
android:id=”@ + id / help_button”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:文本=”@string / help_button”/>
LinearLayout>
注意,按钮文本是对字符串资源的引用:
“@string / help_button”
。您将在下一步添加字符串资源。打开strings.xml存档于res /价值/文件夹并添加以下内容
<字符串>
子标记添加到<亚博电脑端资源>
标签:<亚博电脑端>
…
<字符串名字=”help_button”>帮助字符串>
亚博电脑端>
保存文件,然后运行构建以确保没有得到任何错误消息。
应用程序应该显示一个垂直居中的帮助按钮:
为帮助按钮添加事件侦听器
你希望你的应用程序在用户点击帮助按钮时打开帮助中心。为此,您需要一个事件侦听器来检测单击事件,然后打开Help Center。
切换到MainActivity.java文件在Android Studio编辑器。
在
onCreate(包)
在SDK初始化语句之后,声明一个本地Button变量并将布局按钮分配给它(突出显示):受保护的无效onCreate(包savedInstanceState){
超级。onCreate(savedInstanceState);
setContentView(R。布局。activity_main);
…// SDK初始化和标识
按钮helpCenterButton=(按钮)findViewById(R。id。help_button);
}
的
R.id.help_button
Id由行定义android: id =“@ + id / help_button”
在activity_main.xml布局文件。的“@ + id /”
表达式创建id。注意,在将View赋值给Button类型的变量之前,必须将其强制转换为Button。
按钮字符串可能是红色的,所以点击它的任何地方并按下选项+输入(Mac)或Alt+输入(Windows)。Android Studio应该在你的文件中添加以下import语句:
进口安卓。小部件。按钮;
在变量赋值之后添加以下点击事件监听器(高亮显示):
…
按钮helpCenterButton=(按钮)findViewById(R。id。help_button);
helpCenterButton。setOnClickListener(新视图。OnClickListener(){
@覆盖
公共无效onClick(视图v){
//显示帮助中心
}
});
的字符串
视图
在View.OnClickListener ()
应变为红色,表示未定义的符号。单击红色文本中的任何地方,按选项+输入(Mac)或Alt+输入(Windows),然后选择进口类如果提示。Android Studio应该在你的文件中添加以下import语句:进口安卓。视图。视图;
中的“show Help Center”注释替换为
onClick(视图)
方法,使用以下语句:HelpCenterActivity。构建器()
。显示(MainActivity。这);
确保MainActivity在
显示()
Method是你所处的活动类的名称(在我的例子中,类MainActivity…
)。的
HelpCenterActivity
文本应该变成红色。点击其中的任何地方,按选项+输入(Mac)或Alt+输入(Windows),然后选择进口类如果提示。Android Studio应该在你的文件中添加以下import语句:进口亚博。支持。指南。HelpCenterActivity;
就是这样。完成的MainActivity
子类应该如下所示:
公共类MainActivity扩展活动{
@覆盖
受保护的无效onCreate(包savedInstanceState){
超级。onCreate(savedInstanceState);
setContentView(R。布局。activity_main);
亚博。实例。初始化(这,“https://omniwear.亚博zendesk.com”,
“23705744 c16d8e0698b45920f18aa26e43d7”,
“mobile_sdk_client_b7fd695c0e9a6056”);
身份身份=新AnonymousIdentity();
亚博。实例。setIdentity(身份);
支持。实例。初始化(亚博。实例);
按钮helpCenterButton=(按钮)findViewById(R。id。help_button);
helpCenterButton。setOnClickListener(新视图。OnClickListener(){
@覆盖
公共无效onClick(视图v){
HelpCenterActivity。构建器()
。显示(MainActivity。这);
}
});
}
}
在文件的顶部应该有以下的import语句:
包com。样本。mysampleapp;
进口androidx。appcompat。应用程序。AppCompatActivity;
进口安卓。操作系统。包;
进口安卓。视图。视图;
进口安卓。小部件。按钮;
进口亚博。核心。AnonymousIdentity;
进口亚博。核心。身份;
进口亚博。核心。亚博;
进口亚博。支持。支持;
进口亚博。支持。指南。HelpCenterActivity;
测试集成
在模拟器中构建和测试应用程序。点击帮助按钮后,你的帮助中心应该会在应用程序中打开,让你浏览和搜索内容。
请注意:如果看不到帮助中心,请从模拟器中删除应用程序并重新运行构建。
帮助中心还允许用户提交支持请求(票据)并查看他们打开的请求。点击右下角的语音气泡来尝试一下。
下一个步骤
此时,您应该有一个可以运行的Android应用程序,它可以让用户打开帮助中心并浏览内容。使用这个示例应用程序对框架的其余部分进行试验。
例如,可以通过指定部分或类别id列表来限制显示的文章数量。还可以通过提供标签列表来确定内容的范围。看到开发人员文档去学习如何。
将项目放在git下,并创建分支来尝试不同的东西。如果出现严重错误,你总是可以重置。