离线包简介
服务概述
通过 TMF 的离线包组件,可以将网页的静态资源(html、js、css、图片等)缓存在本地,当用户访问 H5 页面时,这些资源都不需要从服务器即时下载,离线包组件会拦截 WebView 的资源请求并直接读取本地的离线资源,达到“瞬间秒开”的效果。
TMF 控制台实现了离线包的自动打包、状态管理和发布功能,支持推拉结合的更新方式及增量更新机制,可按多种维度进行灰度下发,且能便捷地按 H5 的版本采集灰度数据,对不同版本的业务数据进行对比分析。对于重要业务(如一级页面),还可以直接将离线包预置在发布包中,首次进入页面无需下载即可使用,大幅提升 H5 业务的用户体验。当本地离线包没有准备好时,则直接访问在线资源,不影响正常使用。
应用场景
离线包技术应用于 H5 业务,将网页的静态资源缓存在本地,拦截 WebView 的资源请求并直接读取本地的离线资源,免去了从服务器即时下载资源的耗时,达到“瞬间秒开”的效果,可大幅提升 H5 业务的用户体验。
系统架构及技术原理
- 客户端:客户端的核心是拦截 WebView 的资源请求并根据请求的资源的 URL 匹配本地的离线资源,如果存在与之匹配的离线资源则直接读取离线资源,否则就通过 WebView 请求在线资源。可通过拉取和推送两种方式对离线包进行更新。
- 服务端:服务端实现了离线包的数据管理,提供离线包更新服务,并支持按多种条件发布离线包。支持按平台(iOS、Android)、系统版本、客户端版本、时间窗、用户量级、地域、用户标签、设备ID等条件进行灰度验证,验证通过再进行全量发布。
- 控制台:控制台包含离线包的打包服务、离线业务管理、离线包版本管理和发布管理等。