美文网首页
App热更新

App热更新

作者: 不爱敲代码的程序员 | 来源:发表于2021-07-28 10:55 被阅读0次

开发App,更新迭代是至关重要的,虽说有应用市场来更新,但实际上,在需要紧急发布一个新版本时,应用市场的更新是需要审核时间的,以Apple为例,一般都是前一天发布,到第二天早上之前就会有结果,Android市场也大多不一样,尤其遇到周末或者节假日,会向后顺延。所以APP应用内更新就至关重要。
目前app更新分为整包升级和热更新。整包升级这里不多说,就是将整个apk文件下载安装,但前提是包名和证书要不变,这样才能覆盖之前的版本。ios直接安装ipa会失败,所以只能去App store去更新。
以下主要说下热更新。

一、介绍

热更新,是打包成wgt资源升级包,通过网络下载更新应用。一般来说,前端如果改动了一些js代码或者样式之类的,但上市场需要时间,整包下载包体积又太大,所以此时考虑热更新方式,是最合适不过的。

优点:

1 体积很小,用某个项目为例,整个apk大小在38M左右,wgt包大概在5M左右,这意味着用户在下载时,速度快,流量少。
2 不需要安装,只需要调用相关api重启即可。

二、操作

以uniapp的项目为例,打包wgt就不用多说了,Hbuilderx一看就会,注意版本号即可。
客户端通过调用接口,下载wgt包,来看下客户端怎么操作,代码供参考:

plus.runtime.getProperty(plus.runtime.appid, function(infor) {  
    uni.request({  
        url: 'http://',  
        data: {  
            version,
            name 
        },  
        success: (result) => {  
            var url= result.url;  
            var version=result.version
            if (version>Info.version) {  //版本号的判断
                uni.downloadFile({  
                    url,  
                    success: (res) => {  
                        if (res.statusCode === 200) {  
                            plus.runtime.install(res.tempFilePath, {  
// 仅安装wgt和wgtu时生效,默认值 false,true表示强制安装,不进行版本号的校验;false则需要版本号校验,所以依照实际情况应用
                                force: false  
                            }, function() {  
                                //下载完之后,需要进行应用的重启才能完成热更新。
                                plus.runtime.restart();  
                            }, function(e) {  
                                console.error('install fail...');  
                            });  
                        }  
                    }  
                });  
            }  
        }  
    });  
});  

三、注意事项

资源热更新存在以下情况是不适合用热更新的方式更新的:
1 仅在App平台应用,其他平台不适用;
2 原生插件的增改;
3 如果之前项目中并没有nvue文件,但更新时增加了nvue文件;
4 SDK有调整,比如新增了UNIPUSH模块,Maps 模块等;
5 基座的匹配,如果前一个版本的基座跟wgt打包时的基座不同,则更新完之后,开启app会有提示信息。这个当然不好,当然也可以去配置忽略这个提醒;但最好还是采用整包升级的方式了。

四、Tip

Tip1: 如果整包升级时,版本号高于应用市场的版本,用户安装之后,再卸载,再从市场下载低版本,则会安装失败。但如果使用热更新的版本更新,则不会出现从应用市场安装低版本失败的情况。以上这种情况存在的前提条件是:华为手机,存在隐私空间。其他机型没有测试过。
Tip2:热更新使用是很普遍的,但不要在应用市场审核期间,弹出热更新的提示。
Tip3:热更新内容使用https下载,避免被第三方劫持;

相关文章

  • APP热更新

    用处: 1.在不发新版本或者来不及发新版本的情况下修改BUG。 2.在不发新版本的情况下 实现APP的动态运营,试...

  • App热更新

    开发App,更新迭代是至关重要的,虽说有应用市场来更新,但实际上,在需要紧急发布一个新版本时,应用市场的更新是需要...

  • ionic3 热更新 填坑过程

    最近公司做了手机app需要使用到热更新,先对热更新进行一个简单的介绍吧;` 热更新 热更新是一种app的常用更新方...

  • 热更新

    热更新技术背景 1.热更新定义,APP热更新,就是指软件不通过苹果APP Store的版本更新审核,直接可以自行更...

  • app“热更新”将被苹果商店下架?拼多多就是最好的例子!

    导读:什么是热更新?事实上,“热更新”一般是众多手游app常用的更新方式,即用户通过App Ste下载App之后,...

  • uniapp端更新升级

    App端更新升级 app升级分为两种:整包/资源热更新 整包更新,即常规的整个App安装包重新下载安装。 资源热更...

  • html5移动app框架ionic热更新插件-不发布应用市场动态

    html5移动app框架ionic热更新插件-不发布应用市场动态更新APP源码 ionic热更新插件主要是指不让用...

  • 热更新热修复

    热更新 热更新是一种各大手游等众多APP常用的更新方式。简单来说,就是在用户下载安装APP之后,打开App时遇到的...

  • uni-app 更新、热更新

  • 启动页 和引导页 的更新

    启动页 和引导页 的更新: 一、 企业账号。就是热更新 , 可以更新掉整个app的内容。 用户进入app,经过...

网友评论

      本文标题:App热更新

      本文链接:https://www.haomeiwen.com/subject/dlkumltx.html