r***@163.com
r***@163.com
  • 发布:2026-08-14 10:38
  • 更新:2026-08-14 10:39
  • 阅读:15

应用宝驳回OAID

分类:uni-app x

应用启动后在用户点击隐私同意前没有进行任何sdk初始化,一直出现场景2和5的驳回,有没有大佬知道的@应用宝

2026-08-14 10:38 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app x技术交流群 ) 咨询,群中有相关专业的管理员和群友。

根据知识库信息,你遇到的应用宝驳回(场景2和5:未经用户同意收集OAID等设备信息)问题,虽然你确认启动后未主动初始化业务SDK,但极有可能是uni-push(个推)SDK在打包后自动初始化导致的

问题根因分析

根据知识库中多个类似案例(DCloud问答_221009DCloud问答_216373),只要Android包中集成了uni-push模块,即使代码中没有调用uni.getPushClientIduni.onPushMessage,个推SDK(getui)仍可能在后台自动初始化并读取OAID、AndroidID等设备标识

具体表现为:

  • 堆栈中出现com.getui.gtc.dim相关调用链
  • 在隐私弹窗弹出前,已检测到读取OAID行为
  • 应用宝、小米等应用市场检测到"未经用户同意,SDK存在收集设备信息的行为"

解决方案

1. 延迟初始化推送SDK(推荐)

确保在用户点击"同意"隐私政策前,不触发任何推送相关API。根据uni-app x合规指南,正确做法:

// App.uvue  
<script setup lang="uts">  
import { onLaunch } from '@dcloudio/uni-app'  

onLaunch(() => {  
  // #ifdef APP  
  uni.getPrivacySetting({  
    success(res) {  
      if (res.needAuthorization) {  
        // 用户未同意,弹出隐私弹窗  
        uni.openDialogPage({  
          url: '/pages/privacy/privacy', // 你的隐私政策页面  
          success: () => {  
            // 监听用户同意事件(在隐私页面中用户点击同意后触发)  
            uni.$on('privacyAgree', () => {  
              // 用户同意后才初始化推送  
              initPushSDK()  
            })  
          }  
        })  
      } else {  
        // 用户已同意过,直接初始化  
        initPushSDK()  
      }  
    }  
  })  
  // #endif  
})  

function initPushSDK() {  
  // 只有在用户同意隐私政策后才调用  
  // #ifdef APP  
  uni.getPushClientId({  
    success: (res) => {  
      console.log('推送初始化成功', res.cid)  
    }  
  })  
  // #endif  
}  
</script>

本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码

2. 检查是否集成了uni-push模块

如果暂时不需要推送功能,建议先移除uni-push模块

  • manifest.json中取消勾选"App模块配置" -> "uni-push"
  • 重新云打包或离线打包
  • 观察是否还出现OAID收集行为

3. 检查其他可能自动初始化的模块

根据知识库,以下模块也可能导致类似问题:

  • uni-AD(广告模块):如果集成了uni-AD,需要在用户同意前禁用广告初始化
  • uni统计(uni-stat):检查是否开启了统计功能,建议延迟到同意后初始化
  • 一键登录(uni-verify):个验SDK也会收集OAID,确保不在启动时预登录

4. 隐私政策声明补充

在隐私政策中明确声明个推SDK的信息收集行为(参考个验认证SDK说明):

- 个推消息推送SDK  
  + 涉及的个人信息类型:OAID、AndroidID、设备平台、设备厂商、设备品牌、设备型号及系统版本等  
  + 使用场景:向最终用户提供消息推送服务时使用  
  + 使用目的:为App提供消息推送服务  
  + 收集方式:SDK自行采集  
  + 第三方主体:每日互动股份有限公司

本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码

验证方法

  1. 抓包验证:使用应用宝提供的检测工具或第三方合规检测工具,检查在用户点击"同意"前是否有网络请求或设备信息读取行为
  2. 日志检查:通过adb logcat过滤getuigtc关键字,观察SDK初始化时机
  3. 代码审查:全局搜索uni.getPushClientIduni.onPushMessageuni.preLogin等API,确保它们都在隐私同意守卫之后执行

总结

你遇到的问题不是代码主动调用导致的,而是uni-push SDK打包后的自动初始化行为。解决方案核心是:

  1. 延迟初始化:确保getPushClientId等API在用户同意后才调用
  2. 模块移除:如非必需,暂时移除uni-push模块
  3. 隐私弹窗:使用uni.openDialogPageonLaunch中弹出隐私政策,用户同意后再执行后续逻辑

如果问题仍然存在,建议在DCloud issue系统提交问题,并附上具体的堆栈信息和HBuilderX版本号。

内容为 AI 生成,仅供参考

要回复问题请先登录注册