我的应用违反了 Android 广告 ID 政策 [重复]
Posted
技术标签:
【中文标题】我的应用违反了 Android 广告 ID 政策 [重复]【英文标题】:My app violates the Android Advertising ID policy [duplicate] 【发布时间】:2018-10-20 10:19:09 【问题描述】:Google Play 团队拒绝了我的应用,因为:
广告标识符不得连接到 个人身份信息或与任何持久性相关的信息 设备标识符(例如:SSAID、MAC 地址、IMEI 等) 未经用户明确同意。
例如,我们发现您应用的归因 SDK 启用从具有 android 的设备收集 IMEI 没有显着披露的广告ID,属于违反 我们的 Android 广告 ID 政策。
我没有明确收集IMEI
,因此IMEI
必须由应用程序的依赖项之一访问。
我如何检测到哪个人正在访问IMEI
?
更新: 这些是我的依赖项
compile "com.android.support:appcompat-v7:$support_version"
compile "com.android.support:mediarouter-v7:$support_version" // I'm using icons from here, like ic_media_pause and such
compile "com.android.support:recyclerview-v7:$support_version"
compile "com.android.support:design:$support_version"
compile "com.android.support:support-compat:$support_version"
compile 'com.android.support:multidex:1.0.2'
// individual dependencies -- https://***.com/a/43407421/1121497
compile "com.google.android.gms:play-services-maps:$gms_version"
compile "com.google.android.gms:play-services-analytics:$gms_version"
compile "com.google.android.gms:play-services-gcm:$gms_version"
compile "com.google.firebase:firebase-appindexing:$gms_version"
compile "com.google.firebase:firebase-core:$gms_version"
compile "com.facebook.android:facebook-android-sdk:$facebook_version"
compile 'com.facebook.android:notifications:1.0.2'
compile 'com.batch.android:batch-sdk:1.11.0'
compile 'commons-codec:commons-codec:1.9'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
compile 'com.github.chrisbanes.photoview:library:1.2.2'
compile 'de.greenrobot:eventbus:2.4.0'
compile 'info.hoang8f:android-segmented:1.0.5'
compile 'io.card:android-sdk:5.4.2'
compile 'me.dm7.barcodescanner:zxing:1.9'
compile 'com.google.android.exoplayer:exoplayer:r2.2.0'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.squareup.okhttp:okhttp:2.2.0'
compile 'io.reactivex:rxandroid:1.1.0'
compile 'io.reactivex:rxjava:1.1.0'
//compile 'io.reactivex:rxjava-joins:0.22.0' // to use JoinObservable (and-then-when combinator)
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
// In libs we have:
// - ZooZ 1.02 : From https://github.com/Zooz/Zooz-Android/releases/tag/1.02
// - AppsFlyer : AF-Android-SDK 2.3.1.13 jar
// - Volley
compile fileTree(dir: '../libs', include: '*.jar')
compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar')
transitive = true
注意:AppsFlyer
已配置为:
AppsFlyerLib.setCollectIMEI(false); // https://play.google.com/about/monetization-ads/ads/ad-id/
AppsFlyerLib.setCollectMACAddress(false);
AppsFlyerLib.setCollectAndroidID(false);
【问题讨论】:
能否请您发布您的 gradle 依赖项 您的manifest
中有android.permission.READ_PHONE_STATE
权限吗?你需要它吗 ?没有它,您将无法获得IMEI
(对于 API >4)。另请参阅Attribution & Analytics SDKs参考Best practices for unique identifiers。可能是crashlytics
?
是的,我拥有android.permission.READ_PHONE_STATE
权限。我不确定删除此权限会破坏什么。我去看看你提供的资源,谢谢。你为什么怀疑crashlytics
?
【参考方案1】:
我的申请也被 Google 删除了。我做了以下方法重新发布。
使用Free Privacy Policy URL创建应用程序的隐私政策
在URL发布隐私政策
复制已发布的隐私政策链接并将其添加到 Developer Play Console 中。 在应用程序中也添加隐私政策链接(可选)希望这对你也有帮助。
【讨论】:
完美!请注意,现在在第一个网站上托管您的隐私政策,因此您甚至不必使用第二个链接。【参考方案2】:Crashlytics 使用各种标识符来提供他们的服务,包括 Android ID 和 Android Advertising ID.
所以 crashlytics lib 可能是个问题。这个库正在处理广告 ID。许多使用 crashlytics lib 而未使用 AppsFlyerLib 的开发人员收到此警告。 所以我认为你也应该关注 crashlytics 库。
如需了解更多信息,请访问crashlytics security page
【讨论】:
你能发一份证据吗?例如一个链接。 如果你通过这个链接,你会得到关于try.crashlytics.com/security的信息的澄清【参考方案3】:您必须在您的应用程序上添加隐私政策。
首先,您必须创建一个隐私政策 URL,然后根据应用程序将该 URL 添加到 GOOGLE PUBLISHER CONSOLE 中。您可以使用此网站轻松创建隐私政策。
Privacy Policies
如果您有服务器/主机,请尝试在您自己的服务器上上传隐私政策页面,否则您可以使用此网站进行存储。
提及:您必须在您的应用程序中添加此政策页面。创建一个菜单作为隐私警察,并在对话框中显示您的所有策略内容。最简单的方法
【讨论】:
只将隐私政策添加到 google play 商品详情中是行不通的。【参考方案4】:您正在使用低于 sdk 4.3 的 Appsflyer。这就是问题。 这是他们发送给所有开发者的电子邮件。
你好,
AppsFlyer 和 Google Play 团队正在合作以确保 所有使用 AppsFlyer SDK 的广告商都符合 Google 播放隐私政策。为避免对您的业务造成任何干扰,我们 强烈建议所有广告客户采取以下步骤。
如果您运行的是 AppsFlyer SDK 4.3 或更早版本:请 尽快更新到最新的 AppsFlyer SDK 来维护 完全合规。如果您在较新的 SDK 中启用了 IMEI 收集 版本:通过 AppsFlyer SDK 禁用 IMEI 收集,方法是删除 以下代码 AppsFlyerLib.getInstance().setImeiData("IMEI_DATA_HERE") 如果您的应用 尚不符合 Google Play 隐私政策,我们 建议您及时更正您的数据收集。 有关 AppsFlyer SDK 的更多信息,请访问帮助 居中或联系您的成功经理。
感谢 AppsFlyer 团队
【讨论】:
感谢您的回答@Bruno 我很感激。但是我想知道是否存在一个程序/应用程序/任何东西来检测谁在访问 IMEI,而不是单独检查每个依赖项(取决于项目可能真的很难)。幸运的是,我的应用已获得批准,所以我只是好奇,以防它再次发生在我身上。 @ilopezluna 嗨。我的应用程序中有同样的问题。是导致拒绝的appsflyer吗?你如何在最新版本中初始化appsflyer以确保它不会收集IMEI?谢谢! 我们添加了以下几行:AppsFlyerLib.setCollectIMEI(false); // https://play.google.com/about/monetization-ads/ads/ad-id/ AppsFlyerLib.setCollectMACAddress(false); AppsFlyerLib.setCollectAndroidID(false);
注意:我们使用的不是最新版本。【参考方案5】:
就我而言,这是由于 Google Play 控制台中未设置隐私政策 URL。我也使用 Crashlytic。但是当我添加隐私政策时,它需要一些时间来处理,然后它得到了解决。 我没有事件必须再次重新发布。
【讨论】:
您的答案与您的其他答案有何不同?以上是关于我的应用违反了 Android 广告 ID 政策 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
React Native:违反使用 Android 广告 ID 政策和开发者分发协议第 4.8 节
Android 应用因 Android 广告 ID 政策而不断被拒绝
如何在不更新 APK 文件的情况下解决违反使用 Android 广告 ID 政策和第 4.8 节的问题 [重复]