不正确的广告标识符使用情况(限制广告跟踪)

我正在向app store提交一个iOS游戏更新。

xcode显示以下错误:“不正确的广告标识符[IDFA]用法。您的应用程序包含广告标识符[IDFA] API,但是您的应用程序不符合iOS中的限制广告跟踪设置。

我没有改变任何regearding我的广告设置,并没有问题,我的应用程序的最新版本。

我一直在努力寻找过去20个小时的解决方法,我开始变得疯狂。 我有什么需要改变的? 请帮帮我!

我遇到了同样的问题,只能通过删除AdMob广告并仅保留iAd来解决问题。 我知道这不是一个完美的解决scheme,但事后你至less应该能够上传你的应用程序。

我在应用程序更新中遇到了类似的错误。 我没有使用任何广告,但有Facebook集成(需要AdSupport框架)。 我相信,searchnetworking后,Facebook使用广告ID作为自己的分析目的,即使我没有在我的应用程序中包括广告,通过xCode的validation和上传过程失败,错误“你的应用程序包含广告标识符[IDFA] API …“

我search了一下,发现我需要下载Facebook SDK源代码,更新FBUtility.m以删除对advertisingID的引用,但事实上,我只需要:

1)下载最新SDK的源代码,我从这里做了: https : //github.com/facebook/facebook-ios-sdk (我从github下载了zip文件到我的文档文件夹)

2)build立框架 – 打开terminal。 在命令提示符处使用cd文档,然后使用以下命令:sudo scripts / build_framework.sh,它将运行位于已下载的Facebook SDK文件夹中脚本子文件夹中的build_framework.sh脚本

3)从你的Xcode项目中删除旧的FacebookSDK.framework并添加新的(在我的例子中,我导航到文档/ facebook-ios-sdk / build&selectFacebookSDK.framework文件夹

4)归档项目,它应该(这是我的情况)上传好

希望能帮助一路上的人 – 我已经在这个日子了!

您可以尝试更新Admob的最新版本,或在调用Admob之前选中[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled,因为Apple现在需要应用程序需要在用户设备中检查此设置。

我遇到了同样的问题。 TapJoy是我的罪魁祸首。 我删除了他们的SDK和应用程序提交没有问题。

苹果最近改变了他们的IDFA扫描程序。 在点击“准备上传”之后,您不仅需要检查相应的checkbox,而且您的代码(或者您拥有的任何其他第三方库必须直接使用该类来使用IDFA。

有人build议这样做:

“你可以通过用NSClassFromString(@”ASIdentifierManager“)replaceASIdentifierManager的直接引用来实现。

不要使用这种方法加载这个类! 新的扫描程序将专门针对这个,如果它被发现,而不是直接引用 – 苹果似乎认为有一些奇怪的使用跟踪标识符。 我不能说我不同意这个决定。

可能不容易find哪个库存在错误。 例如,最新的AdMob SDK直接使用该类,并不是问题的根源。

一种方法可以找出哪个库是问题的根源,是从您的项目中删除AdSupport.Framework,看看哪些库无法链接。 那些库不是问题。 看看你是否有其他的广告库,不需要包括AdSupport.Framework – 这些最有可能的罪魁祸首。

这听起来有点直观,但直接引用不是问题,该类的dynamic(弱)加载是。

希望这可以帮助别人 – 我们把头发拉出来,直到find问题的根源。

现在一切都已经到了平常的状态。 简单地上传你的二进制文件,就像你一直在做的那样,并且将IDFA分为两大类:

发布商:您使用第三方广告networking库来展示广告。 selectIDFA中的第一个选项 – >“在应用程序内投放广告”。 自从您展示广告之后,您就是发布商,但不要为自己的应用执行广告。

广告客户:您可以使用第三方库来跟踪您应用的转化次数,并跟踪应用中的“目标”。 您直接不会在您的应用中展示广告。 selectIDFA中的第二个和第三个选项 – >“将此应用安装到以前投放的广告”。 以及“将此应用中采取的操作归因于之前投放的广告”。

混合:您可以跟踪应用的转化次数,并在应用中展示广告。 select所有三个选项。