广告未在发布模式下展示

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 的小指南,但您可以在网上找到更多内容。

希望这会有所帮助。

【讨论】:

以上是关于广告未在发布模式下展示的主要内容,如果未能解决你的问题,请参考以下文章

广告未在 iOS 中展示 |反应原生

广告未在iOS设备上展示

PHP 策略模式

Crashlytics 未在“存档”模式下上传符号

[xamarin][uwp][custom renderer] 自定义渲染器 pcl 库未在发布模式下加载

PayPal REST API (PHP SDK) 成功交易未在沙盒模式下显示,在实时模式下显示