uni-app vivo审核驳回 提示weex读取剪贴板内容
uni-app vivo审核驳回 提示weex读取剪贴板内容
类别 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC开发环境版本 | 10 |
开发工具 | HBuilderX |
工具版本 | Alpha 4.41 |
手机系统 | Android |
手机系统版本 | Android 14 |
手机厂商 | vivo |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 离线 |
项目创建方式 | HBuilderX |
操作步骤:
报告提示,第三方SDK存在违规行为
未见使用场景,Weex存在点击一次至少采集一次"剪切板信息"的行为,非服务所必须且无合理应用场景,超出实现产品或服务的业务功能所必须的最低频率
预期结果:
通过审核并上架
实际结果:
审核驳回
bug描述:
vivo审核驳回
更多关于uni-app vivo审核驳回 提示weex读取剪贴板内容的实战教程也可以访问 https://www.itying.com/category-93-b0.html
具体报告地址下载:
引擎一测试报告地址:https://swsdl.vivo.com.cn/appstore/cloudtest/pdf/20241224/202412241037466820589782.pdf
引擎一行为数据地址:https://swsdl.vivo.com.cn/appstore/cloudtest/xlsx/20241224/202412241037464577140940.xlsx
更多关于uni-app vivo审核驳回 提示weex读取剪贴板内容的实战教程也可以访问 https://www.itying.com/category-93-b0.html
给input加上属性allowCopyPaste,设置为false再试一下
整个包的input很多噢,有无其他快捷的方案或者只给特定的页面加?
回复 alfredChen: 这个看逻辑就是在点击的时候系统调用了获取剪贴板,这个配置就是阻止获取剪贴板,目前没有更好的方法
回复 DCloud_Android_zl: 这个点击是什么行为呢(是否包括隐私确认的那个弹框),我找了vivo客服,vivo客服说是同意隐私政策前就报了,也就是连APP都还没进入
回复 alfredChen: 点击获取焦点,比如点击输入框的输入内容,这个代码肯定是在获取隐私协议之后获取的。
改用uniappx吧,我之前也遇到这个问题了,现在正在迁移到uniappx。
最后你那边解决不了吗
我这边用被拒审的包试了一下他的那个隐私自检,自检结果是可以通过的,然后用那个包重新提交了审核并在审核留言中说明了自检结果,然后他给我通过了,你可以试试看
回复 alfredChen: 解决不了,我用UNIAPPX了
针对uni-app在vivo应用商店审核过程中因读取剪贴板内容被驳回的问题,我们可以考虑在代码中显式地请求用户授权来访问剪贴板内容,并确保在未经用户明确同意的情况下不读取剪贴板数据。由于vivo应用商店可能有特定的隐私保护政策,确保应用符合这些政策是非常重要的。
以下是一个如何在uni-app中请求用户授权访问剪贴板的示例代码。注意,由于uni-app跨平台特性,不同平台的API调用可能有所不同,以下代码主要基于Web标准API进行示例,对于vivo特定平台的实现可能需要查阅vivo开发者文档进行适配。
示例代码
// 定义一个函数来检查并请求剪贴板权限
function requestClipboardPermission() {
return new Promise((resolve, reject) => {
if (navigator.clipboard && navigator.clipboard.readText) {
// 对于支持navigator.clipboard API的浏览器/环境
navigator.permissions.query({ name: 'clipboard-read' }).then(permissionStatus => {
if (permissionStatus.state === 'granted' || permissionStatus.state === 'prompt') {
// 如果已授权或需要用户授权
navigator.clipboard.readText().then(clipboardText => {
// 读取成功,处理剪贴板内容
console.log('Clipboard content:', clipboardText);
resolve(clipboardText);
}).catch(err => {
// 读取失败
console.error('Failed to read clipboard content:', err);
reject(err);
});
} else {
// 权限被拒绝
console.error('Clipboard read permission denied');
reject(new Error('Clipboard read permission denied'));
}
}).catch(err => {
// 查询权限状态失败
console.error('Failed to query clipboard permission:', err);
reject(err);
});
} else {
// 不支持navigator.clipboard API的环境
console.error('Clipboard API not supported');
reject(new Error('Clipboard API not supported'));
}
});
}
// 使用示例
requestClipboardPermission().then(clipboardText => {
// 成功获取剪贴板内容后的处理
}).catch(err => {
// 处理错误
console.error('Error:', err);
});
注意事项
- 平台差异:上述代码基于Web标准API,对于vivo等特定平台,可能需要使用其提供的SDK或API来请求权限。
- 用户体验:确保在请求权限时向用户明确说明为何需要访问剪贴板内容,以提升用户体验。
- 隐私政策:在应用中明确提及隐私政策,确保用户了解应用将如何处理其数据。
最后,强烈建议查阅vivo开发者文档,了解其对应用读取剪贴板内容的具体要求,并据此调整代码。