开发者社区 问答 正文

mPaaS 如果插件权限检验需要支持android13要如何处理呢?

mPaaS 如果插件权限检验需要支持android13要如何处理呢?

展开
收起
嘟嘟嘟嘟嘟嘟 2024-03-12 11:08:54 69 分享 版权
阿里云 AI 助理回答

在 mPaaS 中,如果需要支持 Android 13 并处理插件权限检验,您需要按照以下步骤进行适配和操作:


1. 升级 mPaaS SDK 基线版本

为了确保兼容性,您需要将 mPaaS 的基线版本升级到 10.1.68.52 或以上。这是因为在 Android 13 上,mPaaS SDK 需要特定的适配以支持 UC 内核和其他功能。

  • 操作步骤
    • 使用 mPaaS 提供的工具(如接入/升级基线)完成 SDK 的升级。
    • 确保您的项目中已正确配置最新版本的依赖。

2. 启用 UC 内核并添加相关配置

在 Android 13 上,H5 容器和小程序默认会使用系统 WebView,这可能导致部分页面白屏或 API 异常。为避免这些问题,您需要启用特定版本的 UC 内核,并进行相关配置。

2.1 添加 UC 内核依赖

build.gradle 文件中添加以下内容以强制使用指定版本的 UC 内核:

implementation('com.alipay.android.phone.wallet:nebulaucsdk-build:999.3.22.2.51.220908200129@aar') {
    force = true
}

2.2 移除旧版 UC 内核(Portal&Bundle 接入方式)

如果您使用的是 Portal&Bundle 接入方式,则需要在主 module 的 build.gradle 文件中排除旧的 UC 内核依赖:

mpaascomponents {
    excludeDependencies = [
        "com.alipay.android.phone.wallet:nebulaucsdk-build"
    ]
}

2.3 创建配置文件

assets/config 目录下创建 custom_config.json 文件,并添加以下内容以启用 UC 内核:

[
  {
    "value":"{\"h5_enableExternalWebView\":\"YES\",\"h5_externalWebViewSdkVersion\":{\"min\":11,\"max\":33}}",
    "key":"h5_webViewConfig"
  },
  {
    "key":"h5_useLastCommitUrl",
    "value":"YES"
  }
]

3. 权限校验与安全保障

在 Android 13 上,权限管理更加严格,因此需要对插件权限进行校验,确保安全性。

3.1 设置 JSAPI 鉴权

  • 在打开 URL 或调用 JSAPI 时,必须对 URL 进行校验,确保其属于 App 业务范围内的合法 URL。
  • 建议:设置 URL 白名单,限制可加载的 URL 范围。

3.2 限制 JSAPI 调用范围

  • 对于敏感的 JSAPI 调用,应明确限制其调用权限,防止未授权访问。

4. 回归测试

升级 UC 内核后,可能会伴随部分浏览器特性的改动。因此,您需要对以下内容进行回归测试: - H5 容器的相关功能。 - 小程序的运行情况。 - 确保没有出现兼容性问题或异常行为。


5. 处理定制库(如有)

如果您在项目中使用了定制库,从低版本 SDK 升级至 10.1.68 版本时,可能需要重新定制。建议加入钉钉群 41708565 咨询 mPaaS 支持人员以获取帮助。


重要提醒

  • 请务必升级到 10.1.68.52 或以上版本,否则在 Android 13 上可能出现功能异常。
  • 权限校验是关键,尤其是在 Android 13 上,未鉴权的 URL 可能导致安全问题。
  • 回归测试不可省略,确保升级后所有功能正常运行。

通过以上步骤,您可以确保 mPaaS 插件在 Android 13 上的权限检验和支持功能正常运行。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答