uni-app cli模式 隐私弹窗没有效果

uni-app cli模式 隐私弹窗没有效果

操作步骤:

  • vue create -p dcloudio/uni-preset-vue my-project
    • 默认模板
    • 开启隐私弹窗
    • 配置androidPrivacy.json
    • 申请证书后, 选择云打包-安心打包

预期结果:

  • 能正常弹出隐私弹窗

实际结果:

  • 不能弹出隐私弹窗, 直接进入了App 或者弹出了申请磁盘的权限

bug描述:

"useOriginalMsgbox" : true
{  
    "version" : "2",  
    "prompt" : "template",  
    "title" : "服务协议和隐私政策",  
    "message" : "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href='https://www.xxx.cn/index/index/article?id=10003'>《服务协议》</a>和<a href='https://www.xxx.cn/index/index/article?id=10004'>《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",  
    "buttonAccept" : "同意并接受",  
    "buttonRefuse" : "暂不同意",  
    "second" : {  
        "title" : "确认提示",  
        "message" : "  进入应用前,你需先同意<a href='https://www.xxx.cn/index/index/article?id=10003'>《服务协议》</a>和<a href='https://www.xxx.cn/index/index/article?id=10004'>《隐私政策》</a>,否则将退出应用。",  
        "buttonAccept" : "同意并继续",  
        "buttonRefuse" : "退出应用"  
    },  
    "styles" : {  
        "backgroundColor" : "#ffffff",  
        "borderRadius" : "5px",  
        "title" : {  
            "color" : "#000000"  
        },  
        "buttonAccept" : {  
            "color" : "#000000"  
        },  
        "buttonRefuse" : {  
            "color" : "#000000"  
        }  
    }  
}

云打包后, 安装, 打开APP, 不弹隐私弹窗, 直接进入APP


更多关于uni-app cli模式 隐私弹窗没有效果的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app cli模式 隐私弹窗没有效果的实战教程也可以访问 https://www.itying.com/category-93-b0.html


根据你的描述,隐私弹窗未生效可能有以下几个原因:

  1. 配置位置问题:确保 androidPrivacy.json 文件放置在项目的 nativeResourcesandroid 目录下。在 CLI 项目中,路径应为 nativeResources/android/androidPrivacy.json

  2. JSON 格式验证:检查 androidPrivacy.json 文件格式是否正确,特别是转义字符。你的配置中使用了 &lt;br/&gt;&lt;a&gt;,这可能导致解析失败。建议将 &lt;&gt; 替换为实际的 <> 符号,并确保 JSON 字符串转义正确。例如:

    "message": "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href='https://www.xxx.cn/index/index/article?id=10003'>《服务协议》</a>和<a href='https://www.xxx.cn/index/index/article?id=10004'>《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。"
    
  3. 云打包配置:在 HBuilderX 云打包时,需确认已正确勾选“使用原生隐私政策提示框”选项。如果未勾选,系统可能使用默认弹窗或跳过弹窗。

  4. Android 版本适配:隐私弹窗功能对 Android 系统版本有依赖,部分低版本系统可能不支持。建议在 Android 5+ 设备上测试。

  5. 缓存问题:云打包后,安装前请先卸载旧版本,避免缓存导致弹窗不触发。同时,检查 manifest.json 中是否已启用隐私弹窗配置。

如果以上步骤均无误,可尝试在 App.vueonLaunch 中调用 uni.requirePrivacyAuthorize 方法手动触发弹窗,以验证配置是否生效:

onLaunch() {
    uni.requirePrivacyAuthorize({
        success: () => console.log('隐私弹窗已同意'),
        fail: (err) => console.log('隐私弹窗失败:', err)
    })
}
回到顶部