离线包

最近更新时间:2022-10-27 16:29:57

我的收藏

服务概述

通过 TMF 的离线包组件,可以将网页的静态资源(html、js、css、图片等)缓存在本地,当用户访问 H5 页面时,这些资源都不需要从服务器即时下载,离线包组件会拦截 WebView 的资源请求并直接读取本地的离线资源,达到“瞬间秒开”的效果。
TMF 控制台实现了离线包的自动打包、状态管理和发布功能,支持推拉结合的更新方式及增量更新机制,可按多种维度进行灰度下发,且能便捷地按 H5 的版本采集灰度数据,对不同版本的业务数据进行对比分析。对于重要业务(如一级页面),还可以直接将离线包预置在发布包中,首次进入页面无需下载即可使用,大幅提升 H5 业务的用户体验。当本地离线包没有准备好时,则直接访问在线资源,不影响正常使用。

应用场景

离线包技术应用于 H5 业务,将网页的静态资源缓存在本地,拦截 WebView 的资源请求并直接读取本地的离线资源,免去了从服务器即时下载资源的耗时,达到“瞬间秒开”的效果,可大幅提升 H5 业务的用户体验。

系统架构及技术原理

客户端:客户端的核心是拦截 WebView 的资源请求并根据请求的资源的 URL 匹配本地的离线资源,如果存在与之匹配的离线资源则直接读取离线资源,否则就通过 WebView 请求在线资源。可通过拉取和推送两种方式对离线包进行更新。
服务端:服务端实现了离线包的数据管理,提供离线包更新服务,并支持按多种条件发布离线包。支持按平台(iOS、Android)、系统版本、客户端版本、时间窗、用户量级、地域、用户标签、设备ID等条件进行灰度验证,验证通过再进行全量发布。
控件台:控制台包含离线包的打包服务、离线业务管理、离线包版本管理和发布管理等。


产品优势

TMF 离线包组件具有以下优势:
离线秒开:离线包支持 html、js、css 和图片等静态资源。打开页面时自动匹配和读取本地离线资源,无需即时下载,达到“瞬间秒开”的效果。
便捷的离线包管理平台:支持创建离线包业务、自动打包、状态管理、查看离线包详情、自动生成增量补丁和灰度发布等完善的功能。
支持推拉结合更新离线包:实现了推送更新,不依赖用户操作,极大提升新版本的触达速度和覆盖率。
支持增量更新:使用了 bsdiff 技术实现增量更新,并做了深度优化,极大减小更新包的大小。
支持多维度下发:借助 TMF 云推平台,可按平台(iOS、Android)、系统版本、客户端版本、时间窗、用户量级、地区、指定用户账号、设备 ID 等多种条件精准地进行灰度下发。
便捷地按 H5 的版本采集数据:H5 可设定页面标识,通过 jsapi 上报数据时,自动带上页面标识及离线包 ID 和版本信息,可方便地对不同版本的数据进行对比分析。
批量上传,一键发布:应用于多业务下的离线包批量上传,上传后可一键将同批次上传离线包生成发布任务,避免了多番选择指定离线包的繁琐操作步骤。