写点什么

基于 HUAWEI AppGallery Connect 开发了一款 App,我得出了这几点结论!

开发者技术前线

  • 2020-08-14
  • 本文字数:2326 字

    阅读完需:约 8 分钟

基于HUAWEI AppGallery Connect开发了一款App,我得出了这几点结论!

1 背景介绍

最近,笔者开发了一款 App,深刻体会到打造 App 的极致体验的重要性,这对 App 的启动速度、页面秒开、稳定性都提出了严峻的挑战。那么,如何去验证 App 体验和性能达到了标准? 目前业内主要借助质量类服务检测。质量类服务主要提供客户端的崩溃、行为日志采集、启动速度、页面加载耗时、以及大盘性能监控能力。笔者发现,华为应用市场 AppGallery Connect(简称 AG Connect)就提供了此类质量服务,所以决定尝试一下。

2 华为应用市场 AG Connect

目前市面上质量类平台主要有:华为应用市场 AG Connect、友盟、TalkingData 三款产品。这三款服务都提供了对 App 崩溃采集和质量统计服务。


首先之前有过友盟、TalkingData 使用项目经历,我优先考虑华为应用市场 AG Connect。


其次考虑到华为应用市场的 App 数据统计比较精准,且华为应用市场 AG Connect 严格遵从 GDPR,即作为数据处理者不会获取和查看开发者应用的数据。因此符合我们对 App 极致体验的诉求,选择对 AG Connect 做下测评分析。


称 AG Connect 从构建、质量、增长、华为云方面给开发者提供了多个开发服务,主要有构建应用基础能力、提升应用质量、提高分发效率、和拉新促活用户。


一个 AG Connect 服务的基本开发流程如下:


1、准备开发环境


2、创建 AG Connect 项目


3、在项目中添加应用


4、设置数据存储位置


5、集成 AG ConnectSDK


6、开发应用


7、接入 AG Connect 服务


8、接下来我们来测评下 AG Connect 具体能力的情况。

3 测试环境搭建

3.1 测试设备

测试设备:MAC+ 测试 Android 手机 1 部 + USB 1 条

3.2 环境搭建

1、MAC 安装“Android Studio”,并升级至最新版本。


2、为保证兼容性,要求最低兼容版本:Android 4.2 (API level 21) 或者 JDK 1.8 及以上版本。


3、集成 AG Connect SDK。


AndroidStudio 开发环境


1、添加 添加 APM SDK 和 Crash SDK 依赖到应用级 gradle 文件中(通常在 app/build.gradle)。



2、在 APP 模块(应用级)的混淆配置中添加以下排除项:



3、如果您使用了 AndResGuard,需要在混淆配置文件中加入 AndResGuard 允许清单:



4、如果您的应用使用的是 AndroidX 类库,需要在 gradle.properties 中增加如下配置,APM SDK 将自动适配 AndroidX:



5、集成 APM 插件:


1)在 APP 模块(应用级)的 Gradle 文件(通常是 app/build.gradle)中应用 APM 插件:



2)在根级(项目级)Gradle 文件中添加 APM 插件:



6、新建应用:


登录华为应用市场 AppGallery Connect 网站,选择添加“我的项目”。在我的项目页面点击“添加项目”,新建应用

4 测试应用开发

4.1 客户端测试应用开发

新建一个 APP 工程,包含两个页面,工程目录如下:



为了检测崩溃,第一个页面加入了 crash 测试按钮


5 测试 CRASH

5.1 Crash 模拟测试

为了测试是否统计 Crash 能力,我们通过模拟了一个 NPE,来查看是否正常上报。



在按钮添加一条 crash 事件,代码如上。

5.2 Crash 模拟结论

登录后台查看数据:



我们可以看到,本次崩溃日志已被记录。



分析报告看到:日志信息包含了发生时间、异常类型、用户、崩溃数量、崩溃率。此次测试成功,并且包含信息全面,可根据时间、异常类型、用户、崩溃数量、崩溃率多维度去查询。


华为 AG Connect 确实能完成对 App 崩溃率的检测,并能清晰提供数据支撑。

6 测试性能

6.1 App 启动时长

手动启动 App5 次,记录启动时长。测试结果如下:



启动时长中位为 436ms。阈值为 5000ms,华为 AG Connect 确页也能统计 APP 启动耗时。

6.2 页面渲染时长

我们点击跳转按钮,打开第二个页面,重复 5 次。测试结果如下:



从上图可以看出,我们记录了 5 个样本,具体里面有什么关键信息,是否数据提供? 点击查看详情:



由于只有一个测试版本,因此版分布显示为 1.0,页面缓慢帧占比为 40%。此外我们还可以产看前台停留时长、后台时长等数据,此次为人为手动测试,只看是否存在数据,发现数据着正常,因此我们不做分析。华为应用市场 AG Connect 能正确统计 APP 页面加载时长、用户停留时长等数据,是一个不错的 App 性能统计服务类产品。

7 结论

我们本着对 APP 极致体验的方向出发,采用启动速度,秒开,稳定性,页面留存页面帧率,网络延时和成功率等指标作为支撑, 通过华为 AG Connect 的能力来验证我们的 App 以上几个指标的数据,由于篇幅关系,本次测评也主要从崩溃,性能两个关键功能做了测试。

