@Tesly
2016-04-12T07:04:54.000000Z
字数 3660
阅读 1480
Tesly
本文档主要介绍Tesly SDK(Android)使用方法, 利用SDK可以直接完成从填写反馈、收集机型信息、抓取日志和屏幕截图等一系列动作。
本文属于入门级文档,旨在帮助开发者快速学习Tesly SDK的使用并应用到产品当中。
接口人:kaipi(皮凯)/vincentshen(沈东雄)
所有使用Tesly SDK服务的应用都需要有一个应用授权码(appid)。使用该appid可以帮你统计和分析相关应用的用户反馈情况。
要获取appid,请联系上述接口人。
2.1 联系接口人获取Tesly sdk。
2.2 将BuglySDK.jar包引入到你的Android工程;
2.3 添加appid配置信息,在 AndroidManifest.xml 文件的 application 中加入 BUGLY_APPID 配置信息,如下:
<application><meta-dataandroid:name="BUGLY_APPID"android:value="你的appid" /></application>
2.4 添加权限。
<application><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!--下面为可选,为了获取更多的设备信息,建议加上--><uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/></application>
整个接入过程,只需要了解下面三个api。
3.1 BuglyFeedbackApi.getInstance().submitDataAsync
API作用:异步提bug到后台
参数说明:
1)Context context: 传入当前的上下文。(必选)
2)String desc:bug标题/描述/TAG。(必选)
3)String username:出现bug的用户名字,可以重复。(必选)
4)boolean isCaptureLog:是否抓取log。当bug发生和bug提交不在同一个时间点的时候,建议使用captureLog(Context context) API(详见下文),先将log保存在本地,然后提bug时将isCaptureLog设置为false。(可选,默认为抓取)
5)Map<String, String> map:用户自定义字段,为key-value对。(可选)
6)List<String> extraFileList:自定义文件绝对路径的list,如果传入该参数,则会把列表中存在的文件上传,上传成功便会删除。(可选)
7)SubmitCallback listener:回调,(必选)
注:音频文件现支持AMR(不区分大小写)、mp3格式,图片支持jpg、png格式,如有其他需要,请联系上述接口人
返回参数:void
用法简介
import com.tencent.bugly.sdk.BuglyFeedbackApi;//反馈提交按钮事件private void onClick {//用户自定义字段Map<String, String> map = new HashMap<String, String>();map.put("name1", "value1");map.put("name2", "value2");//自定义文件列表ArrayList<String> customFileList = new ArrayList<String>();customFileList.add("/sdcard/hello.txt");customFileList.add("/sdcard/hello.mp3");customFileList.add("/sdcard/customLog.log");BuglyFeedbackApi.SubmitCallback listener = new BuglyFeedbackApi.SubmitCallback() {@Overridepublic void onSuccess(String s) {Log.d("bugly sdk", "onSuccess:" + s);}@Overridepublic void onFail(String s) {Log.e("bugly sdk", "onFail:" + s);}};/*** 开始进入提交流程、抓日志、获取机型信息、压缩、上传* 第一个参数:context* 第二个参数:反馈描述* 第三个参数:用户名* 第四个参数:是否抓取log* 第五个参数:自定义字段* 第六个参数:自定义文件列表* 第七个参数:上传结果回调**/BuglyFeedbackApi.getInstance().submitDataAsync(this, content, "Wecar", false, map, customFileList, listener);}
3.2 public String captureLog(Context context, String logcatCmd)
API作用:抓取本地log,该api一般用于bug出现和提交不在同个时间点,先保存本地log,然后将log文件路径在调用submitDataAsync的时候传入。
参数说明:
Context context: 传入当前的上下文。(必选)
String logcatCmd:抓取logcat的命令,默认为:"logcat -v time -d"(可选)
PS:切记自定义的logcat路径,要加入-d参数,不然logcat会阻塞。
返回参数:
String : logcat文件保持的绝对路径
用法简介
import com.tencent.bugly.sdk.BuglyFeedbackApi;//抓取logcat,并保存在logFilePath绝对路径下。String logFilePath = BuglyFeedbackApi.getInstance().captureLog(this);//联网的时候,如果要提bug,则将logcat文件加入customFileList并作为提bug的输入参数,即可以上传。BuglyFeedbackApi.getInstance().submitDataAsync(this, content, "Wecar", false, map, customFileList);
3.3 public static void setIsDebugEnv(Context context, boolean isDebug)
API作用:设置测试服务器or正式服务器。(不调用此api,默认是正式服务器)
参数说明:
Context context: 传入当前的上下文。(必选)
boolean isDebug: true:测试服务器 false:正式服务器
返回参数:
void
用法简介
//此api需要在调用submitDataAsync前调用//设置为测试服务器BuglyFeedbackConfig.setIsDebugEnv(this, true);//测试为正式服务器(默认是正式服务器,所以也可以不进行设置)BuglyFeedbackConfig.setIsDebugEnv(this, false);//正式服务器地址:http://tesly.qq.com//测试服务器地址http://teslypi.cs0309.3g.qq.com
3.4 BuglyFeedbackConfig.setIsDeleteExtraFile(Context context, boolean isDelete);
为false的话,表示sdk不帮忙做删除操作为true,表示sdk上传bug成功后会帮忙删除
只有申请为接入项目组成员,才能看到项目的相关反馈。
具体申请流程如下:
1)打开http://tesly.qq.com,点击右上角进入“我的众测”
2)点击左侧导航栏->项目管理->所有项目
3)找到想要加入的项目->点击申请加入按钮即可
项目管理员审核流程如下:
1)新项目管理,管理员会收到审核邮件提醒,点击邮件的跳转链接。
2)导航栏->项目管理->我的项目->点击申请处理按钮即可。
更多内容请联系:cyruschen(陈勇)/vincentshen(沈东雄)