uniapp华为应用市场上架时如何正确处理获取设备id与隐私协议跳转问题 标题已优化,更适合论坛提问场景

在Uniapp开发中,华为应用市场上架遇到两个问题急需请教:

  1. 获取设备ID时提示权限问题,已按照文档配置但仍有报错,具体需要哪些必选的权限声明?是否需要动态申请?
  2. 隐私协议跳转要求必须嵌入应用内,但Uniapp的web-view组件跳转外部链接被拒,请问合规的做法是预加载本地HTML还是有什么其他解决方案? 希望有成功上架经验的朋友能分享具体配置代码和审核注意事项。
2 回复

在隐私协议中明确说明获取设备ID用途,勾选同意后再调用uni.getSystemInfo获取deviceId。协议链接放在应用内可访问页面,确保用户能查看并同意。


在华为应用市场上架时,正确处理设备ID获取与隐私协议跳转是确保应用合规的关键。以下是具体操作步骤:

1. 设备ID获取规范

  • 使用OAID替代传统标识符:华为要求使用移动安全联盟(MSA)的OAID(匿名设备标识符)替代IMEI等敏感信息。
  • 代码示例(需集成MSA SDK):
    // 引入MSA OAID SDK(具体集成方式参考官方文档)
    plus.device.getOAID(function(oaid) {
        console.log("OAID: " + oaid);
        // 将OAID用于业务逻辑
    }, function(error) {
        console.error("获取OAID失败: " + error);
    });
    
  • 注意事项
    • 在《隐私政策》中明确说明收集OAID的目的、范围及使用方式。
    • 首次启动时需弹窗告知用户,并获得主动同意(建议设计显式勾选选项)。

2. 隐私协议跳转实现

  • 强制要求:应用内需提供永久可见的《隐私政策》入口(通常设置在“设置”或“关于”页面)。
  • 实现方案
    <!-- 在设置页添加隐私政策链接 -->
    <template>
      <view>
        <navigator url="/pages/privacy/privacy" hover-class="navigator-hover">
          <text>《隐私政策》</text>
        </navigator>
      </view>
    </template>
    
  • 启动时弹窗引导
    首次启动时弹出对话框,提示用户阅读协议,并提供“同意”与“拒绝”选项。拒绝时需限制部分功能或退出应用。

3. 上架检查清单

  • ✅ 使用OAID替代IMEI/Android ID
  • ✅ 《隐私政策》内容覆盖设备信息收集条款
  • ✅ 应用内提供永久有效的隐私协议入口
  • ✅ 首次启动弹窗获用户明确同意
  • ✅ 拒绝同意时合理处理用户流程(如仅展示基础页面)

总结:通过规范使用OAID、明确隐私政策跳转逻辑,并确保交互符合华为审核要求,可有效避免上架被拒。具体政策请以华为应用市场最新指南为准。

回到顶部