码力APP监控SDK接入-Android

更新时间:2017/01/04 访问次数:10079

1 接入说明

百川码力APP监控Android版本,目前支持gradle自动配置的方式进行快速接入。开发者可以在五分钟内接入完成。

百川码力APP监控是百川提供的移动应用性能检测工具,可以帮助开发者更早的发现用户使用过程中出现的问题,并快速定位、分析、解决问题。

码力现提供的检测为应用崩溃检测、卡顿检测和网络检测。

2 运行环境

码力APP监控Android版本支持在以下运行环境:

  • java jdk1.5+
  • gradle 2.8+
  • groovy 2.4+
  • android
    • buildToolsVersion 20+
    • android sdk 2.3+
  • 支持android MulitDex

3 SDK下载(不推荐)

在V 1.1.0版本以及以后版本,码力Android端SDK不推荐本地Grandle依赖。请基于下方的集成建议,使用仓库依赖。

4 配置Gradle

4.1 项目总build.gradle

${project.root}/build.gradle [项目总build.gradle]

buildscript {
    repositories {
        maven {
            url 'http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/'
        }
        mavenLocal()
        jcenter()
    }
    dependencies {
        classpath('com.android.tools.build:gradle:2.2.0')
        classpath('com.alibaba.apmplus:android-gradle:1.2.1')
    }
}
allprojects {
    repositories {
        jcenter()
        mavenLocal()
        maven {
            url 'http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/'
        }
    }
}

4.2 应用build.gradle

${project.root}/app/build.gradle [应用build.gradle]

apply plugin: 'com.android.application'
apply plugin: 'com.alibaba.android.apmplus'
/** 仓库 */
repositories{
    mavenLocal()
    maven{
        url 'http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/'  
    }

}

/** android gradle 原生配置 */
android {

}
/** apmplus 配置  见apmplus详情 */
apmplus{
    appKey '88888888'
    appSecret 'yourappsecret'
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.alibaba.apmplus:android-agent:1.2.0'
    // compile 'com.alibaba.apmplus:android-agent:1+' 
}

4.3 配置webview

WebView需使用setWebViewClient方法,如未实现该方法,请添加如下代码 webview.setWebViewClient(new WebViewClient() {})

字段详情

apmplus key 可选\必选 值类型 默认值 描述
appKey 必选 int 百川平台申请的应用均可在控制台获取对应的appKey
appSecret 必选 string 请访问码力APP监控控制台查询对应APP的AppSecret
forceEnabled 可选 boolean false 在非release模式下强制开启apmplus的相关功能
threshold 可选 int 3000 webview 慢连接阀值[单位毫秒],阈值下限为2000ms
appVersion 可选 string 1.0 自定义的应用版本不同于manifest的versionName
channel 可选 string apmplus 表示app发行渠道的标识
sampling 可选 int 5000 采样率万分比范围[1~10000]
crash 可选 boolean true 开启crash 上报
level 可选 string INFO 日志等级[DEBUG/VERBOSE/INFO/WWARNING/ERROR]
compileLog 可选 boolean false 打印编译日志到${project.root}/build/intermediates/apmplus/目录
autoMappingUpload 可选 boolean true 是否自动上传 mapping.txt,若开启,则控制台错误堆栈的源代码类名称以及行号等可正常显示
autoProguardConfig 可选 boolean true 自动配置proguard文件

5 集成测试

完成上述集成工作后,您可以制造一个Crash来体验百川码力的APP监控的能力了。

Crash测试样例:

throw new NullPointerException();

在触发Crash后,您就可以在码力控制台查看到这个Crash记录了(会有一些延时)。

网络测试样例:

private  final class Task extends Thread {
        @Override
        public void run() {
            Log.e(TAG, "urlConnect........");
            try {
                URL url = new URL("https://www.taobao.com/");
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setDoOutput(true);
                conn.setDoInput(true);
                conn.setConnectTimeout(6 * 1000);
                conn.setRequestMethod("POST");
                conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                conn.setInstanceFollowRedirects(true);
                conn.connect();
                DataOutputStream out = new DataOutputStream(conn.getOutputStream());
                out.writeChars("helloworld");
                out.flush();
                out.close();
                Log.i(TAG, "http status code = " + conn.getResponseCode() + "-->" + conn.getRequestMethod());
                InputStream inputStream = conn.getInputStream();
                DataInputStream dis = new DataInputStream(inputStream);
                ByteArrayOutputStream bs = new ByteArrayOutputStream();
                byte[] buffer = new byte[2048];
                int i;
                while ((i = dis.read(buffer, 0, 2048)) != -1) {
                    bs.write(buffer, 0, i);
                }
                inputStream.close();
            } catch (Throwable t) {
                Log.e(TAG, "http request", t);
            }
        }
    };

在上报网络数据后,您就可以在码力APP监控控制台查看到这个网络记录了(等待约1分钟)。

6 更多配置-自定义字段上报

APMPlus.java

1.设置应用版本号

public final static void setAppVersion(final Context context, String appVersion)

2.设置用户昵称

public final static void setUserToken(final Context context, String userToken)

FAQ

关于此文档暂时还没有FAQ
返回
顶部