【问题标题】:Admob banner and interstitial ads not loading on launcher activityAdmob 横幅和插页式广告未在启动器活动中加载
【发布时间】:2014-10-11 10:07:17
【问题描述】:

第一次加载我的应用时,横幅广告和全屏插页式广告没有加载。每隔一次,当我点击该(或任何其他)活动时,广告加载正常。这让我相信这不是填充问题。我也没有使用任何中介,只是使用标准的 Admob 网络。

下面是我用来加载横幅广告的代码

AdView bannerAdView = (AdView)this.findViewById(R.id.adView);
    if (Settings.SHOW_ADS) {
        AdRequest adRequestBanner = new AdRequest.Builder().build();
        bannerAdView.loadAd(adRequestBanner);
    }

log cat 报告如下错误

10-11 21:33:51.749  19409-19439/ W/Ads﹕ There was a problem getting an ad response. ErrorCode: 0
10-11 21:33:51.839  19409-19409/ W/Ads﹕ Failed to load ad: 0
10-11 21:33:47.039  19409-19409/ E/Ads﹕ JS: Uncaught ReferenceError: AFMA_ReceiveMessage is not defined (:1)

有什么办法可以让广告加载率接近 100%,尤其是全屏广告?

【问题讨论】:

  • 您是否在清单中添加了权限? <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  • 检查this是否有帮助。
  • 不幸的是没有,我用更详细的日志更新了这个问题..
  • 先尝试加载测试广告。点击这里查看如何加载测试广告developers.google.com/mobile-ads-sdk/docs/admob/android/…

标签: android admob


【解决方案1】:

此外,您的包裹可能会被 Google AdMob 屏蔽。 如果您收到这样的电子邮件:

你好,

这封电子邮件是为了提醒您,您的一个应用程序不是 目前符合我们的 AdMob 计划政策,并且作为 结果,您的应用程序中的广告服务已被禁用。

问题 ID#:33943***

已禁止向以下对象投放广告:APPNAME (com.example.pack)

需要采取的措施:检查您的所有其他剩余应用程序 说明合规性。

当前帐户状态:有效

违规说明

GOOGLE PLAY 删除:AdMob 发布商不得滥用或 宣传滥用任何 Google 产品,例如 Google Play、YouTube、 或博主。这包括规避或提供手段 规避这些或其他 Google 产品的政策或条款, 例如允许用户下载 YouTube 视频。

如果您的应用因 Google Play 政策执行而被移除,请 在此处联系 Google Play 以了解应用程序的删除。如果谷歌播放 恢复您的应用,请向我们的团队提交申诉。

需要采取的行动:检查帐户是否合规

虽然上述应用已停用广告投放,但您的 AdMob 帐户保持活动状态。我们建议您花时间审查 其余的应用程序,以确保它们合规 遵守我们的政策,并相应地监控您的应用程序以减少 我们未来发送政策电子邮件的可能性。另外,请注意 我们的团队保留随时禁用帐户的权利,如果我们 继续看到违规行为发生。

上诉

如果您希望对此禁用提出上诉,则可以使用我们的 申诉表。

感谢您的合作。

此致,

Google AdMob 团队

所以现在您需要更改您的应用程序包。在 Eclipse 上它是 AndroidManifest.xml 文件中的package="com.example"

在 AndroidStudio 上 applicationId "com.example" 在 build.gradle 文件中

【讨论】:

  • 我在一个应用程序中面临同样的问题,我们如何在不更改包的情况下修复它?更改包意味着我们必须上传新应用
  • 遇到了同样的问题,在临时更改包名进行测试后,它工作正常。 @Aqib Mumtaz。您必须联系 Google 帮助支持团队。
  • @AqibMumtaz 你不能。禁止后谷歌不支持开发者(在 99% 的情况下)。您只需要使用另一个人的护照、信用卡、另一个 comp IP 和 MAC 地址创建一个新的开发帐户,然后使用另一个包名称创建一个新应用
  • 幸运的是,我联系了 AdMob 团队,并要求他们在证明我的应用不违反 AdMob 政策指南后为我解决问题,并且他们已修复 :))
【解决方案2】:

我的最佳猜测是您的活动加载速度比广告快。因此,当您的活动加载时,广告还没有准备好,因此广告没有展示。这是我的 LogCat 的屏幕截图,向您展示了 Ad 为做好准备所采取的不同步骤。

此外,如果广告正在展示并且调用了另一个活动(活动 B),则活动 B 将覆盖广告。通过按下手机/模拟器上的后退按钮,您可以看到广告仍在堆栈中。按下那个按钮应该会让你回到广告。

【讨论】:

  • 感谢您的努力,生病尝试提出解决方案并尽快发布。
【解决方案3】:

在我的 Gradle 文件中升级到最新的 google play services 库时,此问题已消失。

在撰写本文时,最新版本为6.1.71,依赖关系如下:

compile 'com.google.android.gms:play-services:6.1.71'

【讨论】:

    【解决方案4】:

    检查主布局中的 paddingLeft、paddingRight(如果存在)尝试删除它们。有类似的问题,用填充删除修复。

    【讨论】:

      【解决方案5】:

      如果您尝试使用 adMobs 测试广告,则需要使用测试广告 ID,即:ca-app-pub-3940256099942544/6300978111

      如果您正在展示测试广告并使用您的私人广告 ID,它将无法正常工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多