7.1 竞品效果对比

本人之前有过其他两款产品友盟和 talkingdata 的项目经验,综合本次使用情况,针对三款产品对比如下:



可以看出华为应用市场 AG Connect 在启动次数、渠道统计、生态服务等方面表现出优势。本次的测试结果符合我们的预期,基本上满足了我们的诉求点,从 App 启动速度、页面加载时长,页面帧率、崩溃、到网络延时方面,都有明确的数据和可视化后台,从而辅助开发者检测自己 App 的性能。通过以上性能管理能力,我们也能去开发和维护一个优秀,满足用户极致体验的 App。

7.2 华为应用市场 AG Connect 的特点

最后本次测评,得出华为应用市场 AG Connect 的特点:


1、严格遵从 gdpr 的,作为数据处理者不会获取和查看开发者应用的数据;


2、崩溃统计精确、性能管理能力体验优良、可视化后台稳定;


3、且目前大部分能力是免费的,适合开发者使用;


4、生态配套丰富,包含了应用市场、推送服务、云部署、云测试云储存、云托管、设备唯一识别、应用内分发等优秀服务。


华为应用市场 AppGallery Connect 致力于为应用的创意、开发、分发、运营、经营各环节提供一站式服务,构建全场景智慧化的应用生态体验。华为应用市场 AppGallery Connect 深度整合华为内部各项优质服务,将华为在全球化、质量、安全、工程管理等领域长期积累的能力开放给开发者,大幅降低应用开发与运维难度,提高版本质量,开放分发和运营服务,帮助开发者获得用户并实现收入的规模增长。


2020-08-14 17:192717

评论

发布
暂无评论
发现更多内容

行云创新完成B轮融资,阿里云独家投资

行云创新

阿里云 云原生 投资

架构实战营-模块三

Cingk

被面试官问的Android问题难倒了,深度集成!

欢喜学安卓

android 程序员 面试 移动开发

FBI 警告称,网络犯罪分子可能以 2021 年东京奥运会为目标!

郑州埃文科技

被转载10W次的:Java小白系统资料和职业规划路线

java小李

java基础

Vue进阶(九十四):自定义组件

No Silver Bullet

Vue 自定义组件 7月日更

《MyCat数据库的基础配置及使用》

java小李

java 14 mycat

淘宝一面:说一下 Spring Boot 自动装配原理呗?

java小李

面试 java 14 sping

《分享几道高频 Redis 高频面试题,面试不用愁》

java小李

Redis Stream

最新流行的6大优秀DevOps工具

java小李

java 14 puppeteer

拨云开雾!阿里面试官力荐Java开发必看的操作系统底层原理PDF

Java架构追梦

Java 阿里巴巴 架构 面试 操作系统

DAPP智能合约开发|智能合约搭建

Geek_23f0c3

区块链 智能合约 DAPP智能合约交易系统开发 DAPP系统开发

请谈下Android消息机制,成功拿下大厂offer

欢喜学安卓

android 程序员 面试 移动开发

幸福的人在当下就活出了幸福的样子|靠谱点评

无量靠谱

华为助力高校释放能量,加速中国从开源使用大国向贡献大国转变

科技热闻

向大佬学习!「mybatis查询匹配机制」,手动点赞

java小李

java 14 Mybati

携生态伙伴展示AI计算盒参考设计最新成果 英特尔点亮智能边缘广阔机遇

E科讯

GitHub标星139K的:“嵌入式Linux系统开发教程”

白亦杨

如何借用第三方APM工具, 为移动应用保驾护航

APM

架构训练营模块3课后作业-学生管理系统详设文档

喻高咏        

对象存储手把手教三 | 数据分段上传

QingStor分布式存储

对象存储 分布式存储 数据传输

速来围观!大佬把Java基础核心知识整理成了PDF版

java小李

Java开发手册 Java 开发

DeFi智能合约DAPP开发|DeFi项目源码

Geek_23f0c3

DeFi去中心化系统开发 DAPP智能合约交易系统开发

技术解码 | GB28181协议简介及实践

腾讯云音视频

腾讯云 ffmpeg 流媒体 视频监控系统

解决方案| 全民抗“灾”- 实时音视频在应急指挥场景的应用

anyRTC开发者

音视频 WebRTC 指挥调度

Recommending movies: retrieval

毛显新

tensorflow 推荐系统

面试题:JVM在Java堆中对对象的创建、内存结构、访问方式

java小李

java 14 sping

大学四年Java学习路线规划,所有私藏资料我都贡献出来了

java小李

spring Java web

深度融合,云管理平台助推政府实现“最多跑一次”改革

BoCloud博云

云计算 云管理平台 云管理

基于 Java Spring Security 的关注微信公众号即登录的设计与实现ya

哈德韦

spring security 微信公众号 Apache Pulsar SSO

一条SQL语句执行得很慢的原因盘点

北游学Java

Java MySQL

基于HUAWEI AppGallery Connect开发了一款App,我得出了这几点结论!_移动_InfoQ精选文章