facebook - 应用因 AdSupport.framework 而被拒绝

标签 facebook iad identifier ads

我的应用刚刚被拒绝并显示以下消息:

PLA 3.3.12

We found that your app uses the iOS Advertising Identifier but does not include ad functionality. This does not comply with the terms of the iOS Developer Program License Agreement, as required by the App Store Review Guidelines.

Specifically, section 3.3.12 of the iOS Developer Program License Agreement states:

"You and Your Applications (and any third party with whom you have contracted to serve advertising) may use the Advertising Identifier, and any information obtained through the use of the Advertising Identifier, only for the purpose of serving advertising. If a user resets the Advertising Identifier, then You agree not to combine, correlate, link or otherwise associate, either directly or indirectly, the prior Advertising Identifier and any derived information with the reset Advertising Identifier."

Note: iAd does not use the AdSupport framework, ASIdentifierManager, or the Advertising Identifier. Therefore they are not required for iAd implementations and should not be included in your app for iAd support.

If your app is serving ads, please:

  • Ensure that you have tested your app on a device, not just the simulator, and that you have removed all previous versions of your app prior to testing

  • Provide us the steps to locate ads in your app

If your app does not serve ads, please check your code - including any third-party libraries - to remove any instances of:

class: ASIdentifierManager selector: advertisingIdentifier framework: AdSupport.framework

If you are planning to incorporate ads in a future version, please remove the Advertising Identifier from your app until you have included ad functionality.

To help locate the Advertising Identifier, use the “nm” tool. For information on the “nm” tool, please see the nm man page.

If you do not have access to the libraries' source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool lists the methods that the library calls, and "otool -ov" will list the Objective-C class structures and their defined methods. These techniques can help you narrow down where the problematic code resides.

我的应用仅使用 iAd,没有使用其他广告框架。我试图找出问题所在,这是我发现的:

  1. 在build设置中,我看到了 AdSupport 框架: enter image description here 由于在某处遵循了一些教程,我可能已经包含了它。这是问题吗?如果删除 AdSupport.framework,我的 iAd 是否仍能正常工作?

  2. 使用命令行,我 cd 到我的项目的根文件夹,然后

grep -r advertisingIdentifier .

我得到了以下结果:

./Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.m: result = [[manager advertisingIdentifier] UUIDString];

这是 FBSDKAppEventUtility.m 中的详细代码(FacebookSDK 4.1.0 - 我阅读了一些关于 FacebookSDK 关于 FBSDK 3.1 中广告标识符的问题的帖子。我无法相信 FBSDK 4.1.0 中仍然存在该问题!):

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

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

  return result;
}

我使用 pod 在我的应用程序中安装了 Facebook SDK,如您所见,代码包含与 advertisingIdentifier 相关的内容。

我在FBSDKAppEventUtility.m中也看到了:

#import <AdSupport/AdSupport.h>

以及FBSDKAppEventUtility.m中其他函数中ASIdentifierManagerClass的几个存在

会不会也导致my被拒?有没有人用FBSDKCoreKit使用广告Identifier被拒?

最佳答案

正如 Daniel 所说,您需要重新提交给 Apple 进行审核,并提及在使用 App Events 或使用 Facebook Audience Network SDK 转换广告时,Facebook SDK 需要 AdSupport.framework。这并不能自动保证获得批准。

Facebook iOS SDK 文档有一个 Troubleshooting Guide其中涵盖了 SDK 的哪些部分需要 AdSupport.framework。

我还认为,在评论提交过程中有一个部分会询问您是否使用 IDFA,如果您正在使用 App Events(包括 [FBSDKAppEvents activateApp]),那么我认为您应该在提交中突出显示这一点。

关于facebook - 应用因 AdSupport.framework 而被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30553598/

相关文章:

ruby-on-rails - Facebook Omniauth + Carrierwave 个人资料图片

ios导航栏色调颜色像facebook应用程序

iPhone iAd 问题?

html - Ads + Flurry 集成后 Phonegap iOS 游戏中的性能问题

PHP变量和查询

ios - Xcode 使用未声明的标识符

javascript - Facebook 应用程序中的图表

javascript - Facebook 连接集成不再起作用

ios - 在 UITableView 下方放置一个 iAd 横幅

Android 10 仍可使用 ANDROID_ID