无法显示 AdMob 横幅

Posted

技术标签:

【中文标题】无法显示 AdMob 横幅【英文标题】:Unable to display AdMob Banner 【发布时间】:2016-03-29 20:45:41 【问题描述】:

我正在尝试使用 AdMob 在屏幕底部显示广告。

我在 build.gradle 文件中添加了以下行来获取 AdMob sdk:

compile 'com.google.android.gms:play-services-ads:8.4.0'

之后,我在 XML 中添加了 AdView 来展示广告:

<com.google.android.gms.ads.AdView
        android:id="@+id/ad_view"
        android:layout_
        android:layout_
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        app:adSize="BANNER"
        android:layout_gravity="bottom"
        app:adUnitId="@string/banner_ad_unit_id" />

现在我使用 ad_view id 对 AdView 进行引用,并使用以下代码行构建 AdRequest 以请求广告:

AdView mAdView = (AdView) findViewById(R.id.ad_view);
final AdRequest adRequest = new AdRequest.Builder()
//  .addTestDevice("38C0F116926519A0CBAF1094898921FB")
    .build();

if (mAdView != null)
    mAdView.loadAd(adRequest);

如果我取消注释 addTestDevice 函数,一切正常,但是当我尝试显示真实广告时,我在 logcat 中收到以下错误:

12-23 17:18:02.234 13226-13226/com.abc.xyz I/Ads: Starting ad request.
12-23 17:18:02.234 13226-13226/com.abc.xyz I/Ads: Use AdRequest.Builder.addTestDevice("38C0F116926519A0CBAF1094898921FB") to get test ads on this device.
12-23 17:18:02.554 13226-13226/com.abc.xyz I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@42dd86b8 time:83516183
12-23 17:18:05.694 13226-13226/com.abc.xyz D/EgretLoader: EgretLoader(Context context)
12-23 17:18:05.694 13226-13226/com.abc.xyz D/EgretLoader: The context is not activity
12-23 17:18:05.764 13226-13226/com.abc.xyz I/Ads: Ad finished loading.
12-23 17:18:05.824 13226-13226/com.abc.xyz E/Ads: JS: Uncaught ReferenceError: AFMA_ReceiveMessage is not defined (:1)
12-23 17:18:05.824 13226-13226/com.abc.xyz I/chromium: [INFO:CONSOLE(1)] "Uncaught ReferenceError: AFMA_ReceiveMessage is not defined", source:  (1)

搜索问题后,我尝试了以下链接中的解决方案,但没有一个对我有用。

Uncaught ReferenceError: AFMA_getSdkConstants is not defined

Interstitial Admob doesn't work : AFMA_ReceiveMessage is not defined

请告诉我我做错了什么或我错过了什么。谢谢。

【问题讨论】:

你能把你的整个布局xml贴出来吗 有时需要一些时间,你也应该在其他设备上尝试,然后问题就会解决 错误代码号 @Androider 是的,你是对的,现在使用相同的代码,所有真实的广告都出现在我的广告视图中。谢谢大家的帮助。 :) 【参考方案1】:

我检查了你的代码并且是正确的,有时你必须做两件事:

1- 等待检查,记住您只是在几分钟前添加了广告。 2- 在真实设备中尝试,记住你没有像模拟器中的游戏商店服务一样的东西。

【讨论】:

【参考方案2】:

即使我也面临着类似的问题。就我而言,将 AdView xml 内容从 activity_main.xml 移动到 content_main.xml 解决了这个问题。

【讨论】:

以上是关于无法显示 AdMob 横幅的主要内容,如果未能解决你的问题,请参考以下文章

Admob 横幅已隐藏

iAd 和 AdMob 广告未在已发布的 iPhone 应用程序中显示

Admob 横幅广告在 Android 上无法正常工作

我可以在同一活动中显示 admob 原生广告和 admob 横幅广告吗?

AdMob 横幅广告未显示 Swift 3

如何在屏幕中间显示我的 Admob 横幅广告?