App 的 JS 改动无需重新提交应用商店审核,H5 网站同样按比例灰度上线。平台负责自动打包、加密、灰度发布与一键回退,三端、多个产品统一管理,数据和服务完全掌握在自己手里。
从提交代码到全量上线,每一步都有人负责、有记录可查。
复用公司已有的 GitLab,只新增一个自建平台;签名私钥不存放在平台,平台即使被攻破也无法伪造更新包。
审批、灰度、白名单、一键回退、操作记录、控制台与流水线三端共用一套,只有下发方式按端区分。
App 内 SDK 检查、下载、校验并安装新包;新包崩溃自动回滚。
与 iOS 同一套机制与安全措施,服务端与打包命令已预留支持。
用户访问时,平台按灰度比例与白名单为其选择版本;同一用户始终看到同一版本,禁用后刷新即回到上一版本,无需安装任何 SDK。
CodePush 是微软的热更新服务,所在的 App Center 已于 2025 年 3 月停止服务;继续使用只能依赖社区维护的自建版本。
平台与 SDK 全部自研自建,代码和数据都在自己手里,可随 React Native 新版本持续升级。
每个版本一把随机密钥加密,CDN 上的文件即使被下载也无法还原 JS 代码;同时强制签名,防止被篡改。
提交代码自动打包到测试通道,网页也可选任意提交打包,不需要开发在本机执行命令。
推到正式环境必须由发布负责人在网页审批,申请人不能自审,所有操作留记录。
白名单设备可提前体验;按设备 ID 查询检查与安装记录,快速定位个别用户问题。
服务与 CDN 部署在国内云,下载更快;设备数据不出境。
iOS、Android、H5 共用审批、灰度、回退与数据统计,团队只需学一套流程。
与 CodePush 同等具备:按比例灰度、新包崩溃自动回滚、Hermes 字节码、可选/立即/下次启动三种生效方式。
综合来看,我们是唯一同时做到「自建可控 + 包加密 + 审批 + 网页触发打包」的方案。
| 能力 | 我们的平台 | CodePush(已停服) | Expo EAS Update | Pushy(国内 SaaS) | 开源 code-push-server |
|---|---|---|---|---|---|
| 支持端 | iOS / Android / H5 | iOS / Android | iOS / Android | iOS / Android | iOS / Android |
| 部署方式 | 自建,数据自有 | 微软云,已停服 | Expo 云 | 第三方云 | 自建 |
| 费用 | 只有服务器与 CDN 成本 | — | 按月活用户计费 | 按套餐计费 | 服务器成本 |
| 国内访问速度 | 快(国内 CDN) | 慢 | 一般(海外服务) | 快 | 取决于部署 |
| 包内容加密 | ✓ 每版本独立密钥 | ✗ | ✗(只签名) | ✗ | ✗ |
| 强制签名防篡改 | ✓ | 可选 | 可选 | — | 可选 |
| 上线审批 | ✓ | ✗ | ✗ | ✗ | ✗ |
| 提交代码自动打包 | ✓ 推送即打包 + 网页触发 | ✗ | ✓(EAS 工作流) | ✗ | ✗ |
| 灰度发布 | ✓ 比例 + 白名单 | ✓ | ✓ | ✓ | ✓ |
| 崩溃自动回滚 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 单设备排查 | ✓ | ✗ | 有限 | 有限 | ✗ |
| 多品牌隔离 | ✓ 独立密钥与通道 | ✓ | ✓ | ✓ | ✓ |
| 差量更新(省流量) | 规划中 | ✓ | 部分 | ✓ 强项 | ✓ |
| 不依赖 Expo 框架 | ✓ | ✓ | 需接入 Expo 模块 | ✓ | ✓ |
说明:其他平台信息基于公开资料整理,各平台功能与价格可能已有更新,正式选型前建议以官方最新文档为准。
如实列出,避免上线后才发现。
每次下发完整包,流量比差量方案大。计划在业务层完成后单独补充。
目前只有 iOS 可用;阶段一完成后依次开发 Android 与 H5。
自建意味着要维护服务器、数据库与 CDN;服务无状态,可直接扩容。
共 11 个批次、3 个阶段;目前已完成第 1 批,下一步是数据层。
首批接入哪些产品、品牌与 H5 站点?
包文件存储使用阿里云 OSS 还是腾讯云 COS?
现有 H5 部署在哪里,入口能否交给平台接管?
设备上报数据保留多久?建议 90 天。