技术干货 | mPaaS 小程序高玩带你起飞:客户端预置小程序无视网络质量

网友投稿 736 2022-11-17

技术干货 | mPaaS 小程序高玩带你起飞:客户端预置小程序无视网络质量

技术干货 | mPaaS 小程序高玩带你起飞:客户端预置小程序无视网络质量

简介: 弱网拉包无障碍,深度提升用户体验

提升用户体验通过预置包的方式把页面内静态资源嵌入到应用中并随应用一起发布,可以使用户第一次开启应用时即无需依赖网络环境-资源,可以直接开始使用。

以 Android 系统为例,下图显示了一般资源包的目录结构:

一级目录:一般为资源包的 ID,如 2020121620201216_1.0.1.0.zip。二级目录及往后即为业务自定义的资源文件。并设定当前预置包默认打开的主入口文件,如 /index.html。

前提条件

操作步骤-Android

将-到的 AMR 文件和配置文件放置在 mPaaS 项目的 assets 目录下。

在工程中添加预置代码,以在应用启动时调用预置代码安装应用。预置代码示例如下:

new Thread(new Runnable(){

@Override

public void run(){

MPNebula.loadofflineNebula(jsonFileName: "h5_json.json",

new MPNebulaOfflineInfo(offLineFileName:"2020121620201216_1.0.1.0.amr",

addId:"2020121620201216",

version:"1.0.1.0"));

}

}).start();

说明:

此方法为阻塞调用,请不要在主线程上调用内置预置包方法。此方法仅能调用一次。若多次调用,仅第一次调用有效。所以需要一次性传入所有需预置预置包信息。如果内置多个 AMR 包,需要要确保文件已存在;如不存在,会造成其他内置预置包失败。

/**

*

*/

public static void startApp(String appId);

MPNebula.updateAllApp(new MpaasNebulaUpdateCallback(){ @Override public void onResult(final boolean success, final boolean isLimit) { super.onResult(success, isLimit); runOnUiThread(new Runnable() { @Override public void run() { AUToast.makeToast(NebulaAppActivity.this, success ? R.string.update_success : R.string.update_failure, 2000).show(); } }); }});

结语

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:反编译jar实现的三种方式
下一篇:C++的树的各种遍历模板
相关文章

 发表评论

暂时没有评论,来抢沙发吧~