技术干货 | 应用上线前的“体检”,你知道需要检测哪些指标吗?

简介: 应用上线前检测哪些项目?如何检测?检测数据指标包括哪些?

封面图0416.jpg随着越来越多的企业基于 mPaaS 搭建并上线新的 App,App 的上线质量也成为各个客户关注的重点。上线前检测哪些项目?如何检测?检测数据指标包括哪些?


借着上次去 XX 农信客户去做线上功能检测,加上之前多个 mPaaS 历史项目的经验总结,将 App 上线前 mPaaS 相关检测内容整理沉淀如下。



一、安全性

1.1 RPC 是否开启国密加密

对 App 来说,数据通信安全至关重要,mPaaS 已经支持 ECC、RSA 和国密(SM2)三种方式。其中,在金融行业 App 内建议开启加密配置为 SM2 国密加密,满足行业监管要求。配置可以参考产品文档:数据加密


1.2 离线包是否开启验签

1.png


为了保证下发到本地离线包的安全性,mPaaS 提供了离线包验签机制,保证了离线包的安全性。整体示意图如上所示,用户设置流程如下:

  1. 开发者配置好一对公私钥,私钥放在服务端用于对离线包签名,公钥放在客户端,用于对签名对验证。
  2. 在离线包发布平台,如果配置了签名私钥,平台下发的 amr 文件就会带上签名信息(通过私钥对离线包的 hash 值加密后得到的密文)。
  3. 客户端在拿到 amr 包并解压后,客户端会使用在项目中预置的公钥进行签名的验证(解密上一步的密文得到一个 hash 值,同时本地计算离线包的 hash 值,判断两者是否相同),如果相同则通过验证。
  4. 如果签名校验失败,则删除离线包走 fallback 地址。


通过离线包的验签机制,可以达到以下的目的:

  1. 保证了离线包的内容完整,解决解压异常,读取异常下的正常显示
  2. 保证了离线包的来源正确,不被本地恶意篡改


1.3 userId 信息是否设置正确

因为 userId 会被后续用到很多地方,比如推送,白名单。所以一般建议选择服务端的 userId 字段作为存储字段,方便后续和服务端做 userId 字段同步,不建议存储个人手机号或者身份证等个人信息作为 userId。


1.4 埋点信息是否包含敏感信息,比如交易单号

考虑到埋点的量级很大,所以 mPaas 的埋点默认本地是没有做数据加密的,所以埋点信息不建议包含敏感字段,防止由于埋点导致信息泄漏。敏感字段建议走 RPC 的数据通道上报,保证数据安全。如果有埋点埋敏感字段的诉求,需要主动开启埋点的本地加密配置。


1.5 隐私权限配置

由于现在监管机构对隐私权限管控比较严格,mPaas 针对权限管控做了对应的接入方案。需要需要确保上线前隐私权限相关配置已经正常接入。



二、稳定性

2.1 验证在 Android4.X 版本的是否可以正常使用

mPaaS 最低支持 Android 4.3 版本以上,所以发布前需要验证下低版本 Android 设备的可用性,遇到比较多的是在 Android 4.X 设备上由于多 dex 加载导致的类找不到导致的安装闪退问题。


2.2 iOS 符号表是否正常上传

发布前需要确保 iOS 的符号表已经上传到 mPaaS 后台,方便后台反解闪退信息。


2.3 热修复模块是否接入并且验证通过

发布前需要确保热修复模块的正常接入以及验证通过,保证上线有针对 Native 模块的热修复能力,保证异常场景下的修复能力。


2.4 离线包 Fallback 域名确认

确认 Fallback 域名是否是外网可访问的地址,遇到过发布后下发的还是内网地址的 case。


2.5 离线包模块接入 CDN

上线前做好容量评估,默认 mPaaS 的离线包是存储在 OSS 内的,但是一般建议针对离线包模块接入 CDN,通过 CDN 的缓存功能解决因为离线包下载导致带宽打满的风险,同时相对于 OSS 存储来说,CDN 的费用更低。接入示意图如下:

2.png


2.6 RPC 核心链路接口压测

上线前需要对 App 核心链路的 RPC 接口做性能压测,获取接口性能瓶颈,可以用做后续的限流值的设定参考。同时需要针对 RPC 限流场景做演练,防止上线限流后客户端出现各种异常。


2.7 发布更新功能可用

上线前需要验证发布 apk 功能可用,包括发布更新的强制更新功能,保证在极端场景下,需要强制升级使用。



三、性能体验

3.1 离线包离线功能是否正常生效

确保离线包的离线功能正常使用,防止由于离线包各种配置问题导致离线功能不生效。


3.2 UC 内核是否正常接入

确保 UC 内核正确配置接入,主要解决系统 WebView 下的各种兼容性问题。同时 UC 提供了很好的稳定性,比系统 WebView 更稳定。


3.3 核心链路离线包是否预制

在发布前,需要预制核心链路离线包,保证核心链路在极端异常场景下仍然可以打开。


作者介绍.png

动态-logo.gif

底部banner.png

点击下方“阅读原文”,了解「mPaaS」更多资讯。

