全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网

Android SDK手册

更新时间:2017-09-06 19:00:03

Part1 SDK下载

进入MHub控制台下载SDK:https://mhub.console.aliyun.com/#/download

如果使用Maven库方式不需要下载,方法见2.1中Maven库快速集成(远程同步)

Part2 准备工作

2.1 Android Studio开发(推荐方式)

1、手动集成

复制下载SDK文件夹下的.aar和.jar到libs目录下,在build.gradle文件中添加如下配置:添加本地libs地址,以便可以找到放置在libs中的aar文件:

  1. repositories {
  2. flatDir {
  3. dirs 'libs'
  4. }
  5. }

添加本地依赖:

  1. dependencies {
  2. compile(name: 'alicloud-android-feedback-3.0.0', ext: 'aar')
  3. compile files('libs/alicloud-android-monitor-2.5.1.1_for_bc_proguard.jar')
  4. compile files('libs/utdid4all-1.1.5.3_proguard.jar')
  5. compile files('libs/alicloud-android-utils-1.0.3.jar')
  6. //自行依赖support-v4
  7. }

ps: 别忘记添加support-v4的依赖。

如果遇到 UTDID 冲突可参考:《阿里云-移动云产品SDK UTDID冲突解决方案》

2、Maven库快速集成(远程同步)

在Project根目录下build.gradle文件中配置maven库URL:

  1. allprojects {
  2. repositories {
  3. jcenter()
  4. maven {
  5. url 'http://maven.aliyun.com/nexus/content/repositories/releases/'
  6. }
  7. }
  8. }

在对应的module下的build.gradle文件中添加对应依赖

  1. dependencies {
  2. ......
  3. compile 'com.aliyun.ams:alicloud-android-feedback:3.1.0@aar'
  4. compile 'com.aliyun.ams:alicloud-android-utdid:1.1.5.3'
  5. compile 'com.aliyun.ams:alicloud-android-ut:5.1.0'
  6. compile 'com.aliyun.ams:alicloud-android-utils:1.0.3'
  7. ......
  8. }

2.1 Eclipse开发

解压前面下载的SDK, 可以发现三个jar和一个aar, 分别做如下处理:jar包的处理

  1. jar包直接复制到项目的libs目录下
  2. 自行添加support-v4.jar到libs目录下

alicloud-android-feedback-XXX.aar的迁移

  1. 解压alicloud-android-feedback-XXX.aar到本地
  2. 解压得到的目录里创建一个libs文件夹,然后将classes.jar重命名为任何你想要的jar名称(比如:alisdk-feedback.jar), 然后复制到libs目录下
  3. 复制AndroidManifest.xml文件中所有的权限声明以及所有的组件(Activity, Service, Receiver)声明到项目中的AndroidManifest.xml文件中
  4. 解压得到的目录里创建project.properties文件,添加android.library=true, 表示作为库项目使用
  5. 删除aapt和jni文件夹以及R.txt文件
  6. 一个Eclipse Library项目已经构建完成了,接下来只需打开Eclipse导入项目并在你的项目中配置引用这个项目即可

PS: 如果接入方接入了阿里系的其它sdk从而导致包冲突,, 则去掉冲突的依赖或者jar包即可

2.2 权限

  • 需要相册、相机和录音的权限
  • android 6.0需要开发者自己的方式实现权限获取,更低版本的使用声明即可

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

2.3 混淆配置

应用进行混淆打包时,应加入如下混淆配置:

  1. -keep class com.taobao.** {*;}
  2. -keep class com.alibaba.** {*;}
  3. -dontwarn com.taobao.**
  4. -dontwarn com.alibaba.**
  5. -keep class com.ut.** {*;}
  6. -dontwarn com.ut.**
  7. -keep class com.ta.** {*;}
  8. -dontwarn com.ta.**

Part3 开始使用

3.1 反馈组件初始化

  1. FeedbackAPI.init(application, appkey,appSecret);

参数说明:

  • application: Application对象
  • appkey: 阿里云上应用的唯一标识, 阿里云控制台可查询到
  • appSecret: 阿里云上应用的appSecret, 阿里云控制台可查询到

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

3.2 打开用户反馈界面

另起一个Activity打开用户反馈H5界面:

  1. FeedbackAPI.openFeedbackActivity();

如果需要调用结果(例如显示加载中):

  1. FeedbackAPI.openFeedbackActivity(final Callable success, final Callable fail)

如果希望使用Fragment方式打开:

  1. FragmentManager fm = getSupportFragmentManager();
  2. final FragmentTransaction transaction = fm.beginTransaction();
  3. final Fragment feedback = FeedbackAPI.getFeedbackFragment();
  4. // must be called
  5. FeedbackAPI.setFeedbackFragment(new Callable() {
  6. @Override
  7. public Object call() throws Exception {
  8. transaction.replace(R.id.content, feedback);
  9. transaction.commit();
  10. return null;
  11. }
  12. }/*success callback*/, null/*fail callback*/);

PS:fragment的使用务必使用上述setFeedbackFragment的回调在xml中声明fragment那种方式暂时不支持包装fragment的activity务必调用FeedbackAPI.cleanFeedbackFragment();此时的Fragment是support-v4包中的Fragment

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

3.3 获取反馈未读数

  1. FeedbackAPI.getFeedbackUnreadCount(IUnreadCountCallback callback)

参数callback: onSuccess(int count)回调方法count指示当前未读消息数

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

3.4 设置标题栏中“历史反馈”的字号

FeedbackAPI.setHistoryTextSize(20);单位为sp注:3.1.0版本中需要将控制台中“历史反馈”字号设置为0,此方法才会生效。

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

3.5 设置返回按钮的图片

FeedbackAPI.setBackIcon(R.drawable.back);

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

3.6 沉浸式任务栏

默认使用沉浸式任务栏,如需要关闭可以使用FeedbackAPI.setTranslucent(false);注:3.1.0版本中需要将控制台中沉浸式任务栏设置为true,此方法才会生效。

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

3.7 设置默认联系方式

FeedbackAPI.setDefaultUserContactInfo(“13800000000”);

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

3.8 语音反馈

需要使用3.1.0以上的版本的sdk,并且在控制台-系统配置/Mobile客户端配置/全局配置中将“是否开启语音”打开。

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

Part4 Demo

Demo地址: https://github.com/aptentity/alicloud-android-demo.git

注意: demo工程中, FeedbackAPI.init被调用了多次, 这是为了能够达到实时更新配置的效果, 实际使用上建议只在Application中, 调用FeedbackAPI.init方法一次即可

本文导读目录