友盟SDK如何防止应用因获取IDFA被AppStore拒绝

前言

众所周知,苹果Appstore对应用的审核要比各家Android应用市场严格得多,由于使用第三方SDK造成应用审核被拒也给开发者带来了很多不必要的麻烦,下面给大家介绍几种常见的因使用友盟SDK上传Appstore审核被拒的解决方法

判断包里面是否用了IDFA

grep -r advertisingIdentifier . 

##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选项:
友盟SDK如何防止应用因获取IDFA被AppStore拒绝_第1张图片

不勾选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 。

你可能感兴趣的:(基础知识)