更新时间:2021-01-15 20:04
传统的小程序技术容易受到网络环境影响,当网络质量不佳时可能拉取不到小程序包。通过预置小程序即可规避该问题。本文介绍了预置小程序的原理和预置小程序的实现过程。
预置小程序是指将小程序的渲染、逻辑、配置等静态资源打包在一个压缩包内,客户端预先下载小程序包到本地,并直接从本地加载资源的过程。预置小程序可以最大程度地摆脱网络环境对 mPaaS 小程序页面的影响。使用预置包可带来以下优势:
本文从以下方面介绍了预置小程序:
小程序预置包是一个 .amr
格式的压缩文件,将后缀 .amr
改为 .zip
并解压缩后,可以看到其中包含的 HTML 资源和 JavaScript 代码等。待小程序容器加载后,这些资源和代码能在 UC 内核渲染。
以 Android 系统为例,下图显示了一般资源包的目录结构:
2020121620201216_1.0.1.0.zip
。/index.html
。使用小程序预置包的过程可以分为以下三个步骤:
说明:
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();
/**
* 启动小程序
*
* @param appId 小程序id
*/
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();
}
});
}
});
/**
* @param publicKey 验签公钥
*/
public static void enableAppVerification(final String publicKey)
说明:此 API 在 10.1.68 系列和 10.1.60 系列支持的最低基线版本分别为 10.1.68.8 和 10.1.60.14 。
public class MPNebula {
// appId 为小程序的应用 ID
public static boolean deleteAppInfo(String appId);
}
在文档使用中是否遇到以下问题
更多建议
匿名提交