写点什么

基于 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:193261

评论

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

分布式技术专题-服务架构设计-带你统一认识一下系统架构及分析和总结

码界西柚

架构设计 总结思考 11月日更 架构介绍

敏捷中的威胁建模

刘冉

敏捷开发 威胁建模 安全测试

springboot中poi操作合集

小鲍侃java

11月日更

点进来,与白洞一起体验一场沉浸式智慧轨道之旅

白洞计划

Flink 实践教程-入门(7):消费 Kafka 数据写入 PG

腾讯云大数据

flink 流计算 Oceanus

quarkus接触研究个人总结

weir威尔

架构 微服务架构 istio Service Mesh 服务网格 Quarkus

设计消息队列存储消息数据的MySQL表格

白开水又一杯

#架构实战营

NodeJs深入浅出之旅:内存控制(上)🐍

空城机

大前端 Node 11月日更

我们的敏捷测试实践

刘冉

软件测试 敏捷测试

模块八作业

potti

Flink 实践教程-入门(6):读取 PG 数据写入 ClickHouse

腾讯云大数据

flink 流计算 Oceanus

CRM User Status profile中Business Transaction字段的用途

汪子熙

CRM SAP 订单 11月日更

dart系列之:dart类的扩展

程序那些事

flutter dart 程序那些事 11月日更

双11硝烟散去,零售业开始“外卷”

脑极体

软件安全测试

刘冉

软件测试 安全测试

Django中的超级用户和自己创建app原来这么简单!

老表

Python django web开发 11月日更 博客系统

通过 Feature Level 动态控制 SAP Spartacus 的页面显示

汪子熙

typescript angular SAP 11月日更

如何使用Camtasia给视频打码

淋雨

Camtasia

架构实战训练营模块三

人生就是梦

「架构实战营」

架构实现训练营|第 8 课|作业

Frode

【Flutter 专题】09 图解页面小跳转 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

数据服务系统0到1落地实现方案

架构 数据 系统架构 数据平台 数据服务

谁有粉?就爬谁!他粉多,就爬他!Python 多线程采集 260000+ 粉丝数据

梦想橡皮擦

11月日更

Apache Pulsar与Apache Kafka在性能、应用、生态等全方位对比

五分钟学大数据

11月日更

设计千万级学生管理系统的考试试卷存储方案

deng

架构实战营

AI 预测:基于流计算 Oceanus(Flink) 实现病症的实时预测

腾讯云大数据

flink 流计算 Oceanus

一个基于web服务器的PoW案例(二)

Regan Yue

区块链 11月日更 趣讲区块链

Flink SQL 扩展维表 Keyby 的三种实现方式

大数据技术指南

11月日更

Ubuntu安装教程【超多图】

坚果

Ubuntu20.04 11月日更

基于业务和平台理解数字营销概念

架构 CDP DSP DMP 数据服务

[架构实战营]模块三作业:学生管理系统详细架构设计

Geek_99eefd

「架构实战营」

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