什么是AppGallery Connect崩溃服务

AppGallery Connect(简称AGC)崩溃服务提供了轻量级崩溃分析服务,依据Crash SDK,可以实现零代码快速集成,您的应用能够在崩溃时自动收集崩溃报告,帮助您了解应用版本质量、对崩溃性问题进行快速跟踪定位、评估崩溃问题的影响范围等。

您将建立什么

在本次Codelab中,您将建立一个能够集成崩溃服务的应用,并通过手工制造一个崩溃事件,以测试崩溃服务能否正常运行,同时了解如何查看和分析崩溃问题。
为了帮助您全面了解崩溃报告信息,您还可以通过自定义用户标识,自定义日志,自定义键值对来自定义您的崩溃报告。

您将学会到什么

开发环境及技能要求

运行终端要求

集成AGC崩溃服务,需要完成以下准备工作

具体操作,请按照《AppGallery Connect集成准备》中详细说明来完成。

开通华为分析服务

由于崩溃服务上报崩溃事件时使用了华为分析服务的能力,集成Crash SDK前需要开通华为分析服务,具体操作参见开通华为分析

集成SDK

针对Android Studio开发环境,开发前需集成Crash SDK到您的Android Studio项目中。

  1. 登录AppGallery Connect网站,点击"我的项目"。
  2. 在项目列表中找到您的项目,在项目下的应用列表中选择您需要集成的应用。
  3. 点击"项目设置"中"应用"栏下的"agconnect-services.json"下载配置文件。
  4. 将"agconnect-services.json"文件拷贝到应用级根目录下。
  5. 打开Android Studio应用级build.gradle文件,添加如下代码集成Analytics Kit和Crash SDK。
    dependencies { //配置如下地址 implementation 'com.huawei.hms:hianalytics:5.2.0.301' implementation 'com.huawei.agconnect:agconnect-crash:1.5.1.300' }
  6. 点击界面上的"Sync Now"链接同步已完成的配置。

本次Codelab中您可以在Android Studio工程中创建一个布局页面,参照下图进行UI设计,新增三个Button。一个按钮点击后可触发崩溃事件,一个按钮点击后可以触发上报异常事件,一个按钮用来触发自定义报告。

本次Codelab中您可以调用Crash SDK的API手动制造一个崩溃,然后在AGC上查看崩溃上报情况,以测试崩溃服务是否正常运行。详细步骤如下:

  1. 在应用Activity布局文件中创建三个Button,描述分别为"makeCrash"、 "CustomReport"和"makeException"。
    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> <LinearLayout android:layout_width="300dp" android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical"> <Button android:id="@+id/btn_crash" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAllCaps="false" android:text="makeCrash" /> <Button android:id="@+id/btn_exception" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAllCaps="false" android:text="makeException" /> <Button android:id="@+id/CustomReport" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAllCaps="false" android:text="CustomReport" /> </LinearLayout> </LinearLayout>
  2. 点击"makeCrash"按钮触发调用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); } });
  3. 点击"makeException"按钮触发调用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); } } });
  4. 点击"CustomReport"按钮触发调用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); } });
  5. 打包并运行应用程序,依次点击"CustomReport" 按钮产生自定义崩溃报告,点击"makeException"按钮触发一次非严重异常事件,点击"makeCrash"按钮触发一次崩溃后重新打开应用。
  1. 登录AppGallery Connect网站,点击"我的项目"图标,进入您的应用。
  2. 在崩溃服务页面中,点击"添加过滤器"在事件类型中勾选"异常"(首次登录默认不勾选)。点击"统计"页签,时间段选择"过去一小时",查看您应用的崩溃和异常统计信息。您也可以制造多次崩溃和异常在AGC页面上实时查看。异常事件产生后需要在下次应用启动时上报。
  3. 确认有崩溃和异常信息上报后,您可以点击"问题"页签,时间段选择"过去一小时",找到您应用的崩溃问题,如下"java.lang.NullPointerException"即为本次测试崩溃时制造的崩溃问题,"java.lang.Exception"为您制造的异常事件。
  4. 点击崩溃问题,可以进入问题详情页面,在"堆栈"信息中,您可以大致了解发生崩溃问题的原因,以帮助您对崩溃问题进行分析。
  1. 点击"按用户搜索",可以查看自定义的用户标识。
  2. 点击崩溃问题,可以进入问题详情页面,点击"日志"查看自定义的日志信息。
  3. 点击"状态"查看自定义的键值对。

祝贺您,您已经成功地构建了您的第一个集成AGC崩溃服务的应用程序,并学到了如何在AGC控制台对崩溃信息和自定义报告进行查看和分析。您也可以制造不同类型的崩溃,然后在AGC上查看。

AGC崩溃服务的相关API介绍请参见API索引
本Codelab中所用demo源码下载地址如下:

源码下载

已复制代码