【AGC】新版鸿蒙崩溃SDK集成使用方法

【背景】

我们知道AGC的Crash SDK都是需要强制集成华为分析SDK的,在使用时的崩溃数据上报都要依靠分析服务来完成,这就容易受到限制,有时出现无数据的情况就要依次排查崩溃SDK与分析SDK,比较麻烦。而就在不久前,鸿蒙崩溃的SDK做了全面更新,上报信息不再依赖华为分析服务SDK,并且后台数据展示也做了更新。这可以让项目更加简洁,缩小了应用的占用空间,出现数据问题排查也更加方便了。不过更新后的SDK集成使用方法也与旧版本不一样了,接下来将介绍新版鸿蒙崩溃SDK的集成使用方法。

 

【开发准备】

  1. 登录AppGallery Connect,点击“我的项目”。在项目列表中找到您的项目,在项目下的应用列表中选择您需要启用崩溃服务的应用。选择“质量 > 崩溃”,进入崩溃服务页面,点击“立即开通”。

  2. 点击“项目设置”中“应用”栏下的“agconnect-services.json”,将“agconnect-services.json”文件拷贝到项目entry模块的目录下。

  3. 打开entry模块下的build.gradle文件,添加如下代码集成Crash SDK,目前SDK依赖仅需要一行代码就能实现了。

    dependencies {
        ...
        implementation 'com.huawei.agconnect:agconnect-crash-harmony:1.1.0.300'
        ...
    }

     

【实现方法】

旧版本的鸿蒙SDK调用类名已从AGConnectCrash更换为APMCrash了,需要注意更换。

  1. 您可以调用APMCrash.testJavaException方法,构造一次崩溃。

    Button btn_crash = (Button) findComponentById(ResourceTable.Id_Make_Crash);
            btn_crash.setClickedListener(new Component.ClickedListener() {
                @Override
                public void onClick(Component component) {
                    APMCrash.getInstance().testJavaException(true);
                }
            });
  2. 调用APMCrash.recordException方法构造一次非严重异常事件。

    Button btn_exception = (Button) findComponentById(ResourceTable.Id_Make_Exception);
            btn_exception.setClickedListener(new Component.ClickedListener() {
                @Override
                public void onClick(Component component) {
                    try{
                        throw new Exception();
                    }catch (Exception e){
                        APMCrash.getInstance().recordException(e);
                    }
                }
            });
  3. 调用APMCrash.setCustomLogInfo(String text)自定义日志,调用APMCrash.setCustomKeyValue自定义键值对。

    Button btn_CustomReport = (Button) findComponentById(ResourceTable.Id_Custom_Report);
            btn_CustomReport.setClickedListener(new Component.ClickedListener() {
                @Override
                public void onClick(Component component) {
                    APMCrash.getInstance().setUserId("testuser");
                    APMCrash.getInstance().setCustomLogInfo(HiLog.DEBUG,"set debug log.");
                    APMCrash.getInstance().setCustomLogInfo(HiLog.INFO,"set info log.");
                    APMCrash.getInstance().setCustomLogInfo(HiLog.WARN,"set warning log.");
                    APMCrash.getInstance().setCustomLogInfo(HiLog.ERROR,"set error log.");
                    APMCrash.getInstance().setCustomKeyValue("stringKey", "Hello world");
                    APMCrash.getInstance().setCustomKeyValue("booleanKey", false);
                    APMCrash.getInstance().setCustomKeyValue("doubleKey", 1.1);
                    APMCrash.getInstance().setCustomKeyValue("floatKey", 1.1f);
                    APMCrash.getInstance().setCustomKeyValue("intKey", 0);
                    APMCrash.getInstance().setCustomKeyValue("longKey", 11L);
                }        });

     

【数据展示】

现在鸿蒙崩溃SDK后台数据展示界面也与现在的Android应用不同了,做出了更细致的更新,下面向大家展示上报的崩溃数据界面。

1、数据概览界面

cke_21726.png

2、问题详情与堆栈信息界面

cke_24277.png

cke_26359.png

3、自定义报告界面

cke_29001.png

cke_31516.png

 

【结论】

以上就是新版本鸿蒙崩溃SDK的使用方法和成果展示。有兴趣的小伙伴也可以关注官方文档进行集成开发,让自己的应用实现崩溃监控功能。

参考文档:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-crash-sdkchangenotes-harmonyos-0000001185279779

 

 欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

posted @ 2023-05-18 15:41  华为开发者论坛  阅读(278)  评论(0编辑  收藏  举报