AppGallery Connect(简称AGC)崩溃服务提供了轻量级崩溃分析服务,依据Crash SDK,可以实现零代码快速集成,您的应用能够在崩溃时自动收集崩溃报告,帮助您了解应用版本质量、对崩溃性问题进行快速跟踪定位、评估崩溃问题的影响范围等。
在本次Codelab中,您将建立一个能够集成崩溃服务的应用,并通过手工制造一个崩溃事件,以测试崩溃服务能否正常运行,同时了解如何查看和分析崩溃问题。
为了帮助您全面了解崩溃报告信息,您还可以通过自定义用户标识,自定义日志,自定义键值对来自定义您的崩溃报告。
集成AGC崩溃服务,需要完成以下准备工作
具体操作,请按照《AppGallery Connect集成准备》中详细说明来完成。
由于崩溃服务上报崩溃事件时使用了华为分析服务的能力,集成Crash SDK前需要开通华为分析服务,具体操作参见开通华为分析。
针对Android Studio开发环境,开发前需集成Crash SDK到您的Android Studio项目中。
dependencies {
//配置如下地址
implementation 'com.huawei.hms:hianalytics:5.0.5.300'
implementation 'com.huawei.agconnect:agconnect-crash:1.4.2.300'
}
本次Codelab中您可以在Android Studio工程中创建一个布局页面,参照下图进行UI设计,新增三个Button。一个按钮点击后可触发崩溃事件,一个按钮点击后可以触发上报异常事件,一个按钮用来触发自定义报告。
本次Codelab中您可以调用Crash SDK的API手动制造一个崩溃,然后在AGC上查看崩溃上报情况,以测试崩溃服务是否正常运行。详细步骤如下:
AGConnectCrash.testIt
方法可以制造一次崩溃。Button btn_crash = findViewById(R.id.btn_crash);
btn_crash.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AGConnectCrash.getInstance().testIt(MainActivity.this);
}
});
AGConnectCrash.recordException
方法可以制造一次非严重异常事件。Button btn_exception = findViewById(R.id.btn_exception);
btn_exception.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try{
throw new Exception();
}catch (Exception e){
AGConnectCrash.getInstance().recordException(e);
}
}
});
AGConnectCrash.setUserId
自定义用户标识,调用AGConnectCrash.log自定义日志,AGConnectCrash.setCustomKey
自定义键值对。findViewById(R.id.CustomReport).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AGConnectCrash.getInstance().setUserId("testuser");
AGConnectCrash.getInstance().log(Log.DEBUG,"set debug log.");
AGConnectCrash.getInstance().log(Log.INFO,"set info log.");
AGConnectCrash.getInstance().log(Log.WARN,"set warning log.");
AGConnectCrash.getInstance().log(Log.ERROR,"set error log.");
AGConnectCrash.getInstance().setCustomKey("stringKey", "Hello world");
AGConnectCrash.getInstance().setCustomKey("booleanKey", false);
AGConnectCrash.getInstance().setCustomKey("doubleKey", 1.1);
AGConnectCrash.getInstance().setCustomKey("floatKey", 1.1f);
AGConnectCrash.getInstance().setCustomKey("intKey", 0);
AGConnectCrash.getInstance().setCustomKey("longKey", 11L);
}
});
祝贺您,您已经成功地构建了您的第一个集成AGC崩溃服务的应用程序,并学到了如何在AGC控制台对崩溃信息和自定义报告进行查看和分析。您也可以制造不同类型的崩溃,然后在AGC上查看。
AGC崩溃服务的相关API介绍请参见API索引。
本Codelab中所用demo源码下载地址如下: