一种基于HTML5的手机应用更新方法与流程

文档序号:19589234发布日期:2020-01-03 10:02阅读:426来源:国知局
一种基于HTML5的手机应用更新方法与流程

本发明涉及一种基于html5的手机应用更新方法。



背景技术:

传统的app安装包更新方法,从点击开始,经历下载-启动安装包-确认权限-解压安装-启动应用等多个流程,根据主流应用市场的数据,从下载到app真正激活启动,折损50%的用户,100次下载中只有50个真正启动了app;鉴于传统app的弊病,基于html5的新的app开发方式诞生了,传统的html5的原理主要是通过app里面内置一个网页浏览器,然后直接通过网址去访问服务端的资源,其更新方式为:访问到资源后,通过浏览器直接下载新的安装包,无论是大版本号内的小更新还是大版本号更新,新的安装包都将旧的安装包全部替换,也就是要将新安装包的所有资源都下载,通过这方方式开发的app在一些大型的应用市场上无法上架,而且用户体验差,下载更新占用网络扩带多,造成资源浪费,很快就被市场淘汰。

有鉴于此,本发明提出一种基于html5的手机应用更新机制。

基于html5开发的app客户端加载静态资源并且考虑资源局部更新的app开发方式应运而生,它充分考虑了以上两种方式的弊端,提出了一套新的app更新机制,在基于html5程序可以达到原生效果的同时,又可以实现小迭代的快速更新。



技术实现要素:

本发明为解决上述问题,提供了一种基于html5的手机应用更新方法,采用基于html5开发的app客户端加载静态资源同时考虑资源局部更新的app发布方式,以解决传统app更新占用网络资源、用户体验差的问题。

为实现上述目的,本发明采用的技术方案为:

一种基于html5的手机应用更新方法,包括以下步骤:

s1.服务端发布和更新:根据运行库的用户标识与应用标识判断app是否为首次发布,如果是则直接从建模库复制app的所有资源到运行库,并在更新日志中记录初始版本号,否则该app已发布或已多次发布,则比较运行库版本号与建模库版本号或者比对运行库与建模库的资源,若建模库版本号大于运行库版本号或者运行库与建模库的资源存在差异,则从建模库复制需要更新的资源到运行库进行局部更新,并在更新日志中记录新的版本号;

所述建模库为app开发库,用于开发新的资源,所述运行库为app发布平台,用于为手机端提供apk安装包或需要更新的资源;

s2.手机端更新:从手机端启动app时,获取上一次更新后记录的手机端版本号以及当前服务端运行库发布的版本号,所述版本号由大版本号和大版本号下的资源序列号组成;

然后比较当前手机端的版本号与服务端的版本号,若服务端的大版本号高于当前的手机端的大版本号,则提示用户进行跨版本更新,即从服务端的运行库下载最新的apk安装包进行更新,并在手机端记录新的版本号,否则判断服务端的资源序列号与手机端的资源序列号是否一致,若不一致则提示用户进行版本内更新,即根据大版本号下的资源序列号从服务端下载需要更新的资源,并记录新的版本号。

所述app的所有资源包括固定对象资源与非固定对象资源,所述的固定对象资源包括应用资源、界面头部资源、导航栏资源和页面资源,所述的非固定对象资源为页面资源列表中所记录的资源;

在服务端更新时,如果需要更新的资源是应用资源、界面头部资源和导航栏资源中的一个或多个,则比较建模库与运行库的版本号,如果建模库版本号高于运行库版本号,则从建模库复制需要相应的资源到运行库进行更新,并记录新的版本号;

在服务端更新时,还将运行库与建模库的页面资源列表进行比对,判断页面资源列表中所包括的资源是否需要进行新增、删除或者修改,若建模库的页面资源列表包含的资源在运行库的页面资源列表没有包含,则在运行库新增该资源;若建模库的页面资源列表没有包含的资源在运行库的页面资源列表有包含;则在运行库删除该资源;若建模库与运行库的页面资源列表包含相同的资源,且建模库版本号高于运行库,则在运行库修改该资源;

最后,把前述所有的资源更新保存中运行库的更新记录表中,再获取最近两个旧版本号,清除旧版本号之前的资源更新记录,根据本次需要更新的资源合并成新的资源序列号,从而生成新版本号。

采用上述技术方案后,本发明具有以下优点:

一、通过在服务端的资源发布和更新的设定以及手机端更新设定,实现大版本以上更新与大版本内更新的划分;

二、服务器端与手机端大版本内更新均采用局部更新的方式,实现静态资源在版本内的快速迭代以及bug修复,避免app打包的繁琐流程及上架长时间的审核等待;

三、大大节省了传统手机app更新占用的网络资源,提升了用户体验。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明app版本更新流程图;

图2为本发明app服务端更新流程图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1和2所示,本发明的一种基于html5的手机应用更新方法,包括以下步骤:

s1.服务端发布和更新:根据运行库的用户标识与应用标识判断app是否为首次发布,如果是则直接从建模库复制app的所有资源到运行库,并在更新日志中记录初始版本号,否则该app已发布或已多次发布,则比较运行库版本号与建模库版本号或者比对运行库与建模库的资源,若建模库版本号大于运行库版本号或者运行库与建模库的资源存在差异,则从建模库复制需要更新的资源到运行库进行局部更新,并在更新日志中记录新的版本号;

所述建模库为app开发库,用于开发新的资源,所述运行库为app发布平台,用于为手机端提供apk安装包或需要更新的资源;

s2.手机端更新:从手机端启动app时,获取上一次更新后记录的手机端版本号以及当前服务端运行库发布的版本号,所述版本号由大版本号和大版本号下的资源序列号组成;

然后比较当前手机端的版本号与服务端的版本号,若服务端的大版本号高于当前的手机端的大版本号,则提示用户进行跨版本更新,即从服务端的运行库下载最新的apk安装包进行更新,并在手机端记录新的版本号,否则判断服务端的资源序列号与手机端的资源序列号是否一致,若不一致则提示用户进行版本内更新,即根据大版本号下的资源序列号从服务端下载需要更新的资源,并记录新的版本号。

所述app的所有资源包括固定对象资源与非固定对象资源,所述的固定对象资源包括应用资源、界面头部资源、导航栏资源和页面资源,所述的非固定对象资源为页面资源列表中所记录的资源;

在服务端更新时,如果需要更新的资源是应用资源、界面头部资源和导航栏资源中的一个或多个,则比较建模库与运行库的版本号,如果建模库版本号高于运行库版本号,则从建模库复制需要相应的资源到运行库进行更新,并记录新的版本号;

在服务端更新时,还将运行库与建模库的页面资源列表进行比对,判断页面资源列表中所包括的资源是否需要进行新增、删除或者修改,若建模库的页面资源列表包含的资源在运行库的页面资源列表没有包含,则在运行库新增该资源;若建模库的页面资源列表没有包含的资源在运行库的页面资源列表有包含;则在运行库删除该资源;若建模库与运行库的页面资源列表包含相同的资源,且建模库版本号高于运行库,则在运行库修改该资源;

最后,把前述所有的资源更新保存中运行库的更新记录表中,再获取最近两个旧版本号,清除旧版本号之前的资源更新记录,根据本次需要更新的资源合并成新的资源序列号,从而生成新版本号。

上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1