一、接口协调
主要是要和后台协调好请求的API和返回值,建议返回值按官方给的格式来,接口url需要改的话在lib_offline_webview包的Appconstants里面修改LOCAL_BASE_URL
//域名
public static String LOCALHOST = ServerConstant.LOCALHOST;
//完整的url
public static String LOCAL_BASE_URL = LOCALHOST + ServerConstant.PATH_OFF_WEB;
二、初始化规则配置
在初始化时需要配置一个离线包的依赖规则,规则主要有三种配置方式此处不作阐述需要了解可以看官方文档。此处所使用的是通过setRule方法进行配置。
生成一个offlineRuleConfig对象然后通过setRule进行配置
//生成规则对象
OfflineRuleConfig offlineRuleConfig = new OfflineRuleConfig();
offlineRuleConfig.addRule(new OfflineRuleConfig.RulesInfo(bizName, hostlist, pathlist, fragmentlist));
添加规则
离线包规则的参数说明
//对应域名
ArrayList<String> hostlist = new ArrayList<>();
//h5连接的路径
ArrayList<String> pathlist = new ArrayList<>();
//对应H5的路由
ArrayList<String> fragmentlist = new ArrayList<>();
- 其中hostlist对应的内容是xxx.xxxx.xxx 这一段
- pathlist对应的是index.html 这一段
- fragmentlist对应的是test/test
文件下载目录说明
H5离线包下载的目录为本地的私有目录,路径为sdk内部配置,我这里没有改他的配置所以没有深入了解如果你要查看下载的文件,我推荐使用ES文件浏览器查看。
这里进去然后就是data/data/app包名/offline_web/业务名/
** 注意事项**
- H5离线包的版本号为拉取H5离线包文件中offweb.json文件的内容
- 打压缩包的时候H5资源不能用文件夹打压缩包要直接选中所有的文件然后生成zip文件
后端和前端协调跨域问题
如果加载出离线包H5但是出现h5中所有请求出现网络错误则为跨域问题,我这边是由后端和前端协调解决,具体解决方案根据实际情况解决。
结语
以上为个人开发所遇到的问题和解决方案如有不对和优化的地方还望指正。原文地址juejin.cn/post/711966…