You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

测试时持续收到FacebookAdvertiserIDCollectionEnabled为FALSE的警告求助

解决Facebook Audience Network的FacebookAdvertiserIDCollectionEnabled警告问题

可能的问题点及修复方案

1. 代码执行顺序错误

你当前先初始化FBSDKApplicationDelegate再设置广告ID收集开关的顺序有问题——Facebook SDK初始化时会读取默认配置,此时isAdvertiserIDCollectionEnabled还未被设置为YES,导致警告持续出现。

修复: 调整代码顺序,先设置SDK参数再初始化代理:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 先配置SDK参数
    [FBSDKSettings.sharedSettings setAutoLogAppEventsEnabled:YES];
    FBSDKSettings.sharedSettings.isAdvertiserIDCollectionEnabled = YES;
    // 再初始化SDK代理
    [FBSDKApplicationDelegate.sharedInstance application:application didFinishLaunchingWithOptions:launchOptions];
    // 其他业务代码...
}

2. Info.plist配置不规范

确认FacebookAdvertiserIDCollectionEnabled的配置是否符合要求:

  • 键名必须严格为**FacebookAdvertiserIDCollectionEnabled**(首字母大写,驼峰格式)
  • 类型必须选择Boolean,值勾选YES,不能设为字符串类型的"TRUE"

3. ATT权限未正确获取

仅启用应用追踪还不够,必须主动向用户申请App Tracking Transparency权限,否则系统会限制IDFA获取,Facebook SDK依然会判定未收集广告主ID。

添加权限请求代码:

#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>

// 在didFinishLaunchingWithOptions或用户首次交互时机添加
if (@available(iOS 14, *)) {
    [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
        // 权限请求完成后,强制刷新SDK设置
        FBSDKSettings.sharedSettings.isAdvertiserIDCollectionEnabled = YES;
    }];
}

同时要在Info.plist中添加NSUserTrackingUsageDescription键,填写向用户说明追踪用途的合规文案。

4. SDK版本存在bug

检查当前使用的FBSDKCoreKit和FBAudienceNetwork版本是否过旧,部分早期版本存在设置不生效的问题,建议更新到最新稳定版。

5. 缓存与构建问题

  • 用Cmd+Shift+K清理Xcode项目缓存
  • 删除模拟器/真机上的应用后重新安装
  • 重启Xcode,确保所有配置变更被正确加载

内容的提问来源于stack exchange,提问作者neobie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 11:10:07