友盟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选项:
如下图片示例

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先需要在官网注册并创建应用,然后在应用管理中获取 Appkey 和 AppSecret。接下来按照以下步骤进行集成: 1. 在项目的 build.gradle 文件中添加以下依赖: ``` implementation 'com.umeng.umsdk:push:latest.integration' ``` 2. 在 AndroidManifest.xml 文件中添加以下权限和配置信息: ```xml <!-- 权限 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 友盟推送服务 --> <service android:name="com.umeng.message.UmengMessageService" /> <service android:name="com.umeng.message.UmengNotifyClickService" /> <receiver android:name="com.umeng.message.NotificationProxyBroadcastReceiver" /> <meta-data android:name="com.umeng.message.appkey" android:value="YOUR_APP_KEY" /> <meta-data android:name="com.umeng.message.channel" android:value="YOUR_CHANNEL_ID" /> ``` 其中,YOUR_APP_KEY 和 YOUR_CHANNEL_ID 需要替换为在官网获取Appkey 和渠道号。 3. 在代码中初始化 SDK: ```java // 初始化友盟推送 sdk PushAgent pushAgent = PushAgent.getInstance(this); // 启用推送服务 pushAgent.enable(); ``` 注意,这里的 this 是上下文对象,需要在 Activity 或 Application 中调用。 以上就是在 UnionApp 中集成友盟消息推送 SDK 的步骤,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值