这是我参与 8 月更文挑战的第 10 天,活动详情查看: 8月更文挑战
背景
由于项目要集成一套工单系统, 并且项目是在海外市场, 出于种种原因,国内的一些厂商的工单系统都不能使用,所以就选择了zendesk
准备
首先在网站中进行注册账号
注册成功后, 在网站的设置页中创建项目
在出现的页面中输入应用名称
在身份验证方法中选择一个验证方法,如果对身份没有什么要求可以选择匿名,如果对身份有严格的要求就需要选择JWT
, 就需要后台进行支持
集成
PS : Zendesk SDK最低支持
API level 21
运行Zendesk SDK Java的运行环境为8
- 设置Java版本
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
复制代码
- 设置所需权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
复制代码
- 在项目根目录添加Zendesk Maven 存储库
repositories {
maven {
url "https://zendesk.jfrog.io/artifactory/repo"
}
}
复制代码
- 添加依赖
implementation (group: 'com.zendesk', name: 'support', version: '5.0.2'){
exclude group: 'com.squareup'
}
复制代码
使用
private static final String SUBDOMAIN_URL = "Your Zendesk URL";
private static final String APPLICATION_ID = "Your App ID";
private static final String OAUTH_CLIENT_ID = "Your Client ID";
复制代码
- 在
Application
或者需要调用zendesk
时提前初始化SDK
Zendesk.INSTANCE.init(this, SUBDOMAIN_URL, APPLICATION_ID, OAUTH_CLIENT_ID);
复制代码
- 在启动
Zendesk
前需要提前设置身份
Zendesk.INSTANCE.setIdentity(
new AnonymousIdentity.Builder()
.withNameIdentifier("Your Name")
.withEmailIdentifier("Your Email")
.build()
);
复制代码
- 初始化
Support
Support.INSTANCE.init(Zendesk.INSTANCE);
复制代码
- 如果想直接跳转到工单系统
RequestActivity.builder().withRequestSubject("添加标题").withTags("添加Tag").show(this);
复制代码
- 如果需要查看工单列表, 然后从工单列表跳转到工单系统
Configuration requestActivityConfig = RequestActivity.builder()
.withTags("MyVitalsPro_v" + BuildConfig.VERSION_NAME, AppInfoUtils.PHONE_NAME + "_" + AppInfoUtils.RELEASE_VERSION)
.config();
RequestListActivity.builder()
.show(requireContext(), requestActivityConfig);
复制代码
PS: 这里Android有个坑, 就是在如果是没有工单的情况下, 那个创建工单的文字显示不出来,需要根据SDK的规则重新修改
zs_activity_request_list_scene_empty
这个layout
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END