HarmonyOS 鸿蒙Next 应用内app整包更新

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 应用内app整包更新

需求: 实现应用内整包更新。
1.看到官方api是使用 应用市场服务中的updateManage检查更新和弹出更新弹窗,应用未上线的话这个功能有办法测试么?
2.如果像Android端一样,将打包好的app安装包放在自己服务器上可以下载安装么?如果可以的话,麻烦提供个例子或者demo

2 回复
第三方应用app可以拉起纯鸿蒙应用市场,并跳转到某个指定应用的详情页面。

实现逻辑

基于context.startAbility方法拉起指定应用,并携带参数。其中type是固定配置值,uri是"store://appgallery.huawei.com/app/detail"拼接上id参数,才能拉起鸿蒙应用市场详情页面。

startAbility()接口跳转UIAbility参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5#uiabilitycontextstartability

Want是对象间信息传递的载体参考文档: 

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/want-V5

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-inner-ability-want-V5

Demo如下:

import Want from '@ohos.app.ability.Want';

import common from ‘@ohos.app.ability.common’;

@Entry

@Component

struct Index {

  @State appId: string = 要跳转的AppID;

  controller: TextInputController = new TextInputController();

  build() {

    Row() {

      Column() {

        TextInput({ text: this.appId, placeholder: ‘请输入应用的appId’, controller: this.controller })

          .width(‘90%’)

          .onChange((value: string) => {

            this.appId = value

          })

        Button(‘点击跳转到鸿蒙版应用市场详情页面’)

          .margin({top: 50})

          .onClick(()=>{

            const want: Want = {

              uri: store:<span class="hljs-comment">//appgallery.huawei.com/app/detail?id=${this.appId}

            };

            const context = getContext(this) as common.UIAbilityContext;

            context.startAbility(want).then(()=>{

              //拉起成功

            }).catch(()=>{

              // 拉起失败

            });

          })

      }

      .width(‘100%’)

    }

    .height(‘100%’)

  }

}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

HarmonyOS鸿蒙Next应用内app整包更新通常涉及以下步骤:

服务器端设置

  • 在服务器端维护应用版本信息的数据库,记录更新内容、发布时间、下载链接等。
  • 确保上传的更新包经过签名验证,保障安全性和完整性。

客户端实现

  • 客户端应用需定期检查更新,可通过启动时、固定时间或用户触发方式来进行。
  • 客户端从服务器获取最新版本信息,并与当前版本进行比较,判断是否需要更新。

下载与安装

  • 若需更新,客户端会下载更新包,并实现断点续传、下载进度显示等功能。
  • 下载完成后,根据应用权限和用户体验设计,可选择静默安装或提示用户确认安装。在安装前后,展示更新日志给用户。

签名验证与权限请求

  • 在安装更新包前,验证其签名以确保未被篡改。
  • 若更新涉及新权限请求,确保在合适时机向用户请求权限。

注意事项

  • 考虑到HarmonyOS支持多种设备,需注意跨设备兼容性。
  • 开发者需熟悉HarmonyOS提供的API并进行合理调用。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部