广告未在发布模式下展示
Posted
技术标签:
【中文标题】广告未在发布模式下展示【英文标题】:Ads not showing up in release mode 【发布时间】:2015-12-01 14:42:10 【问题描述】:我有一个应该显示一些广告的应用程序。在调试模式下,一切运行良好,广告按应有的方式显示。
但在发布模式下,即使运行完全相同的代码(并且使用相同的 URL),也不会发生任何事情。我也有多个环境(测试/生产),它在测试/调试和生产/调试中运行良好,但在测试/发布和生产/发布中都失败了。
请注意,其他一切在发布模式下都可以正常工作。在任何地方都没有找到关于这种错误的相关主题。
【问题讨论】:
您应该联系服务台以获得该服务... 您使用的是什么广告 SDK?您是否将哈希键从调试更改为发布(如果您的 sdk 需要) 听起来这可能是一个proguard问题。在您的 gradle 文件中,在 release 下,将 minifyEnabled 设置为 false 并查看是否仍然发生这种情况。如果不需要,您需要在您的 proguard 文件中为显示广告的 API 添加排除规则。 @GilMoshayof 您的解决方案成功了!我从 ProGuard 中排除了与广告 API 相关的所有内容,它们现在可以正常显示了!如果你想写一个正式的答案,我很乐意接受。 【参考方案1】:正如您所确认的,这是一个 Proguard 问题。
Proguard 的主要功能是缩小代码,将诸如“doImportantThing”之类的函数名称替换为“a”等,使其重量更轻,更难进行逆向工程。
一个快速的解决方法是通过在 gradle 发布块中将 minifyEnabled
设置为 false
来禁用缩小,但这意味着 Proguard 被禁用并且不执行前面提到的重要功能。
真正的解决办法是编辑您的 proguard-rules 文件,并确保 Proguard 将某些类排除在缩小过程之外。
Here 是关于如何使用和配置 Proguard 的小指南,但您可以在网上找到更多内容。
希望这会有所帮助。
【讨论】:
以上是关于广告未在发布模式下展示的主要内容,如果未能解决你的问题,请参考以下文章