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 平台下发开关配置,参见 开关配置管理。
容器开关列表
您可通过下表中的开关,来自定义是否使用对应功能。
开关名称 | 用途 | 说明 | 默认值 |
---|---|---|---|
h5_shouldverifyapp |
开启或关闭验签。建议线上开启,当手机被认为是 root 手机时,会强制开启验签,此时开关配置不生效。 | YES 表示开启,NO 表示关闭。 | YES |
TSBS |
是否使用沉浸式标题栏,仅适用于 Android。 | “1”表示使用,“0”表示不使用。注意:此处的“1”和“0”为字符串形式。 | 1 |
h5_remote_debug_host |
真机调试远程服务器地址。 |
|
– |
androidFallbackNetwork |
是否采用 mPaaS 网络库方式加载 fallback 资源。 | YES 表示使用 mpaas 网络库加载 fallback 资源,NO 表示使用系统网络库加载 fallback 资源。 | YES |
mp_h5_push_window_use_activity |
调用 pushWindow 时是否强制启动新的 Activity。 | YES 表示启用, 其他值表示不启用。 | NO |
mp_ta_showOptionMenu |
是否显示小程序右上角选项菜单。 说明:此配置仅在发布小程序时选择是否显示右上角菜单时有效。 |
YES 表示显示,其他值表示不显示。 | NO |
mp_ta_showShareMenuItem |
是否显示小程序右上角选项菜单中的分享选项。 | YES 表示显示,其他值表示不显示。 | NO |
mp_ta_use_orginal_mini_nagivationbar |
小程序是否使用内置导航栏。 | YES 表示使用,其他值表示不使用。 | YES |
h5_CORSWhiteList |
域名白名单,该域名下的离线资源可被跨域访问。 说明:对于在线请求的资源,仍需资源服务端开启正确的跨域设置。 |
内容格式为 JSON 数组,特殊字符要求转义,示例:{ "value": "[\"oss-cn-hangzhou.aliyuncs.com\"]", "key": "h5_CORSWhiteList" } |
空 |
mp_h5_allow_mix_content |
允许 MixContent 模式,开启此模式有安全风险,请慎重考虑先。 说明:此开关仅在 10.1.60 版本中支持。 |
YES 表示允许, NO 表示不允许。 | NO |