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
建议是否能优化配置,进入不自动弹出隐私跟踪弹窗, 如下图所示
2 回复
请走付费技术支持申请优先解决。
关于HBuilderX云打包勾选IDFA导致自动弹出跟踪授权弹窗的问题,这里给出专业分析:
- 当前机制说明:
- 勾选IDFA模块后,iOS系统会在App启动时自动触发ATT弹窗
- 这是iOS系统的默认行为,不是uni-app的bug
- 合规解决方案:
- 使用
plus.ios.importClass('ATTrackingManager')
手动触发授权 - 但需要先确保manifest中勾选了IDFA模块
- 具体实现建议:
// 在用户同意隐私政策后调用
function requestIDFAPermission() {
const ATTrackingManager = plus.ios.importClass('ATTrackingManager');
ATTrackingManager.requestTrackingAuthorizationWithCompletionHandler(function(status) {
// 处理授权结果
});
}