Android友盟U-APM快速集成与极致体验

文章目录

·  一、前言

·  二、快速集成

·  2.1 账号注册

·  2.2 创建应用

·  2.3 Demo下载

·  2.4 Demo导入

·  2.5 Demo试跑

·  三、极致体验

·  3.1 第一个App崩溃

·  3.2 查看后台崩溃信息(延时1分钟+

·  3.3 错误处理

·  3.4 告警设置

·  3.5 企业微信机器人

·  3.6 告警触发

·  四、一点小建议

·  4.1 错误明细中缺乏App版本

·  4.2 错误处理的逻辑流程

 

一、前言

之前一直是用腾讯的bugly
目前受邀推荐使用友盟+U-APM,那就让我们来尝试体验一下

  

二、快速集成

2.1 账号注册

友盟+注册

注册很快,没有繁琐的步骤和多余的信息填写,点赞

Android友盟U-APM快速集成与极致体验

2.2 创建应用

应用性能监控平台U-APM

Android友盟U-APM快速集成与极致体验

Android友盟U-APM快速集成与极致体验

Android友盟U-APM快速集成与极致体验

2.3 Demo下载

为了快速体验,我们跳过SDK集成这一步,直接用官方提供的Demo

SDK集成也很方便,直接看官方文档即可:Android SDK集成流程

Demo下载:MultiFunctionAndroidDemo:友盟多功能Android Demo

Android友盟U-APM快速集成与极致体验

2.4 Demo导入

导入工程File->New->Import Porject

期间有遇到一个问题,如果大家也同样遇到这个问题可以参考博文:Android Studio Failed to open zip file的解决办法

Android友盟U-APM快速集成与极致体验

2.5 Demo试跑

修改preInit(Context context,String appkey,String channel)后,即可运行Demo

// SDK预初始化函数

// preInit预初始化函数耗时极少,不会影响App首次冷启动用户体验

public static void preInit(Context context,String appkey,String channel)

preInit()App.java里面调用,传入自己的appkey即可。

appkey在如下图中复制。

Android友盟U-APM快速集成与极致体验

Android友盟U-APM快速集成与极致体验

Demo跑起来后,再去后台看看,就会发现应用的状态变成:已集成

Android友盟U-APM快速集成与极致体验

三、极致体验

3.1 第一个App崩溃

·       有点意外, 第一个崩溃信息出来的有点快。

·       首页->点击统计UApp->点击程序崩溃

 

3.2 查看后台崩溃信息(延时1分钟+)

·       这时候就要赶紧看下后台,有没有错误信息上报

·       一直刷新后台,同时对比实时时间,大概延时110秒左右,后台才显示出错误信息。与腾讯bugly对比略微好点,半斤八两吧

·       不过,错误信息倒是给的详细,直接找到com.umeng.soexample.analytics.UappActivity的第94

·       认真一看,很明显的错误,"123"的字符串长度只有3,无法索引到10


findViewById(R.id.analytics_g3_b1).setOnClickListener(new View.OnClickListener() {

         @Override

        public void onClick(View view) {

                Toast.makeText(mContext, "已完成程序崩溃", Toast.LENGTH_SHORT).show();

                "123".substring(10);

         }

});


Android友盟U-APM快速集成与极致体验

Android友盟U-APM快速集成与极致体验

3.3 错误处理

·  未修复改成已修复

·  首先,故意不修复代码,再制造一次程序崩溃

·  处理状态不变,还是已修复

·  其次,修改App版本versionCode改成2versionName改成1.0.1,其他不变,再制造一次程序崩溃

·  处理状态依旧不变,还是已修复

·  不过版本范围变了1.0 ~ 1.0.1。这就有点参差了,对此我就有点意见了,详情见后文第四章节。

Android友盟U-APM快速集成与极致体验

Android友盟U-APM快速集成与极致体验

3.4 告警设置

·  通过错误列表告警入口进来

·   新建告警计划

·  告警名称

·  触发条件:>3

·  生效应用版本:全部

·  触达方式:邮箱、企业微信

Android友盟U-APM快速集成与极致体验

Android友盟U-APM快速集成与极致体验


3.5 企业微信机器人

· 添加一个群聊

· 添加群机器人

· 得到该机器人的Webhook


Android友盟U-APM快速集成与极致体验

Android友盟U-APM快速集成与极致体验

Android友盟U-APM快速集成与极致体验

Android友盟U-APM快速集成与极致体验

3.6 告警触发

· 告警设置成功后,就开始触发告警

· 点了好几次都没反应,奇奇怪怪

· 没关系,有点耐心,等~

终于被我等到了~


Android友盟U-APM快速集成与极致体验

· 很明显看出来,告警触发是每小时一次的

· 基本都在每小时的07分左右推送


Android友盟U-APM快速集成与极致体验


Android友盟U-APM快速集成与极致体验


Android友盟U-APM快速集成与极致体验


Android友盟U-APM快速集成与极致体验

四、一点小建议

4.1 错误明细中缺乏App版本

· App版本号在错误列表中有体现,挺好的

· 但是在错误明细中没有体现,相反还多出一个SDK版本号,容易混淆

Android友盟U-APM快速集成与极致体验

Android友盟U-APM快速集成与极致体验

4.2 错误处理的逻辑流程

错误处理的逻辑流程可以优化成如下:

· 在崩溃分析->错误列表->处理状态在勾选已修复的时候,选择在XX.XX.XX版本修复

· 后续如果版本大于 XX.XX.XX版本时,还有同样的错误上报,则把处理状态自动修改成修复失败

· 增加一个处理流程记录,详细记录这个bugXX时间XXXX版本修复,然后在XX版本又复发……

按照这个逻辑修改后,处理状态是动态的,增加了更多的信息。

比起目前,一旦手动修改了处理状态后,其状态一直不变,是不是强多了~



作者:康玮剑

1、多年嵌入式软件开发经验;

2、同样擅长Android开发和微信小程序开发;

3、做过大厂的系统工程师,当过小厂的嵌入式主管,现在是个创业公司的软件经理; 4、对IoT物联网开发有自己的见解,业余时间喜欢沉淀、整理与分享输出自身的技术知识。

上一篇:巧用友盟+U-APM 实现移动端性能监测


下一篇:巧用友盟+U-APM 找出Unity开发游戏启动慢问题解决方案