HBuilderX 云打包 勾选idfa导致进入页面自动触发IDFA跟踪弹窗 按照监管要术语不合规 用户在同意隐私政策之后再启动触发IDFA跟踪弹窗

HBuilderX 云打包 勾选idfa导致进入页面自动触发IDFA跟踪弹窗 按照监管要术语不合规 用户在同意隐私政策之后再启动触发IDFA跟踪弹窗

类别 信息
产品分类 uniapp/App
PC开发环境 Mac
PC操作系统版本 macOS Sonoma 14.3.1
HBuilderX类型 正式
HBuilderX版本 4.45
手机系统 iOS
手机系统版本 iOS 18
手机厂商 苹果
手机机型 iPhone 12
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

示例代码:

if ('iOS' == plus.os.name) {  

    const ASIdentifierManager = plus.ios.importClass('ASIdentifierManager')  
    if (!ASIdentifierManager) {  
        console.log('ASIdentifierManager 不存在')  
        return  
    }  
    console.log('ASIdentifierManager', ASIdentifierManager)  

    const sharedManager = ASIdentifierManager.sharedManager()  
    console.log('sharedManager', sharedManager)  
    const advertisingIdentifier = sharedManager.advertisingIdentifier()  
    console.log('advertisingIdentifier', advertisingIdentifier)  

    idfa = plus.ios.invoke(advertisingIdentifier, 'UUIDString')  

    return idfa  
}

操作步骤:

  • 不勾选idfa 模块手动触发 plus.ios.importClass('ATTrackingManager') 无法获取IDFA,

预期结果:

  • 诉求:manifest 云打包勾IDFA,增加app启动进入是否自动弹出 隐私跟踪弹窗配置项,(满足监管合规要求)

实际结果:

  • manifest 云打包勾IDFA,进入页面就自动弹出隐私跟踪弹窗

bug描述:

【报Bug】- HBuilderX 云打包 勾选idfa, 进入页面会自动触发idfa弹窗

按照监管合规要求,进入不自动触发,必须不勾选idfa模块才能手动触发隐私跟踪弹窗,但由于未勾选idfa,iOS云打包导致 plus.ios.importClass('ASIdentifierManager') 模块不存在,无法获取IDFA

建议是否能优化配置,进入不自动弹出隐私跟踪弹窗, 如下图所示

Image


2 回复

请走付费技术支持申请优先解决。


关于HBuilderX云打包勾选IDFA导致自动弹出跟踪授权弹窗的问题,这里给出专业分析:

  1. 当前机制说明:
  • 勾选IDFA模块后,iOS系统会在App启动时自动触发ATT弹窗
  • 这是iOS系统的默认行为,不是uni-app的bug
  1. 合规解决方案:
  • 使用plus.ios.importClass('ATTrackingManager')手动触发授权
  • 但需要先确保manifest中勾选了IDFA模块
  1. 具体实现建议:
// 在用户同意隐私政策后调用
function requestIDFAPermission() {
    const ATTrackingManager = plus.ios.importClass('ATTrackingManager');
    ATTrackingManager.requestTrackingAuthorizationWithCompletionHandler(function(status) {
        // 处理授权结果
    });
}
回到顶部