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

11 回复

更多关于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);
});

注意事项

  1. 平台差异:上述代码基于Web标准API,对于vivo等特定平台,可能需要使用其提供的SDK或API来请求权限。
  2. 用户体验:确保在请求权限时向用户明确说明为何需要访问剪贴板内容,以提升用户体验。
  3. 隐私政策:在应用中明确提及隐私政策,确保用户了解应用将如何处理其数据。

最后,强烈建议查阅vivo开发者文档,了解其对应用读取剪贴板内容的具体要求,并据此调整代码。

回到顶部