H5 容器内有许多开关配置,通过修改开关配置,能够改变容器的特定行为,比如可以通过验签配置来开启或关闭离线包签名校验。
修改开关配置有以下三种方式:
内置
custom_config.json
至 portal 工程或应用主工程assets
目录下的config
文件夹,该方法仅适用于 10.1.60 及以上版本。custom_config.json
的文件格式如下:[ { "value": "NO", "key": "h5_shouldverifyapp" }, { "value": "0", "key": "TSBS" } ]
使用
H5ExtConfigProvider
在代码中配置开关,该方法仅适用于 10.1.60 以下版本。H5ExtConfigProvider
使用说明如下:public class H5ExtConfigProviderImpl implements H5ExtConfigProvider { @Override public String getConfig(String key) { if ("h5_shouldverifyapp".equalsIgnoreCase(key)) { return "YES"; } else if ("TSBS".equalsIgnoreCase(key)) { return "0"; } return null; } } // 建议在启动时调用,全局只生效一个 H5ExtConfigProvider 的实例,以最后设置的实例为准 H5Utils.setProvider(H5ExtConfigProvider.class.getName(), new H5ExtConfigProviderImpl());
通过 MDS 平台下发开关配置,参见 开关配置管理。
容器开关列表
您可通过下表中的开关,来自定义是否使用对应功能。
开关名称 | 用途 | 说明 | 默认值 |
| 开启或关闭验签。建议线上开启,当手机被认为是 root 手机时,会强制开启验签,此时开关配置不生效。 | YES 表示开启,NO 表示关闭。 | YES |
| 是否使用沉浸式标题栏,仅适用于 Android。 | “1”表示使用,“0”表示不使用。 重要 此处的“1”和“0”为字符串形式。 | 1 |
| 真机调试远程服务器地址。 |
| - |
| 是否采用 mPaaS 网络库方式加载 fallback 资源。 | YES 表示使用 mpaas 网络库加载 fallback 资源,NO 表示使用系统网络库加载 fallback 资源。 | YES |
| 调用 pushWindow 时是否强制启动新的 Activity。 | YES 表示启用, 其他值表示不启用。 | NO |
| 是否显示小程序右上角选项菜单。 说明 此配置仅在发布小程序时选择是否显示右上角菜单时有效。 | YES 表示显示,其他值表示不显示。 | NO |
| 是否显示小程序右上角选项菜单中的分享选项。 | YES 表示显示,其他值表示不显示。 | NO |
| 小程序是否使用内置导航栏。 | YES 表示使用,其他值表示不使用。 | YES |
| 域名白名单,该域名下的离线资源可被跨域访问。 说明 对于在线请求的资源,仍需资源服务端开启正确的跨域设置。 | 内容格式为 JSON 数组,特殊字符要求转义,示例: | 空 |
| 允许 Mixed Content 模式,开启此模式有安全风险,请慎重考虑先。 说明 此开关仅在 10.1.60 版本中支持。 | YES 表示允许, NO 表示不允许。 | NO |