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

本文涉及的产品
应用实时监控服务ARMS - 应用监控,每月50GB免费额度
简介: 使用友盟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 账号注册

友盟+注册

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

1.jpg

2.2 创建应用

应用性能监控平台U-APM

2.jpg

3.jpg

4.jpg

2.3 Demo下载

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

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

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

5.jpg

2.4 Demo导入

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

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

6.jpg

2.5 Demo试跑

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

// SDK预初始化函数

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

publicstaticvoidpreInit(Context context,String appkey,String channel)

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

appkey在如下图中复制。

7.jpg

8.jpg

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

9.jpg

三、极致体验

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

       publicvoidonClick(View view){

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

               "123".substring(10);

        }

});


10.jpg

11.jpg

3.3 错误处理

·  未修复改成已修复

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

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

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

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

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

12.jpg

13.jpg

3.4 告警设置

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

·   新建告警计划

·  告警名称

·  触发条件:>3

·  生效应用版本:全部

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

14.jpg

15.jpg


3.5 企业微信机器人

· 添加一个群聊

· 添加群机器人

· 得到该机器人的Webhook


16.jpg

17.jpg

18.jpg

19.jpg

3.6 告警触发

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

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

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

终于被我等到了~


20.jpg

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

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


21.jpg


22.jpg


23.jpg


24.jpg

四、一点小建议

4.1 错误明细中缺乏App版本

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

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

25.jpg

26.jpg

4.2 错误处理的逻辑流程

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

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

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

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

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

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



作者:康玮剑

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

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

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

相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
相关文章
|
22天前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
68 1
|
22天前
|
监控 前端开发 JavaScript
ARMS集成监控代码
【8月更文挑战第24天】
35 6
|
19天前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
80 0
|
20天前
|
开发者 算法 虚拟化
惊爆!Uno Platform 调试与性能分析终极攻略,从工具运用到代码优化,带你攻克开发难题成就完美应用
【8月更文挑战第31天】在 Uno Platform 中,调试可通过 Visual Studio 设置断点和逐步执行代码实现,同时浏览器开发者工具有助于 Web 版本调试。性能分析则利用 Visual Studio 的性能分析器检查 CPU 和内存使用情况,还可通过记录时间戳进行简单分析。优化性能涉及代码逻辑优化、资源管理和用户界面简化,综合利用平台提供的工具和技术,确保应用高效稳定运行。
31 0
|
20天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
全面解析TensorFlow Lite:从模型转换到Android应用集成,教你如何在移动设备上轻松部署轻量级机器学习模型,实现高效本地推理
【8月更文挑战第31天】本文通过技术综述介绍了如何使用TensorFlow Lite将机器学习模型部署至移动设备。从创建、训练模型开始,详细演示了模型向TensorFlow Lite格式的转换过程,并指导如何在Android应用中集成该模型以实现预测功能,突显了TensorFlow Lite在资源受限环境中的优势及灵活性。
49 0
|
2月前
|
Java Android开发 C++
🚀Android NDK开发实战!Java与C++混合编程,打造极致性能体验!📊
【7月更文挑战第28天】在 Android 开发中, NDK 让 Java 与 C++ 混合编程成为可能, 从而提升应用性能。**为何选 NDK?** C++ 在执行效率与内存管理上优于 Java, 特别适合高性能需求场景。**环境搭建** 需 Android Studio 和 NDK, 工具如 CMake。**JNI** 构建 Java-C++ 交互, 通过声明 `native` 方法并在 C++ 中实现。**实战** 示例: 使用 C++ 计算斐波那契数列以提高效率。**总结** 混合编程增强性能, 但增加复杂性, 使用前需谨慎评估。
93 4
|
4月前
|
Java 开发工具 Android开发
Android mk 集成app
Android mk 集成app
43 5
|
3月前
|
文字识别 Android开发 C++
Tesseract OCR集成Android Studio实现OCR识别
Tesseract OCR集成Android Studio实现OCR识别
191 0
|
4月前
|
安全 物联网 Android开发
构建未来:Android与IoT设备的无缝集成
【5月更文挑战第10天】 在数字化时代的浪潮中,智能设备与互联网的结合日益紧密。本文深入探讨了Android系统如何通过其开放性和灵活性成为连接物联网(IoT)设备的关键枢纽。我们将分析Android平台与IoT设备集成的技术途径,探索它们如何共同塑造智能家居、可穿戴技术以及工业自动化等领域的未来。文中不仅阐述了当前的发展状况,还展望了未来的发展趋势,特别是安全性和隐私保护方面的挑战及对策。
100 1
|
4月前
|
存储 Prometheus 运维
【阿里云云原生专栏】云原生下的可观测性:阿里云 ARMS 与 Prometheus 集成实践
【5月更文挑战第25天】阿里云ARMS与Prometheus集成,为云原生环境的可观测性提供强大解决方案。通过集成,二者能提供全面精准的应用监控,统一管理及高效告警,助力运维人员及时应对异常。集成示例代码展示配置方式,但需注意数据准确性、监控规划等问题。这种集成将在云原生时代发挥关键作用,不断进化以优化用户体验,推动业务稳定发展。
195 0

热门文章

最新文章