相关文章
|
数据处理
详细讲解ArcGIS中栅格计算器常用函数的使用
详细讲解ArcGIS中栅格计算器常用函数的使用
2835 1
|
传感器 存储 边缘计算
3000字11张图硬核科普:什么是边缘计算?与云计算有什么联系和区别?
边缘计算是 现代IT 网络架构的一种创新的、革命性的方法,计算处理去中心化并在靠近数据源的网络“边缘”执行它,数据不再发送到云或任何单个数据处理中心,而是被发送到靠近传感器或生成此数据的设备数据源,极大的提高了数据的处理速度,节省了大量的带宽,还提高了数据的安全性。
2124 0
3000字11张图硬核科普:什么是边缘计算?与云计算有什么联系和区别?
|
10月前
|
JSON API 开发工具
百宝箱开放平台 ✖️ 调用插件工具
开发者可通过调用百宝箱插件接口,在外部系统中使用其提供的各类工具。需在请求头中提供有效授权令牌,并在请求体中指定工具ID及参数,支持JSON格式通信,返回结果包含执行状态与数据详情。
809 0
|
10月前
|
供应链 搜索推荐 API
从0到1掌握1688API:图片搜索获取技巧与避坑指南
1688图片搜索API基于图像识别技术,支持上传JPG/PNG格式图片(Base64或URL),实现同款或相似商品搜索。适用于电商选品、供应链管理等场景,提供价格、销量等多维度筛选,返回商品ID、标题、价格、销量及供应商信息。
|
存储 搜索推荐 安全
《对话记忆的进化史:智能体大模型如何实现跨轮次的深度交互》
这段内容介绍了智能体大模型在多轮对话中构建长期记忆的技术与应用。通过数据库、向量数据库和知识图谱等工具,智能体能整合用户信息,提供个性化服务。RAG技术连接当前需求与长期记忆,实现精准信息检索与生成。分层记忆架构模仿人类记忆机制,包括工作记忆、短期记忆和长期记忆,确保对话连贯性与准确性。时间感知与情节化管理优化回忆过程,动态参数更新与个性化微调使模型更“聪明”。此外,MemoryBank、记忆变量等设计保障多用户场景下的信息安全。未来,这些技术将在跨语言、情感交互等领域实现更深层次的应用,让智能体成为用户的贴心伙伴。
784 29
|
JavaScript 前端开发 Java
Jeesite5:Star24k,Spring Boot 3.3+Vue3实战开源项目,架构深度拆解!让企业级项目开发效率提升300%的秘密武器
Jeesite5 是一个基于 Spring Boot 3.3 和 Vue3 的企业级快速开发平台,集成了众多优秀开源项目,如 MyBatis Plus、Bootstrap、JQuery 等。它提供了模块化设计、权限管理、多数据库支持、代码生成器和国际化等功能,极大地提高了企业级项目的开发效率。Jeesite5 广泛应用于企业管理系统、电商平台、客户关系管理和知识管理等领域。通过其强大的功能和灵活性,Jeesite5 成为了企业级开发的首选框架之一。访问 [Gitee 页面](https://gitee.com/thinkgem/jeesite5) 获取更多信息。
996 0
Jeesite5:Star24k,Spring Boot 3.3+Vue3实战开源项目,架构深度拆解!让企业级项目开发效率提升300%的秘密武器
|
消息中间件 供应链 JavaScript
如何开发供应商管理系统中的质量协同板块(附架构图+流程图+代码参考)
供应商管理系统中的质量协同板块,连接采购、质检与供应商,实现来料检验、退货处理与问题改善的数字化协作。通过“来料检验单”、“采购退货单”和“8D改善报告”三大实体,详解功能设计、业务流程及开发实现,助力企业提升供应链稳定性与质量管理水平。
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
690 3
|
JSON 关系型数据库 MySQL
MySQL全文搜索与JSON支持:高效检索与灵活数据处理
本文深入探讨了MySQL数据库中的全文搜索与JSON支持,通过详细的代码示例,阐述了全文搜索的原理、全文索引的创建,以及JSON数据类型的使用与操作。全文搜索在数据库中的重要性日益凸显,MySQL提供了全文索引来实现高效的文本数据检索,通过MATCH AGAINST语句,可以轻松地进行全文搜索操作。此外,MySQL的JSON支持为半结构化数据的存储和查询提供了灵活的解决方案,您可以存储JSON对象、数组等数据,并使用JSON函数来查询和修改数据。
1731 0
|
机器学习/深度学习 缓存 数据可视化
Streamlit入门指南
Streamlit是Python库,用于创建交互式数据科学和机器学习Web应用。它简化了定制Web应用的创建,提供内置小部件和工具进行数据展示、用户输入处理和自定义可视化。快速入门涉及安装Streamlit、导入库、定义应用并使用`streamlit run`命令运行。示例代码展示了如何创建一个显示滑块和正弦图的应用。最佳实践包括组织代码、利用缓存、优化布局以及使用内置功能。Streamlit Gallery提供了更多应用示例,如文本生成器和图像分类器。
1921 0