Flutter儿童类应用含广告标识符被苹果拒审,用facebook_app_events如何过审?
可行解决方案
方案1:编译阶段移除FB SDK的IDFA相关代码
- 你使用的
facebook_app_events插件依赖的FBSDKCoreKit官方提供了禁用IDFA的编译宏,只要在编译阶段添加对应配置,就能从二进制文件中完全移除ASIdentifierManager的相关引用,不会被苹果扫描到违规项。 - 操作步骤:打开iOS项目根目录下的Podfile,添加如下配置:
post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'FBSDKCoreKit' target.build_configurations.each do |config| config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)'] # 该宏会完全移除FB SDK中调用IDFA的所有代码 config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'FBSDK_DISABLE_IDFA=1' end end end end - 配置完成后执行
pod install --repo-update重新安装依赖,打包后可以自行用otool工具检查二进制是否还存在ASIdentifierManager引用,确认无误后再提交审核。 - 该配置不会影响FB SDK的安装归因统计能力,只是不会采集IDFA,完全符合儿童类应用的隐私要求。
方案2:使用苹果官方归因替代FB SDK统计
- 儿童分类应用可以直接走苹果官方的SKAdNetwork归因能力,该能力支持对接FB/Instagram的投放后台,同样可以准确统计两个渠道的推广安装数据,全程不会采集任何用户个人可识别信息,完全符合苹果1.3指南要求。
- 你只需要移除应用中的facebook_app_events依赖,在App Store Connect中开启SKAdNetwork配置,同时在FB投放后台绑定对应的SKAdNetwork ID即可正常统计推广效果。
方案3:提交合规证明走特殊审核
如果必须保留完整FB SDK功能,需要完成所有合规配置后再提交:
- 在应用首次启动时增加监护人授权弹窗,明确告知采集信息的类型、用途,只有获得监护人明确同意后才会初始化FB SDK,未同意前不会调用任何第三方采集接口。
- 在App Store Connect的隐私问卷中如实填写所有信息采集项,同时勾选「不会将采集的信息用于追踪用户」选项。
- 提交审核时在备注栏附上完整的儿童隐私合规说明,证明你已经做了足够的权限控制,不会违规传输用户信息。
内容的提问来源于stack exchange,提问作者Aleksandar
相关产品推荐
相关产品推荐

