4月初提交APP被拒,说是违反了Guideline 5.1.2 -Legal- Privacy- Data Use and sharing
内容如下:
We found in our review that your app collects user and
device information to create a unique identifier for the
users device Apps that fingerprint the users device
in this way are in violation of the Apple Developer
Program License Agreement and are not appropriate
for the App Store.
Specifically, your app uses algorithmically converted
device and usage data to create a unique identifier in
order to track the user. The device informatior
collected by your app may include some of the
following: attributesOfltemAtPath: error: UIDevice
systemTimeZone, NSLocale Language Code, and
NSLocale Code
Per section 3.3.9 of the Apple Developer Program
License Agreement, neither you nor your app can use
any permanent, device-based identifier, or any data
derived therefrom, for purposes of uniquely identifying
a device
Next Steps
To resolve this issue, remove any functionality from
your app that uses algorithmically converted device
and usage data to create a unique identifier for the
users device. You should also remove any related
code or implemented SDKs that support this
functionality
Please note that attempting to hide or obfuscate code
designed to fingerprint the users device, or otherwise
evade the review process, may result in the
termination of your Apple Developer Program account
Review the Terms Conditions of the Apple
Developer Program to learn more about our policies
这一看就是第三方sdk引起的,因为我自己的代码没有实现这些功能,
我的APP集成的第三方SDK不多,只有友盟分析SDK、mob ShareSDK、百度分析SDK、admob、高德地图,只能试验了。
先是去掉友盟试试看(为啥是他,因为他官网写了使用IDFA),提交后还是被拒,理由也一样。
后来找mob ShareSDK的客服咨询,感谢他们技术给了我新的思路
我运行“grep -r advertisingIdentifier .”去检查项目,发现友盟、百度、高德地方都有IDFA相关,
别的都还好说,大不了不用,但是如果高德也去掉,那我的APP也就不用更新了,彻底玩儿完。
然后我进行了下面尝试,最终成功通过审核:
1、去掉百度分析的SDK(我的经验,如果apple说你有问题,那就必须做一点改动,一点都不改是不行的),
2、升级admob,并按照官方文档,修改工程
info.plist中加入了请求开启用户追踪的提示
NSUserTrackingUsageDescription写你自己的文案
Google Mobile Ads SDK 支持使用 Apple 的 SKAdNetwork 进行转化跟踪,即使 IDFA 不可用,Google 以及参与的第三方买方也可对应用安装进行归因。如需启用此功能,请更新 Info.plist 中的 SKAdNetworkItems 键,为其额外添加一个字典来指定 Google 以及参与的第三方买方的 SKAdNetworkIdentifier 值。
SKAdNetworkItemsSKAdNetworkIdentifiercstr6suwn9.skadnetwork
同时代码中加入了IDAF的判断
#import#importif(@available(iOS14, *)) {// iOS14及以上版本需要先请求权限[ATTrackingManagerrequestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatusstatus) {// 获取到权限后}]; }else{// iOS14以下版本}
3、APP首次启动的时候加入了隐私提示,隐私提示中写明了使用友盟SDK和admob的用途(见最后),并且在用户同意隐私以后,在启用友盟SDK的注册。
4、APP提交页面,在备注中写明使用友盟SDK和admob的用途(见最后)
5、更新APP提交页面的隐私描述
使用友盟SDK和admob的用途可以从官网中摘抄
下面是我的备注内容:
您好:
另外为了持续优化我们的产品集成了友盟+SDK,用来分析产品的卡顿和闪退原因,还集成了google广告SDK admob。
下面是这两个SDK关于用户隐私方面的描述:
1、我们的产品集成友盟+SDK,友盟+SDK需要收集您的设备Mac地址、唯一设备识别码(IMEI/android ID/IDFA/OPENUDID/GUID、SIM 卡 IMSI 信息)以提供统计分析服务,并通过地理位置校准报表数据准确性,提供基础反作弊能力。
2、为了提升AdMob的效果,Google Mobile Ads SDK 可能会从应用中收集特定信息,包括:
1)IP 地址,可用于估测设备所在的大致位置。
2)与用户无关的崩溃日志,可用于诊断问题和改进 SDK。诊断信息还可用于广告和分析。
3)与用户相关的性能数据(例如应用启动时间、挂起率或耗电量),可用于评估用户行为、了解现有产品功能的效果以及规划新功能。性能数据还可用于展示广告,包括与展示广告的其他实体共享。
4)设备 ID(例如设备的广告标识符或其他与应用绑定的设备标识符),可用于第三方广告和分析。
5)广告数据(例如用户看过的广告),可用于为分析和广告功能提供支持。
6)用户与产品进行的其他互动(例如点按以启动应用)及互动信息(例如视频观看次数),可用于提升广告效果。
网友评论