ios - Facebook尊重不跟踪吗?

标签 ios facebook

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

I, Jay Doe, confirm that this app, and any third party that interfaces with this app, uses the Advertising Identifier checks and honors a user's Limit Ad Tracking setting in iOS and, when it is enabled by a user, this app does not use Advertising Identifier, and any information obtained through the use of the Advertising Identifier, in any way other than for "Limited Advertising Purposes" as defined in the iOS Developer Program License Agreement.

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

Does Facebook’s SDK for iOS access the IDFA?

The Facebook SDK includes code to access Apple’s Advertising Identifier (IDFA), but that code is only executed in certain situations.

The Facebook SDK for iOS only accesses IDFAs in the following scenarios:
1) if your app serves ads within the app through Facebook’s Audience Network, or 2) if your app logs app installs or other mobile App Events in order to attribute those events to your ad campaigns.

If you are not logging App Events with the FBSDKAppEvents class, then the Facebook SDK is not accessing the IDFAs. Additionally, the Facebook SDK does not require AdSupport.framework to be included.

If you want to track App Events without collecting IDFA, you can disable IDFA collection within your app dashboard in the advanced setting section.

我怀疑 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'

最佳答案

我刚找到这个。

+ (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 做的一切都是正确的。

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

关于ios - Facebook尊重不跟踪吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39253908/

相关文章:

java - 在抽屉导航 Activity 中显示获取的个人资料图片

Android - 附加到 Facebook.authorize() 的 DialogListener 中的方法没有被击中

ios - TouchID with KeyChain - 输入密码屏幕出现格式错误 (Swift)

ios - 将 UIImage 旋转自定义角度

ios - 我如何使用 CYCHealthKitHandler 将我的事件定义为 "Indoor Cycling"

facebook - API 错误代码 : 191

iphone - 上传 UImage 到 facebook

ios - 将AFNetworking与YouTube UITableView结合使用

ios - Calabash-cucumber 模拟器未运行与 "-cal"方案相同版本的应用程序

apache-flex - Facebook iFrame 应用程序 : How to pass data from URL Query String