uni-app应用上架vivo应用市场隐私不合规提示:在静默、后台状态下,APP存在收集“OAID”等信息行为

发布于 1周前 作者 nodeper 来自 Uni-App

uni-app应用上架vivo应用市场隐私不合规提示:在静默、后台状态下,APP存在收集“OAID”等信息行为 关于上架vivo应用市场隐私不合规并提示在静默、后台状态下,APP存在收集“OAID”等信息的行为。参考:

APP在运行时,存在以下违规行为:  
1、未见向用户告知且未经用户同意,在静默、后台状态下,APP存在收集“OAID”等信息的行为,非服务所必需且无合理应用场景,超出与收集个人信息时所声称的目的具有直接或合理关联范围
1 回复

针对您提到的uni-app应用在vivo应用市场上架时遇到的隐私合规问题,特别是在静默或后台状态下收集“OAID”(Open Anonymous Device Identifier,开放匿名设备标识符)等信息的行为,这里提供一个可能的解决方案代码示例,以确保应用在后台或静默状态下不会违规收集此类信息。请注意,具体实现可能需要根据您的应用逻辑进行调整。

解决方案概述

  1. 检查应用状态:在应用尝试收集OAID之前,先检查应用是否处于前台活动状态。
  2. 条件性收集:仅当应用处于前台时,才允许收集OAID。

代码示例

以下是一个简化的代码示例,展示了如何在uni-app中实现这一逻辑:

// 假设有一个函数 getOAID() 用于获取OAID(实际实现可能依赖于具体SDK)
function getOAID() {
    // 模拟获取OAID的函数,实际应调用相关SDK提供的API
    return 'mock-oaid-value';
}

// 检查应用是否处于前台的函数
function isAppInForeground() {
    // uni-app没有直接提供API来判断应用是否在前台,但可以通过页面生命周期钩子大致判断
    // 这里假设有一个全局变量来表示应用状态
    let appIsInForeground = false;

    // 在页面显示时设置为true
    uni.onShow(() => {
        appIsInForeground = true;
    });

    // 在页面隐藏时设置为false
    uni.onHide(() => {
        appIsInForeground = false;
    });

    return appIsInForeground;
}

// 收集OAID的函数,加入状态检查
function collectOAIDIfNeeded() {
    if (isAppInForeground()) {
        let oaid = getOAID();
        console.log('OAID collected:', oaid);
        // 这里可以进行后续处理,如上传OAID到服务器等
    } else {
        console.log('App is not in foreground, skipping OAID collection.');
    }
}

// 示例:在某个事件触发时尝试收集OAID
uni.getSystemInfo({
    success: function() {
        collectOAIDIfNeeded();
    }
});

注意事项

  • 状态管理的持久性:上述示例中的isAppInForeground函数依赖于页面生命周期钩子,这可能不足以覆盖所有情况(如应用从后台切换到前台但未触发页面显示事件)。因此,您可能需要更复杂的状态管理机制。
  • 合规性声明:确保在应用的隐私政策中明确说明OAID的收集、使用目的及用户授权情况。
  • 测试验证:在提交应用前,务必进行充分的测试,确保应用在后台或静默状态下不会进行任何违规的数据收集行为。

通过上述方法,您可以有效地避免在静默或后台状态下违规收集OAID,从而提高应用在vivo应用市场的合规性。

回到顶部