在将我的应用程序提交到App Store时,我收到了以下消息:"您的应用程序正在使用广告标识符(IDFA).您必须提供有关IDFA使用情况的详细信息,或者从应用程序中删除它并再次提交二进制文件."
我不再展示广告,所以当我被问到时,我说我没有使用IDFA.我还尝试通过说我使用IDFA来展示有针对性的广告来提交应用.
当我展示广告时,我使用的是MoPub和Facebook Audience Network.有没有办法看到我在哪里使用IDFA?
最近的 WWDC 声明关于 iOS 14:
对于 iOS 14、iPadOS 14 和 tvOS 14,您需要通过 AppTrackingTransparency 框架获得用户的许可才能跟踪他们或访问他们设备的广告标识符。跟踪是指将从您的应用程序收集的用户或设备数据与从其他公司的应用程序、网站或离线资产收集的用户或设备数据相关联的行为,以用于有针对性的广告或广告
参考:用户隐私和数据使用
根据本指南,我们需要使用ATTrackingManager( AppTrackingTransparency ) 框架向用户询问跟踪权限。
我在 AppStore 上有一些应用程序,它们使用Google AdMob&FBAudienceNetwork向用户投放广告。
如果我不按照最新的 WWDC 指南升级这些应用程序,会发生什么情况?应用程序是否继续向用户投放广告?
如果用户不授予应用程序跟踪权限,会发生什么情况?
应用更新对广告收入有影响吗?
尝试回答这个与广告投放、收入和影响有关的问题 App Tracking Transparency
我正在研究在 iOS 14 上获取 IDFA。我使用的是 iPhone 8 Plus。
我已经添加了
<key>NSUserTrackingUsageDescription</key>
<string>App would like to access IDFA for tracking purpose</string>
Run Code Online (Sandbox Code Playgroud)
在.plist文件中。
然后添加
let type = ATTrackingManager.trackingAuthorizationStatus;
Run Code Online (Sandbox Code Playgroud)
返回.denied, 有
func requestPermission() {
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Tracking authorization dialog was shown
// and we are authorized
print("Authorized")
// Now that we are authorized we can get the IDFA
print(ASIdentifierManager.shared().advertisingIdentifier)
case .denied:
// Tracking authorization dialog was
// shown and permission is denied …Run Code Online (Sandbox Code Playgroud) 当您集成Facebook SDK以跟踪移动应用程序安装时,这是否使用IDFA,因此您在提交应用程序以供审核时是否必须对iTunes Connect问题中的相应问题回答" 是"?
这是代码 application:didFinishLaunchingWithOptions:
[FBSettings setDefaultAppID:FB_APP_ID_NSTRING];
[FBAppEvents activateApp];
Run Code Online (Sandbox Code Playgroud)
在我的Facebook信息中心中,我的应用在"安装数据洞察"和"启用增强型兴趣定位"下配置了"是":
我参考的iTunes Connect问题如下所示:

这里有很多关于IDFA的问题,但没有一个(据我所知)澄清了仅使用Facebook SDK进行移动应用程序安装是否确实使用了IDFA.
当我即将审核我的iOS应用程序时,我会问这个问题.简单的答案是"不".
我搜索了这些论坛,但只发现了我认为人们使用增强分析框架作为addSupport等.
我使用Firebase的Crashlytics和Analytics框架.在那里,我知道有使用IDFA的代码.虽然根据我的理解,只有在我也使用AdSupport.framework时才会使用它.我不使用它或以任何其他方式添加.
我使用firebase push api从电话ID获取pushTokens的推送通知.但我不认为这是使用IDFA的任何事情......
这个问题的正确答案是什么?如果是的话.还有3个选项.如果选中"是",则为完整消息
此应用是否使用广告标识符(IDFA)?广告标识符(IDFA)是每个iOS设备的唯一ID,是提供定向广告的唯一方式.用户可以选择限制其iOS设备上的广告定位.
如果您的应用使用广告标识符,请在提交之前检查您的代码(包括任何第三方代码),以确保您的应用仅将广告标识符用于下面列出的目的,并遵守限制广告跟踪设置.如果您在应用中包含第三方代码,则您应对此类代码的行为负责,因此请务必与您的第三方提供商联系,以确认是否符合广告标识符和限制广告跟踪设置的使用限制.
此应用使用广告标识符(选择所有适用的选项):
在应用内投放广告
将此应用安装归因于之前提供的广告
将此应用程序中采取的操作归于先前提供的广告
确保为广告标识符(IDFA)使用选择正确的答案.如果您的应用确实包含IDFA并且您选择否,则二进制文件将被永久拒绝,您必须提交不同的二进制文件.
谢谢你.
鉴于即将推出的 iOS 14 权限提示使用 IDFA 标识符的应用程序,我想知道 Firebase Analytics 和 Firebase Auth 是否确实需要访问 IDFA 才能运行。
在这种情况下,我们是否需要在 AppStore 上发布该应用程序时声明该应用程序正在使用 IDFA?
idfa firebase-authentication firebase-analytics ios-permissions ios14
今天我从Xcode上传了一个新版本,尝试新的TestFlight外部测试程序.在我提交测试版应用以供审核后,由于"未声明使用广告标识符[IDFA]而被拒绝.
我知道我正在使用IDFA进行广告跟踪,我也没有问题,但TestFlight提交流程无法声明这一点.当我提交到真正的应用程序商店时,我回答了有关IDFA的问题,但外部测试审核流程似乎没有相同的问题.它只询问了我提交的出口合规性.
尝试上传了一个新版本并再次遇到了同样的问题.Apple的新流程中我做错了什么或者有什么错误?还有其他人看到同样的问题或解决这个问题吗?
我正在将我的应用程序上传到App Store,Apple正在问我此应用程序是否使用IDFA.我正在使用Crashlytics来跟踪错误,我不知道它是否使用IDFA,如果它确实应该使用哪个复选框?
我提到了 https://docs.fabric.io/apple/crashlytics/advanced-setup.html?highlight=idfa,但我不理解"只有当您的应用链接到AdSupport.framework时才会收集IDFA."
要检查每个第三方SDK是否使用IDFA我使用此命令:
grep -r advertisingIdentifier .
Run Code Online (Sandbox Code Playgroud)
我懂了,
Binary file ./Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics matches
./Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.m:result = [[manager advertisingIdentifier] UUIDString];
Run Code Online (Sandbox Code Playgroud)
请告诉我的应用是否使用IDFA?是/否,如果是,则为什么?