更新时间:2020-06-30 17:24
进入EMAS控制台下载SDK:https://emas.console.aliyun.com/#/sdkDownload
如果使用Maven库方式不需要下载,方法见2.1中Maven库快速集成(远程同步)
复制下载SDK文件夹下的.aar和.jar到libs目录下,在build.gradle文件中添加如下配置:添加本地libs地址,以便可以找到放置在libs中的aar文件:
repositories {
flatDir {
dirs 'libs'
}
}
添加本地依赖:
dependencies {
compile(name: 'alicloud-android-feedback-3.3.1', ext: 'aar')
compile files('libs/alicloud-android-ut-5.4.0.jar')
compile files('libs/utdid4all-1.1.5.3_proguard.jar')
compile files('libs/alicloud-android-utils-1.1.1.jar')
compile files('libs/alicloud-android-beacon-1.0.1.jar')
//自行依赖support-v4
}
ps: 别忘记添加support-v4的依赖。
如果遇到 UTDID 冲突可参考:《阿里云-移动云产品SDK UTDID冲突解决方案》。
在Project根目录下build.gradle文件中配置maven库URL:
allprojects {
repositories {
jcenter()
maven {
url 'http://maven.aliyun.com/nexus/content/repositories/releases/'
}
}
}
在对应的module下的build.gradle文件中添加对应依赖
dependencies {
......
compile 'com.aliyun.ams:alicloud-android-feedback:3.3.1'
compile 'com.aliyun.ams:alicloud-android-utdid:1.1.5.3'
compile 'com.aliyun.ams:alicloud-android-ut:5.4.0'
compile 'com.aliyun.ams:alicloud-android-utils:1.1.3'
......
}
要求sdk版本>=3.1.5,使用统一接入方式后,将使接入及初始化操作更简单,
FeedbackAPI.init(application);
具体请参考:Emas统一接入文档(Android)
解压前面下载的SDK, 可以发现三个jar和一个aar, 分别做如下处理:jar包的处理
alicloud-android-feedback-XXX.aar的迁移
android.library=true
, 表示作为库项目使用PS: 如果接入方接入了阿里系的其它sdk从而导致包冲突,, 则去掉冲突的依赖或者jar包即可
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
应用进行混淆打包时,应加入如下混淆配置:
-keep class com.taobao.** {*;}
-keep class com.alibaba.** {*;}
-dontwarn com.taobao.**
-dontwarn com.alibaba.**
-keep class com.ut.** {*;}
-dontwarn com.ut.**
-keep class com.ta.** {*;}
-dontwarn com.ta.**
FeedbackAPI.init(application, appkey,appSecret);
参数说明:
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
另起一个Activity打开用户反馈H5界面:
FeedbackAPI.openFeedbackActivity();
如果需要调用结果(例如显示加载中):
FeedbackAPI.openFeedbackActivity(final Callable success, final Callable fail)
如果希望使用Fragment方式打开:
FragmentManager fm = getSupportFragmentManager();
final FragmentTransaction transaction = fm.beginTransaction();
final Fragment feedback = FeedbackAPI.getFeedbackFragment();
// must be called
FeedbackAPI.setFeedbackFragment(new Callable() {
@Override
public Object call() throws Exception {
transaction.replace(R.id.content, feedback);
transaction.commit();
return null;
}
}/*success callback*/, null/*fail callback*/);
PS:fragment的使用务必使用上述setFeedbackFragment的回调在xml中声明fragment那种方式暂时不支持包装fragment的activity务必调用FeedbackAPI.cleanFeedbackFragment();此时的Fragment是support-v4包中的Fragment
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
FeedbackAPI.getFeedbackUnreadCount(IUnreadCountCallback callback)
参数callback: onSuccess(int count)回调方法count指示当前未读消息数
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
FeedbackAPI.setHistoryTextSize(20);单位为sp注:3.1.0版本中需要将控制台中“历史反馈”字号设置为0,此方法才会生效。
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
FeedbackAPI.setBackIcon(R.drawable.back);
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
默认使用沉浸式任务栏,如需要关闭可以使用FeedbackAPI.setTranslucent(false);注:3.1.0版本中需要将控制台中沉浸式任务栏设置为true,此方法才会生效。
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
FeedbackAPI.setDefaultUserContactInfo(“13800000000”);
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
FeedbackAPI.setUserNick("xxx");
需要使用3.1.0以上的版本的sdk,并且在控制台-系统配置/Mobile客户端配置/全局配置中将“是否开启语音”打开。
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
JSONObject extInfo = new JSONObject();
extInfo.put("key", "value");
FeedbackAPI.setAppExtInfo(extInfo);
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Demo地址: https://github.com/aptentity/alicloud-android-demo.git
注意: demo工程中, FeedbackAPI.init被调用了多次, 这是为了能够达到实时更新配置的效果, 实际使用上建议只在Application中, 调用FeedbackAPI.init方法一次即可
在文档使用中是否遇到以下问题
更多建议
匿名提交