【问题标题】:Does Facebook Respects Do Not Track?Facebook 尊重不跟踪吗?
【发布时间】:2016-08-31 15:45:06
【问题描述】:

当向 Apple App Review 和广告标识符提交新应用或应用更新时,我们必须在 iTunes Connect 中做出选择。最后一个复选框声明:

我,Jay Doe,确认此应用以及与此应用交互的任何第三方使用广告标识符检查并遵守用户在 iOS 中的限制广告跟踪设置,并且当用户启用它时,此应用除了 iOS 开发者计划许可协议中定义的“有限广告目的”之外,不会以任何方式使用广告标识符以及通过使用广告标识符获得的任何信息。

我们正在使用 Facebook SDK 来跟踪应用安装。我在 Facebook 开发者门户上没有找到任何相关信息。我发现的只有这个:

Facebook 的 iOS 版 SDK 是否可以访问 IDFA?

Facebook SDK 包含访问 Apple 广告标识符 (IDFA) 的代码,但该代码仅在特定情况下执行。

iOS 版 Facebook SDK 仅在以下情况下访问 IDFA:
1) 如果您的应用通过 Facebook 的 Audience Network 在应用内投放广告,或 2) 如果您的应用记录应用安装或其他移动应用事件,以便将这些事件归因于您的广告活动。

如果您没有使用 FBSDKAppEvents 类记录应用事件,则 Facebook SDK 不会访问 IDFA。此外,Facebook SDK 不需要包含 AdSupport.framework。

如果您想在不收集 IDFA 的情况下跟踪应用事件,您可以在应用仪表板的高级设置部分禁用 IDFA 收集。

我怀疑 Facebook 不遵守此规则,因为我没有在他们的 SDK 中找到 advertisingTrackingEnabled bool。我发现如下:

+ (NSString *)advertiserID
{
  NSString *result = nil;

  Class ASIdentifierManagerClass = fbsdkdfl_ASIdentifierManagerClass();
  if ([ASIdentifierManagerClass class]) {
    ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
    result = [[manager advertisingIdentifier] UUIDString];
  }

  return result;
}

我正在使用以下 pod:

pod 'FBSDKCoreKit'

【问题讨论】:

    标签: ios facebook


    【解决方案1】:

    我刚找到这个。

    + (FBSDKAdvertisingTrackingStatus)advertisingTrackingStatus
    {
      static dispatch_once_t fetchAdvertisingTrackingStatusOnce;
      static FBSDKAdvertisingTrackingStatus status;
    
      dispatch_once(&fetchAdvertisingTrackingStatusOnce, ^{
        status = FBSDKAdvertisingTrackingUnspecified;
        Class ASIdentifierManagerClass = fbsdkdfl_ASIdentifierManagerClass();
        if ([ASIdentifierManagerClass class]) {
          ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
          if (manager) {
            status = [manager isAdvertisingTrackingEnabled] ? FBSDKAdvertisingTrackingAllowed : FBSDKAdvertisingTrackingDisallowed;
          }
        }
      });
    
      return status;
    }
    

    这让我很高兴,看起来 Facebook 做的一切都是正确的。

    我找不到布尔值的原因是isAdvertisingTrackingEnabled 中的is 前缀。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多