问题 Google Play:我们在您的应用中找到了广告SDK


Google在其Google Play开发者控制台的定价和分发页面上添加了一个新选项,要求发布商声明他们是否有广告。我们的应用没有广告,但我们被标记为拥有AdMob SDK。

我们在您的一个或多个有效APK中检测到广告SDK:

version: XXXXX, sdk: AdMob

如果您的应用正在投放广告,请将您的广告声明更改为   '是'。未能准确宣布广告的存在是一项政策   违规并可能导致您的应用从Google Play中删除。您   可以访问我们的帮助中心了解更多信息。

就我从Gradle文件中可以看出,我们没有AdMob:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'me.dm7.barcodescanner:zxing:1.7.2'
    compile 'com.google.android.gms:play-services:8.3.0'
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:cardview-v7:23.1.0'
    compile 'com.android.support:recyclerview-v7:23.1.0'
}

可能导致依赖性出现的原因是什么?我怎么能摆脱它?


2083
2017-11-18 19:17


起源

这可能对您有所帮助: stackoverflow.com/questions/33788247/... - Swagata Acharyya


答案:


你可以跑 gradlew -q dependencies app:dependencies 查看每个配置的依赖项(包括所有传递依赖项)。

您还可以指定单个配置,例如 --configuration releaseCompile

在您的情况下,您会发现Google Play服务包含对AdMob的传递依赖。

您可以通过使用来缓解这种情况 仅限Play服务的各个组件 (如 play-services-location而不是整个Play服务。但是,您可能会发现您使用的其中一个组件仍然依赖于AdMob。例如,版本8.1.0 play-services-analytics 具有传递依赖性 play-services-ads,这是AdMob SDK。


13
2017-11-18 19:23



它来自于 com.google.android.gms:play-services:x.x.x 依赖。通过将其更改为只是地图 com.google.android.gms:play-services-maps:x.x.x 我能够摆脱那个AdMob依赖。谢谢! - Chris Stillwell
请注意 play-services-analytics 依赖 play-services-ads 似乎仅限于版本8.1.0。以前和以后的版本 play-services-analytics 不再有这种传递依赖,除非我以某种方式误读了POM ......不过,除此之外,还有很好的分析! - CommonsWare
@CommonsWare你是对的!我最近没有机会更新Google Play服务,但这样做删除了传递依赖。 - Tanis.7x


在谷歌播放支持聊天中,尽管有人检测到,我还是在Google Play Console中说“不”。


3
2017-11-18 21:30



我也有这种检测,我不使用广告SDK。我刚刚选择了没有选项。 - Zapnologica