为鸿蒙 Flutter 应用提供原生级别的版本检测和升级能力
背景
鸿蒙生态快速发展,越来越多的 Flutter 开发者开始将应用迁移到 HarmonyOS 平台。然而,一个关键的基础设施一直缺失——应用内版本更新检测。
在 Android 上我们有 in_app_update,iOS 上有 appstore_connect,那鸿蒙上的应用更新怎么办?
好消息是,HarmonyCandies[1] 社区出手了。🎉
update_manager_ohos 是什么?
update_manager_ohos 是一个为鸿蒙 Flutter 应用提供版本检查和升级功能的原生插件。它封装了鸿蒙官方 @hms/updateManager[2] API,让 Flutter 开发者可以一行代码完成版本检测和升级弹窗。
快速集成
添加依赖:
dependencies:
update_manager_ohos: ^0.0.1
然后直接调用:
final hasUpdate = await UpdateManagerOhos.instance.checkUpdate();
debugPrint('hasUpdate: $hasUpdate');
/// 如果有可用的更新,弹出升级弹窗
if (hasUpdate) {
final didShowDialog = await UpdateManagerOhos.instance.showUpdateDialog();
debugPrint('didShowDialog: $didShowDialog');
}
就是这么简单。两步走:
- checkUpdate() - 检测是否有可用更新
- showUpdateDialog() - 有更新时弹出系统级升级弹窗
不需要自己写下载逻辑、不需要处理权限、不需要关心安装流程——原生能力全部封装到位。
为什么推荐它?
🎯 纯原生体验
调用的是鸿蒙官方的 Store 升级能力,弹窗样式、下载流程、安装逻辑都是系统原生的,用户使用起来无缝衔接,不会有 "这个更新弹窗好奇怪" 的割裂感。
📦 零额外依赖
查看 pubspec,update_manager_ohos 除 Flutter SDK 外没有任何额外依赖。轻量、纯净、不带来冗余。
🔌 单平台专注
插件只针对 ohos 平台实现,不使用 method channel 的条件分发(非 ohos 平台什么都不做),架构思路很清晰——专注做好一件事。
🏠 社区活跃
来自 HarmonyCandies 社区,这是国内活跃的鸿蒙 Flutter 插件组织,持续维护、响应及时,有 QQ 交流群(qm.qq.com/q/ajfsyk2RcA)方便沟通反馈。
使用场景
- 常规 App 更新 - 新版本上线后,用户启动 App 自动检测
- 灰度更新 - 配合开发者后台的分发策略,控制更新范围
注意事项
- 仅支持 HarmonyOS - 这个插件专门为 ohos 平台设计,非鸿蒙平台不生效
- 依赖 Store 分发 - 更新检测基于鸿蒙应用市场(AppGallery Connect)的分发机制
- 需要在开发者后台配置 - 发布新版本后,需要配好升级策略(全量/灰度/强制等)
总结
对于正在做鸿蒙 Flutter 应用迁移的团队来说,update_manager_ohos 是应用上架后不可或缺的配套工具。它解决了 Flutter 在鸿蒙上的 "最后一公里" 问题——版本更新。
以前你要自己写一大套下载安装逻辑,还要操心权限、进度、安装状态……现在三行代码搞定。
这就是社区的力量。 🌟
插件信息:
| 项目 |
内容 |
| 包名 |
update_manager_ohos |
| 版本 |
^0.0.1 |
| 仓库 |
github.com/HarmonyCandies/update_manager_ohos[3] |
| 平台 |
HarmonyOS (ohos) |
| License |
BSD-3-Clause |
由我编著的《鸿蒙Flutter开发实战》图书已上架京东图书等各大商店,内容涵盖基础知识、鸿蒙化原理及适配、混合开发、插件开发、高级特性优化、性能分析、三方库适配、开发实战、鸿蒙PC等等,基于 Flutter 3.35 版本,是不可多得的 Flutter鸿蒙化适配工具书和实战案例,欢迎大家选购 🎉🎉🎉
系列文章「鸿蒙Flutter插件精选」持续更新中,欢迎关注!
有任何问题或建议,欢迎在评论区留言讨论 👇
引用链接
[1]HarmonyCandies: https://github.com/HarmonyCandies
[2]@hms/updateManager: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/store-updatemanager-V5
[3]github.com/HarmonyCandies/update_manager_ohos: https://github.com/HarmonyCandies/update_manager_ohos