我添加了Google Admob框架,用于在应用程序中显示广告,并获取与iTunes Connect应用程序隐私部分中的用户跟踪使用相关的错误。iTunes Connect不允许提交应用程序。之后,我在info.plist中有正确的密钥和描述。
<key>NSUserTrackingUsageDescription</key>
<string>App would like to access IDFA for tracking purpose</string>
并且还在登录页面中添加了请求权限的代码,并在viewDidLoad中调用它。
func requestPermission() {
if #available(iOS 14, *) {
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
print("Denied")
case .notDetermined:
// Tracking authorization dialog has not been shown
print("Not Determined")
case .restricted:
print("Restricted")
@unknown default:
print("Unknown")
}
}
} else {
// Fallback on earlier versions
}
}
但上传新版本后,iTunes Connect仍出现错误,我无法提交版本。有人遇到过同样的问题吗?如何隐藏此错误〉
5条答案
按热度按时间ma8fv8wu1#
如果您要为广告和/或第三方库收集用户数据,则只需使用info.plist中的NSUserTrackingUsageDescription属性。
如果您将信息保存在应用程序中或用于身份验证目的,则您不会进行跟踪;因此,您不需要此属性。(希望我没有理解错。)
换句话说,您在App Store Connect的“应用程序隐私”部分提供的信息与info. plist中的NSUserTrackingUsageDescription属性不一致。
hgc7kmma2#
问题出在“应用隐私”部分是如何设置的,根据您的选择,它已经确定您不收集任何数据。
这是错误的,因为您正在使用IDFA(广告标识符),因此您正在收集“标识符”。
您需要重新访问“应用程序隐私”并修改您的选择。
2cmtqfgy3#
我得到类似的错误,“您的应用包含NSUserTrackingUsageDescription,表明您将请求跟踪用户的权限。"。
我从info.plist文件中删除了NSUserTrackingUsageDescription,并在新构建中删除了UMP库以及所有相关内容。
并且所有的Admob请求都具有[GADMobileAds.sharedInstance.requestConfiguration tag for ChildDirectedTreatment:YES];
但是Appstoreconnect一直给出同样的错误。看起来appsstoreconnect正在检查所有的构建,即使它们没有被使用。
6za6bjd04#
必须指定要使用NSUserTrackingUsageDescription的原因此应用要使用此选项以获得更好的性能
xfb7svmp5#
当我在数据收集问卷上选择“否”时,我得到了相同的错误。
即使您不是为自己收集数据,Google也会为他们的admob广告目的收集数据。要解决此错误,您必须编辑数据收集问卷并选择“是”。
不仅如此,你还必须更具体地说明你正在收集哪些数据。苹果宣布,从2020年12月8日起,新应用和应用更新将需要数据披露要求。
对于这个问题,Google Admob提供了一个statement。但是这个声明很模糊。它没有给予问卷答案。所以搜索并找到了一篇文章,明确给出了我的问题的解决方案。参考Michael Kiley's Medium Article并填写问卷。