写点什么

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

评论

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

如何快速开发一个健康助手,实时守护用户健康

HarmonyOS SDK

什么是企业知识库?有什么作用?如何搭建?@附源码

金陵老街

Java、 企业数字化转型 spring-boot

修筑产学研用一体化的通衢,从一场比赛背后瞭望苏州园区人才培养新范式

脑极体

你以为的推荐系统,其实只是推荐模型

OneFlow

机器学习 推荐系统 推荐模型

《键值型数据库系统技术及节能要求》团体标准发布,腾讯、京东、北邮等联合发起

科技热闻

​DTSE Tech Talk丨第3期:解密数据隔离方案,让SaaS应用开发更轻松

华为云开发者联盟

SaaS 企业 华为云

从 Angular Component 和 Directive 的实例化,谈谈 Angular forRoot 方法的命令由来

汪子熙

typescript 前端开发 angular web开发 8月月更

使用 Presto 和 Alluxio 在 AWS 上搭建高性能平台来支持实时游戏服务

Alluxio

游戏 AWS presto Alluxio 8月月更

基于keil5新建STM32F10x寄存器版本工程

DS小龙哥

8月月更

为什么程序员都不喜欢使用 switch ,而是大量的 if……else if ?

TimeFriends

8月月更

数字知识库-知识图谱管理系统

金陵老街

Java 数字化 知识图谱 企事业系统

博睿数据入选《2022爱分析· 银行数字化厂商全景报告》

博睿数据

银行 智能运维 博睿数据

四个层次管好设备,为生产保驾护航

PreMaint

预测性维护 设备管理 设备预测性维护

一套优秀的直播系统源码是什么样的?起码要有这五个模块

开源直播系统源码

软件开发 直播系统 直播系统源码 钠斯直播系统

打了15天,如何做到在容器权限上不失一分?

青藤云安全

容器安全 攻防演练

【LeetCode】爱吃香蕉的珂珂Java题解

Albert

LeetCode 8月月更

一文搞懂EMAS Serverless小程序开发|电子书免费下载

hum建应用专家

Serverless emas

数据中台逼近炒作顶峰之际,Gartner给想建数据中台的一些建议

雨果

数据中台 Gartner

前端监控系列3 | 如何衡量一个站点的性能好坏

字节跳动终端技术

字节跳动 前端 性能监控 火山引擎 站点性能

阿里云携手卫宁健康发布WinCloud智慧医疗云联合解决方案,打造新一代智慧医疗系统

阿里云弹性计算

云服务器 分布式云 云盒 本地化部署

压力测试-JMeter常用插件、服务器硬件监控

程序知音

Java 程序员 后端 后端技术

那些你不知道的 CSS 自定义形状网格布局

南城FE

CSS 前端 布局

基于RPC接口的业务侧流量回放

转转技术团队

测试工具 流量回放 测试方案

深度解读 | 关于SBOM最基础元素,你需要知道的(Part II)

安势信息

#开源 #SBOM 软件供应链安全 SBOM最基础元素 开源安全与治理

龙蜥开发者说:我眼里的龙蜥社区:一个包容的大家庭 | 第 10 期

OpenAnolis小助手

Linux 开源 操作系统 龙蜥开发者说 参与贡献

开源一夏 | 在 STM32L051 上使用 RT-Thread (三、无线温湿度传感器 之 I2C通讯)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

手摸手告诉 UI 妹子数据可视化 20 条优化细则【切图仔直接收藏】

掘金安东尼

前端 UI 8月月更

云原生(二十一) | Kubernetes篇之深入了解Ingress

Lansonli

云原生 8月月更

快速搞懂Mysql中BufferPool底层原理

知识浅谈

Buffer Pool 8月月更

Spring进阶(五):Spring事务管理(详解+实例)

No Silver Bullet

spring 事务管理 8月月更

高效完成需求计划的四个关键 | 敏捷开发

LigaAI

Scrum 敏捷开发 Sprint LigaAI spring event

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