请为需要监测的App设置一个易于识别的应用名称,该App名称将出现在App列表和相关的报表中来代表对应的App。
App名称可以使用字母数字和中文,最长32个字符。设置App名称时,尽量不要设置重复的App名称,以免给自己造成不必要的麻烦。
您的App名称可以在设置选项中随时修改
(1)将以下的配置内容合并到你的pom.xml文件中:<dependencies>
<dependency>
<groupId>com.networkbench.newlens.agent.android</groupId>
<artifactId>nbs.newlens.agent</artifactId>
<version>TingYun_Version</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.networkbench.newlens.agent.android</groupId>
<artifactId>agent-maven-plugin</artifactId>
<version> TingYun_Version </version>
<executions>
<execution>
<goals>
<goal>instrument</goal>
</goals>
</execution>
</executions>
</plugin>
</build>
注:TingYun_Version为当前听云App版本号,可登陆官网查询最新版本号:http://www.tingyun.com/。如:2.3.0。
(2)设置应用程序权限
请在待监测的App工程的AndroidMainfest.xml文件中增加以下的权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.INTERNET" />
(3)插入启动NBSAgent的代码
在待监测App的主Activity(Main Activity)源文件中导入听云的Android探针类:import com.networkbench.agent.impl.NBSAppAgent;
在onCreate()方法中(如果没有请新增onCreate()方法)增加以下初始化听云App探针的调用:NBSAppAgent.setLicenseKey("AppKey ").withLocationServiceEnabled(true).start(this.getApplicationContext());
注:如项目使用了腾讯X5框架,可调用setX5Enable()方法
NBSAppAgent.setLicenseKey("AppKey ").withLocationServiceEnabled(true).setX5Enable(true).start(getApplicationContext());
若不需要采集地理位置信息(报表中将没有区域维度的数据)请使用以下代码:
NBSAppAgent.setLicenseKey("AppKey ").start(this.getApplicationContext());
其中“AppKey”从听云App系统中生成。
(4)设置混淆器
如果待监测的App使用ProGuard工具来优化发布的apk包,为了保证听云App监测SDK可以正常使用,请在所属项目的proguard.cfg文件中加入以下的内容:# ProGuard configurations for NetworkBench Lens
-keep class com.networkbench.** { *; }
-dontwarn com.networkbench.**
-keepattributes Exceptions, Signature, InnerClasses
# End NetworkBench Lens
如果您希望保留行号信息,建议您在proguard.cfg中添加如下代码:-keepattributes SourceFile,LineNumberTable
(5)clean 项目工程
建议在Terminal 下Clean 项目工程,以确保听云App配置生效mvn clean
(6)运行apk
打包编译后,在模拟器或Android设备上运行待监测的App,并进行适当的网络访问。
运行嵌码完成后的APK,连接电脑使用LogCat过滤TAG = NBSAgent查看log日志
出现如下log表示嵌码成功:NBSAgent start
NBSAgent enabled
NBSAgent V “TingYun_Version”
connect success
若以上的步骤操作正确,听云App Android SDK探针就已经成功部署到待测App。保持App运行,并访问网络,静待几分钟即可在听云报表看到嵌码App的性能数据。
为了更好的帮助用户解析崩溃信息,我们提供了反混淆机制来帮助用户快速精准的定位崩溃发生位置。当您使用反混淆机制时,需要您上传当前版本的 Mapping File到听云服务器。
目前,我们提供了两种方式上传 Mapping File,您可以选择任意一种方式上传您的 Mapping File此过程不会干扰正常用户代码和打包编译。
5.1、查找Mapping File 文件
进入嵌码项目根目录,搜索Mapping.txt。
5.1.1、报表上传对应版本的Mapping File
i.登陆听云报表,在App概览中选择嵌对应的App名称,进入App后选择左侧菜单栏中的“崩溃”按钮:
ii.在右侧“崩溃历史记录列表”中选择并点击“dSYM / Mapping文件管理”
iii.在弹出窗口中选择上传平台类型,如:“Android”。选择对应的应用版本号,并点击右侧上传按钮,手动上传Mapping File
进入Eclipse 安装目录,在Eclipse.ini同级目录下新建tingyun.properties配置文件
将下列配置项添加到到tingyun.properties配置文件:authKey=听云API账号授权Key,由报表系统生成
appKey=听云App授权Key
mapping_file_auto_upload=上传Mapping开关
1)配置AuthKey 授权码
i.登陆报表,选择用户名称,点击修改授权码
ii.复制“当前授权码”并黏贴到配置文件下
2)配置AppKey
i.登陆报表,在App概览中选择嵌对应的App名称,如:Android_SDK。点击左侧配置按钮,选择“修改设置”
ii.进入“修改配置”后,找到“安装SDK”选择“App Key”复制到配置文件中
2)配置mapping_file_auto_upload 上传开关
如果您需要自动上传Mapping File,请在配置文件中打开Mapping File控制开关:mapping_file_auto_upload=true
注意:改开关只有在启用混淆器时才会生效,通过主机上传Mapping File到听云服务器,您可以在正式发布或需要时打开Mapping File上传开关,如应用未开启混淆器,听云SDK将不会启用配置文件
将下列配置项添加到到tingyun.properties配置文件:okhttp3.0=true
注:听云默认对OkHttp2.0嵌码,如果您使用Okhttp2.0请忽略该设置,若使用的是OkHttp1.0请设置okhttp2.0=false即可
将下列配置项添加到到tingyun.properties配置文件:webview=true
注:听云WebView需使用setWebViewClient方法,如未实现该方法,请添加如下代码webview.setWebViewClient(new WebViewClient() {});
听云App提供用了户自定义附加信息接口,用户可以自定义配置附加信息。当应用发生Crash时上传到报表服务器。用户可以再初始化之后任意位置配置该接口。UserCrashMessage最多可添加10条附加信息,每条附加信息最大支持100个字节。
用户自定义附加接口如下:NBSAppAgent.setUserCrashMessage(String key,String value)
HttpURLConnection
AndroidHttpClient 4.0
Apache HttpClient ( > 4.0)
Volley+OkHttpClient
OkHttp 2.0 ( > 2.1)
OkHttp 1.0
Retrofit (> 1.9)
目前只支持Android 4.0