什么是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.0.3.300' implementation 'com.huawei.agconnect:agconnect-crash:1.4.1.300' }
  6. 点击界面上的"Sync Now"链接同步已完成的配置。

本次Codelab中您可以在Android Studio工程中创建一个布局页面,参照下图进行UI设计,新增四个Button。一个按钮点击后可触发崩溃事件,两个按钮点击后可控制是否收集崩溃信息。一个按钮用来触发自定义报告。

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

  1. 在应用Activity布局文件中创建四个Button,描述分别为"makeCrash"、"CrashCollectionON"、"CrashCollectionOFF"和"CustomReport"。
  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(); } });
  3. 点击"CrashCollectionON"按钮触发调用AGConnectCrash.enableCrashCollection打开崩溃信息上报开关。
    findViewById(R.id.enable_crash_on).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AGConnectCrash.getInstance().enableCrashCollection(true); } });
  4. 崩溃服务信息上报开关默认为开,如果您不想上报崩溃信息,可以点击"CrashCollectionOFF"按钮关闭此开关。
    findViewById(R.id.enable_crash_off).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AGConnectCrash.getInstance().enableCrashCollection(false); } });
  5. 点击"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); } });
  6. 打包并运行应用程序,点击CustomReport 自定义崩溃报告,点击"makeCrash"按钮制造一次崩溃。
  1. 登录AppGallery Connect网站,点击"我的项目"图标,进入您的应用。
  2. 在崩溃服务页面中,点击"统计"页签,时间段选择"过去一小时",查看您应用的崩溃统计信息。您也可以制造多次崩溃在AGC页面上实时查看。
  3. 确认有崩溃信息上报后,您可以点击"问题"页签,时间段选择"过去一小时",找到您应用的崩溃问题,如下"java.lang.NullPointerException"即为本次测试崩溃时制造的崩溃问题。
  4. 点击崩溃问题,可以进入问题详情页面,在"堆栈"信息中,您可以大致了解发生崩溃问题的原因,以帮助您对崩溃问题进行分析。
  1. 点击"按用户搜索",可以查看自定义的用户标识。
  2. 点击崩溃问题,可以进入问题详情页面,点击"日志"查看自定义的日志信息。
  3. 点击"状态"查看自定义的键值对。

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

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

源码下载

已复制代码