界面跳转方法及装置的制造方法_2

文档序号:9750869阅读:来源:国知局
跳转行为就能发生对应的变化,不仅能够有效避免界面跳转存在重复代码,有效 避免服务端维护多版本的接口代码,而且在线上客户端部分功能出现问题时,还能够有效 地提供一个覆盖或关闭的处理方法。
[0040] 在本实施例中,通过将界面跳转的跳转指向,跳转参数配置等封装成文本数据结 构,由服务器提供,客户端提供对这种数据格式的支持,从服务端获取数据并实现跳转。下 面举例说明。
[0041] 在上述服务端确定用于在客户端执行界面跳转的跳转配置时,该服务端可以确定 跳转配置的额外项:统一资源定位符URL,其中,该URL用于指示客户端在客户端无法依据跳 转配置执行界面跳转的情况下,采用URL对应的网页来执行界面跳转。需要说明的是,客户 端无法依据跳转配置执行界面跳转的原因可能较多,例如,可能是数据结构的不支持、也可 能是客户端代码出错,或者其他原因。即,只要客户端无法依据跳转配置中所配置的跳转参 数来完成界面跳转,那么就采用该URL对应的网页来完成界面跳转。
[0042] 例如,定义界面跳转一般需要以下元素:跳转的指向(从哪个界面跳转到哪个界 面);被打开界面所需要的参数(类型,个数);通用的配置项;在本实施例中,还提供了以下 额外项:被打开界面的HTML退化版本(实现与客户端原生版本一样或相近的功能,可为空)。 需要说明的是,该URL的格式可以为多种格式,优选地,该格式可以为超文本标记语言HTML 格式。将以上数据以常见的数据交换格式封装(例如,json,xml等,其中,json/xml:常见的 数据交换格式,常用于服务端与客户端的数据交换),以下是一份以json格式封装的示例:
[0043]
[0044]
[0045] 其中title,show_title,bg_color字段为通用配置项,param字段为被打开界面所 需要的参数,type字段决定跳转的指向,fallback_url字段为退化版本的url。
[0046] 在客户端中,对这种数据结构提供支持,在需要灵活配置的支持点击跳转的UI元 素上,都应用这种数据结构,由服务端提供这种数据结构。这样就可以在服务端灵活地配置 决定客户端上的跳转行为,实现重定向,关闭,交换等功能。
[0047] 在服务端灵活配置客户端的跳转配置时,灵活配置可以通过各个方面来体现,例 如,可以依据客户端的实际场景下进行配置,例如,依据客户端的实时场景来确定该跳转配 置:依据客户端的系统时间(例如,年,月,日,星期,时刻)不同,来由该第一预定第一界面跳 转为不同的预定第二界面,或者,依据客户端所显示的上述预定第一界面上显示的不同内 容(例如,上述预定第一界面上显示的仅为文本,上述预定第一界面上显示仅为图片,上述 预定第一界面显示的包括文本和图片),来由该预定第一界面跳转为不同的预定第二界面。
[0048]即在上述实施例中,当版本更新后,如果参数发生了改变,可以在上述数据结构中 提供一个URL(统一资源定位符,一个泛指网址),提供与更新后功能类似的网页版本,低版 本客户端利用这个网页来实现功能,服务端可以直接取消对老版本参数的支持。
[0049]当已发布的客户端代码发生问题导致应用崩溃或者功能不正常时,可以通过使用 网页来实现功能的方式,覆盖现有的原生实现,避免频繁更新客户端版本。
[0050] 优选地,针对应用中需要展示的部分不常发生变动或变动较小的界面素材,可以 将静态的部分打包在发布的客户端中。这里所说的静态的网页素材包括但不限于HTML(超 文本标记语言,网页的本质),css(用来表现HTML或XML等文件样式的计算机语言),js(-种 直译式脚本语言的保存格式),图片,声音等文件。当客户端需要展示网页的时候,直接从本 地读取,结合从服务端获取的动态的部分。加快网页载入速度,减少流量消耗。对这个网页 包以差分包实现内容更新升级。
[0051] 例如,对应于上述服务端将确定的跳转配置发布给客户端,可以采用以下bsdiff/ bspatch的方式来实现(一个生成/合成差分包的开源实现,利用这个方案,可以在两个相似 的文件之间生成差分包,旧文件和差分包能够合成新文件,一般用于更新模块中):先判断 跳转配置相对于生成跳转配置之前的一个或多个前版跳转配置是否存在更新;在判断结果 为是的情况下,生成用于表征跳转配置与一个或多个前版跳转配置之间差别的一个或多个 前版跳转配置分别对应的一个或多个差分包,图3是根据本发明实施例的服务端生成一个 或多个前版跳转配置差分包的示意图;将与客户端对应的前版跳转配置对应的差分包发布 给客户端。
[0052]当界面入口有多个时,为了节省开发量,服务端将确定的跳转配置发布给客户端 可以先将确定的跳转配置进行封装,得到封装压缩包;之后,将得到的封装压缩包发布给该 客户端。
[0053]在本发明实施例中,还提供了一种界面跳转方法,图4是根据本发明实施例的界面 跳转方法的流程图,如图4所示,该流程包括如下步骤:
[0054]步骤S402,客户端接收到服务端发布给客户端的用于指示客户端执行界面跳转的 跳转配置,其中,跳转配置包括用于指示客户端从预定第一界面跳转到预定第二界面的跳 转指向;
[0055]步骤S404,客户端依据跳转配置执行界面跳转。
[0056] 通过上述步骤,在客户端接收服务端配置的界面跳转,包括配置通用跳转参数和 用于指示客户端从预定界面跳转到另一预定界面的跳转指向,相对于相关技术中,界面跳 转代码硬编码在客户端中,不够灵活,不可以在服务端实现自定义来说,在服务端可以实现 客户端界面跳转的灵活配置。
[0057] 客户端依据跳转配置执行界面跳转时,依据服务端确定的跳转配置不同执行不同 的处理,包括:图5是根据本发明实施例的客户端依据跳转配置执行界面跳转的示意图,如 图5所示,客户端判断是否支持采用所述跳转配置执行界面跳转;在判断结果为是的情况 下,客户端依据该跳转配置执行界面跳转;和/或,在判断结果为否的情况下,客户端依据该 跳转配置的额外项:统一资源定位符URL对应的网页来执行界面跳转。优选地,该URL的格式 可以为超文本标记语言HTML格式。通过上述操作,使得低版本客户端可以利用html可以不 更新实现高版本客户端部分功能。需要说明的是,低版本客户端实现高版本客户端功能也 可以使用动态加载或热更新功能实现,比如android平台上的DexClassLoader/ PathClassLoader技术,Lua脚本更新等。
[0058]在相关技术中,网页内容保存在远端,使用时通过网络加载显示:将编写好的网页 代码部署在服务端;客户端根据服务端返回的地址通过访问并显示该网页。为了加快网页 载入速度与减少流量消耗,在客户端接收到服务端发布给客户端的用于指示客户端执行界 面跳转的跳转配置时,可以采用差分包的方式来实现跳转配置的发布。
[0059] 例如,客户端检测到本地存储的跳转配置为相对于跳转配置没有更新的前版跳转 配置;客户端向服务端发送用于请求更新前版跳转配置的更新请求,其中,更新请求中携带 有前版跳转配置的版本的版本号;客户端从服务端下载服务端发布的用于表征跳转配置与 前版跳转配置之间差别的差分包;客户端依据前版跳转配置以及差分包,生成跳转配置。
[0060] 例如,在网页代码中,很多元素都是静态存在,且在不同版本中不存在变化或变化 较小的,例如,HTML文件,css文件,js文件,图片资源等等,将这些文件打包成zip(-种常见 的文件打包压缩技术)格式的压缩包,集成在客户端中一起发布。对于已经有本地资源集成 的网页,服务端返回的URL会用一种不同的schema,例如,以下的格式:html :// example. com/path。这种格式的schema不同于常见的http或者https。当客户端打开这种格 式的URL时,会在网页压缩包中查找对应的HTML文件,利用这个本地的HTML文件来展示内 容,加快载入速度,减少流量消耗。
[0061] 图6是根据本发明实施例中的终端依据静态网页和动态数据进行网页显示的示意 图,如图6所示,对与网页中动态的部分,会利用js的ajax技术异步从服务器获取。动态获取 的数据结合本地静态网页,实现原本在线读取网页显示的功能。
[0062] 每次网页压缩包中内容发生改变且要发布到客户端中时,会生成一个递增且唯一 的版本号,与网页压缩包一一对应。将新的网页压缩包打包到要发布的新版本客户端中,并 发布在服务端线上。对于新安装的客户端,内置的网页压缩包内容已经是最新的版本,不需 要更新;而对于已经在线上的旧版本的客户端,会通过与服务器版本号对比的方式,更新本 地的版本。这样新版本与旧版本都能同时使用最新的网页功能。
[0063] 图7是根据本发明实施例的客户端更新跳转配置的示意图,如图7所示,包括如下 处理:检测到网页压缩包版本更新时,旧版本客户端向服务端提交本地的网页压缩包版本 号,服务端在发布新版本网页压缩包时已经用bsdiff或其他差分生成工具生成了
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1