4月初提交APP被拒,說是違反了Guideline 5.1.2 -Legal- Privacy- Data Use and sharing
內(nèi)容如下:
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引起的,因?yàn)槲易约旱拇a沒有實(shí)現(xiàn)這些功能,
我的APP集成的第三方SDK不多,只有友盟分析SDK、mob ShareSDK、百度分析SDK、admob、高德地圖,只能試驗(yàn)了。
先是去掉友盟試試看(為啥是他,因?yàn)樗倬W(wǎng)寫了使用IDFA),提交后還是被拒,理由也一樣。
后來找mob ShareSDK的客服咨詢,感謝他們技術(shù)給了我新的思路
我運(yùn)行“grep -r advertisingIdentifier .”去檢查項目,發(fā)現(xiàn)友盟、百度、高德地方都有IDFA相關(guān),
別的都還好說,大不了不用,但是如果高德也去掉,那我的APP也就不用更新了,徹底玩兒完。
然后我進(jìn)行了下面嘗試,最終成功通過審核:
1、去掉百度分析的SDK(我的經(jīng)驗(yàn),如果apple說你有問題,那就必須做一點(diǎn)改動,一點(diǎn)都不改是不行的),
2、升級admob,并按照官方文檔,修改工程
info.plist中加入了請求開啟用戶追蹤的提示
NSUserTrackingUsageDescription寫你自己的文案
Google Mobile Ads SDK 支持使用 Apple 的 SKAdNetwork 進(jìn)行轉(zhuǎn)化跟蹤,即使 IDFA 不可用,Google 以及參與的第三方買方也可對應(yīng)用安裝進(jìn)行歸因。如需啟用此功能,請更新 Info.plist 中的 SKAdNetworkItems 鍵,為其額外添加一個字典來指定 Google 以及參與的第三方買方的 SKAdNetworkIdentifier 值。
SKAdNetworkItemsSKAdNetworkIdentifiercstr6suwn9.skadnetwork
同時代碼中加入了IDAF的判斷
#import#importif(@available(iOS14, *)) {// iOS14及以上版本需要先請求權(quán)限[ATTrackingManagerrequestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatusstatus) {// 獲取到權(quán)限后}];? ? }else{// iOS14以下版本}
3、APP首次啟動的時候加入了隱私提示,隱私提示中寫明了使用友盟SDK和admob的用途(見最后),并且在用戶同意隱私以后,在啟用友盟SDK的注冊。
4、APP提交頁面,在備注中寫明使用友盟SDK和admob的用途(見最后)

5、更新APP提交頁面的隱私描述
使用友盟SDK和admob的用途可以從官網(wǎng)中摘抄
下面是我的備注內(nèi)容:
您好:
另外為了持續(xù)優(yōu)化我們的產(chǎn)品集成了友盟+SDK,用來分析產(chǎn)品的卡頓和閃退原因,還集成了google廣告SDK admob。
下面是這兩個SDK關(guān)于用戶隱私方面的描述:
1、我們的產(chǎn)品集成友盟+SDK,友盟+SDK需要收集您的設(shè)備Mac地址、唯一設(shè)備識別碼(IMEI/android ID/IDFA/OPENUDID/GUID、SIM 卡 IMSI 信息)以提供統(tǒng)計分析服務(wù),并通過地理位置校準(zhǔn)報表數(shù)據(jù)準(zhǔn)確性,提供基礎(chǔ)反作弊能力。
2、為了提升AdMob的效果,Google Mobile Ads SDK 可能會從應(yīng)用中收集特定信息,包括:
1)IP 地址,可用于估測設(shè)備所在的大致位置。
2)與用戶無關(guān)的崩潰日志,可用于診斷問題和改進(jìn) SDK。診斷信息還可用于廣告和分析。
3)與用戶相關(guān)的性能數(shù)據(jù)(例如應(yīng)用啟動時間、掛起率或耗電量),可用于評估用戶行為、了解現(xiàn)有產(chǎn)品功能的效果以及規(guī)劃新功能。性能數(shù)據(jù)還可用于展示廣告,包括與展示廣告的其他實(shí)體共享。
4)設(shè)備 ID(例如設(shè)備的廣告標(biāo)識符或其他與應(yīng)用綁定的設(shè)備標(biāo)識符),可用于第三方廣告和分析。
5)廣告數(shù)據(jù)(例如用戶看過的廣告),可用于為分析和廣告功能提供支持。
6)用戶與產(chǎn)品進(jìn)行的其他互動(例如點(diǎn)按以啟動應(yīng)用)及互動信息(例如視頻觀看次數(shù)),可用于提升廣告效果。