友盟SDK如何防止應用因獲取IDFA被AppStore拒絕

Deft_MKJing宓珂璟發表於2016-12-01

眾所周知,蘋果Appstore對應用的稽核要比各家Android應用市場嚴格得多,由於使用第三方SDK造成應用稽核被拒也給開發者帶來了很多不必要的麻煩,下面給大家介紹幾種常見的因使用友盟SDK上傳Appstore稽核被拒的解決方法


PLA 3.3.12

We found that your app uses the iOS Advertising Identifier but does not include ad functionality. This does not comply with the terms of the iOS Developer Program License Agreement, as required by the App Store Review Guidelines.

Specifically, section 3.3.12 of the iOS Developer Program License Agreement states:

“You and Your Applications (and any third party with whom you have contracted to serve advertising) may use the Advertising Identifier, and any information obtained through the use of the Advertising Identifier, only for the purpose of serving advertising. If a user resets the Advertising Identifier, then You agree not to combine, correlate, link or otherwise associate, either directly or indirectly, the prior Advertising Identifier and any derived information with the reset Advertising Identifier.”

Note: iAd does not use the AdSupport framework, ASIdentifierManager, or the Advertising Identifier. Therefore they are not required for iAd implementations and should not be included in your app for iAd support.

If your app is serving ads, please:

  • Ensure that you have tested your app on a device, not just the simulator, and that you have removed all previous versions of your app prior to testing

  • Provide us the steps to locate ads in your app

If your app does not serve ads, please check your code - including any third-party libraries - to remove any instances of:

class: ASIdentifierManager
selector: advertisingIdentifier
framework: AdSupport.framework

If you are planning to incorporate ads in a future version, please remove the Advertising Identifier from your app until you have included ad functionality.

To help locate the Advertising Identifier, use the “nm” tool. For information on the “nm” tool, please see the nm man page.

If you do not have access to the libraries’ source, you may be able to search the compiled binary using the “strings” or “otool” command line tools. The “strings” tool lists the methods that the library calls, and “otool -ov” will list the Objective-C class structures and their defined methods. These techniques can help you narrow down where the problematic code resides.

PLA 3.3.12

從2014年2月初開始,Apple開始拒絕

採集IDFA(identifier for advertising)而未整合任何廣告服務的應用進入AppStore。 反正就是採集了IDFA但是加入廣告就不行。。。就是這個意思吧!!!

為解決此問題,我們同時為使用者提供兩個版本的SDK,包括採集IDFA的標準版和不採集IDFA的無IDFA版。
由於Appstore禁止不使用廣告而採集IDFA的app上架,友盟提供IDFA版和不含IDFA版兩個SDK,兩個SDK在資料上並沒有差異,採集IDFA是為了防止今後因為蘋果可能禁止目前使用的openudid而造成的資料波動。

如果您的應用使用友盟標準SDK而未整合任何廣告服務,但需要跟蹤廣告帶來的啟用行為,請按照下圖填寫Appstore中的IDFA選項:

如下圖片示例

不勾選1.serve advertisements within the app
服務應用中的廣告。如果你的應用中整合了廣告的時候,你需要勾選這一項。

勾選2.Attribute this app installation to a previously served advertisement.
跟蹤廣告帶來的安裝。

勾選3.Attribute an action taken within this app to a previously served advertisement
跟蹤廣告帶來的使用者的後續行為。

勾選4.Limit Ad Tracking setting in iOS
這一項下的內容其實就是對你的應用使用idfa的目的做下確認,只要你選擇了採集idfa,那麼這一項都是需要勾選的。

如果您仍因為採集IDFA被Appstore稽核拒絕,建議您整合任意一家廣告或選用友盟無IDFA版SDK。

pod ‘UMengAnalytics-NO-IDFA’

如果您仍舊不希望採集IDFA,您可以下載無IDFA的版本:
請更換您的SDK,同時請移除您應用內的相關程式碼(包括 class: ASIdentifierManager ;selector: advertisingIdentifier;framework: AdSupport.framework),您的資料不會因此產生任何波動。
注意: 如果未來Apple標識裝置的唯一識別符號再次發生變化,由於無IDFA作為資料過渡的媒介,可能會出現資料波動的情況。

BTW,無IDFA版本並不會造成統計資料上的差異。
當前友盟通過Openudid來識別唯一裝置,假如將來蘋果禁止使用openudid,且您的應用沒有采集IDFA,則會造成新增使用者和相關指標的波動(由於採用新指標,老使用者被算作新使用者)請您按需選擇。

也就是說暫時是安全的,在apple還是支援用openudid的情況下使用no-IDFA無任何影響,但是一旦不能使用openudid了就會有指標的波動而已,感覺現在問題不大,如果沒廣告採集,那麼就使用NO-IDFA來玩也是可以的,免得被拒絕


PLA 3.3.9

We found that your app uses analytics software to collect and send device data to a third party, which is not in compliance with the iOS Developer Program License Agreement.

3.3.9 You and Your Applications may not collect user or device data without prior user consent, and then only to provide a service or function that is directly relevant to the use of the Application, or to serve advertising. You may not use analytics software in Your Application to collect and send device data to a third party.

Specifically, we found that the app accesses the user’s MAC address.

PLA 3.3.9

Appstore規定,開發者在採集裝置資訊和其他使用者資料併傳送給第三方統計平臺必須告知使用者,為此友盟為開發者提供一個《隱私宣告》範本,請開發者在應用的合適位置引用此文件。


PLA 2.2.5

Your app displays or promotes apps other than your own, which does not comply with the App Store Review Guidelines.

Specifically, the 推薦 section feature displays third-party Apps. We’ve attached screenshot/s for your reference.

To ensure compliance with the App Store Review Guidelines, please remove the 推薦 section feature from your app.

PLA 2.2.5規定,應用中不能出現和Appstore相似的應用推薦頁面,由於之前友盟提供的預設廣告頁面使用了應用推薦廣告,造成部分開發者因此被拒絕,目前友盟已經更換了新的廣告連結,不再使用應用推薦類的臨時廣告,避免因2.2.5拒絕。

總結一下,

(1)如果你的應用裡只是整合了廣告,不追蹤廣告帶來的啟用行為,那麼選擇1和4;

(2)如果你的應用裡沒有整合廣告,但是需要追蹤廣告帶來的啟用行為,那麼選擇2,3和4;

(3)如果你的應用裡整合了廣告,而且使用了umtrack來追蹤廣告帶來的啟用行為,需要選擇1,2,3和4 。

相關文章