android – 有和没有广告的多种构建风味(新的Google开发者政策)

android – 有和没有广告的多种构建风味(新的Google开发者政策),第1张

概述我发布了一个包含2个Build Flavors的应用程序:一个“普通”版本,包括广告和无广告版本. 在Google Play开发者控制台中,如果它使用广告,您现在必须标记您的应用.这适用于普通版本,但无广告版本使用与专业版相同的依赖关系(尤其是Google Play服务).因此,当我将此版本设置为无广告时,我会收到警告,因为找到了ad-libs. 是否可以根据gradle构建风格更改依赖项? 的b 我发布了一个包含2个Build Flavors的应用程序:一个“普通”版本,包括广告和无广告版本.

在Google Play开发者控制台中,如果它使用广告,您现在必须标记您的应用.这适用于普通版本,但无广告版本使用与专业版相同的依赖关系(尤其是Google Play服务).因此,当我将此版本设置为无广告时,我会收到警告,因为找到了ad-libs.

是否可以根据gradle构建风格更改依赖项?

的build.gradle:

androID {   (...)   productFlavors {        lite {            signingConfig signingConfigs.Release            versionCode 14            versionname '1.1.5'            buildConfigFIEld "boolean","IS_PRO","false"        }        pro {            applicationID 'com.example.exampleadfree'            signingConfig signingConfigs.Release            targetSdkVersion 21            versionCode 14            versionname '1.1.5'            buildConfigFIEld "boolean","true"        }    }}dependencIEs {    compile filetree(dir: 'libs',include: ['*.jar'])    compile 'com.androID.support:support-v4:21.0.3'    compile 'com.androID.support:appcompat-v7:21.0.3'    compile 'com.androID.support:cardvIEw-v7:21.0.2'    compile 'com.Google.androID.gms:play-services:6.1.+'    compile project(':librarIEs:SharedItems')    compile 'com.androID.support:recyclervIEw-v7:21.0.2'}
解决方法 你可以改变
compile 'com.Google.androID.gms:play-services:6.1.+'

liteCompile 'com.Google.androID.gms:play-services:6.1.+'

这将包括仅与您的lite版本的播放服务lib.

但是你还没有完成,因为现在你的应用程序中创建AdVIEw和相关类的代码在创建专业版时将无法编译.

我在类似情况下(使用计费库)的解决方案是将引用排除库和相关类的所有代码移动到源文件中,该源文件也仅使用lite版本构建,然后为专业版提供虚拟实现没有引用库的版本.

例如,创建两个特定于flavor的src目录,每个目录中具有相同名称的java类:

src/lite/java/com/example/myapp/util/AdUtil.javasrc/pro/java/com/example/myapp/util/AdUtil.java

在精简版的AdUtil中,您可以调用Google Play服务并返回AdVIEw:

VIEw getAdVIEw(...){    VIEw adVIEw = new AdVIEw(...);    adVIEw.setAdSize(...);    adVIEw.setAdUnitID(...);    ...    return adVIEw;}

在该类的专业版中,您可以放置​​一个不参考play服务lib的虚拟实现:

VIEw getAdVIEw(...){    return null;}

然后在您的主应用程序代码中,当您调用AdUtil.getAdVIEw()时,您将获得lite版本中的VIEw,您可以将其放置在屏幕上.在专业版中,您将获得null,因此您可以跳过添加视图(但在尝试首先创建广告视图之前,您可能已经在检查您是专业版还是精简版).

总结

以上是内存溢出为你收集整理的android – 有和没有广告的多种构建风味(新的Google开发者政策)全部内容,希望文章能够帮你解决android – 有和没有广告的多种构建风味(新的Google开发者政策)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1130768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存