Admob广告未加载 - 无法加载广告:0

时间:2016-07-14 15:14:55

标签: android admob

我正在尝试加载Admob原生广告。之前(在应用更新之前)广告过去曾经展示但现在却没有展示。我已经发布了代码,xml和下面的Logcat。

代码

NativeExpressAdView adView = (NativeExpressAdView) myView.findViewById(R.id.adView);

    AdRequest request = new AdRequest.Builder()
            .addTestDevice("5BCFF0AAE83AF424648A954038C71DE6")
            .addTestDevice("A5E3E2068BD88202CBC281AD76984BEE")//infocus
            .build();

    adView.loadAd(request);

XML

<com.google.android.gms.ads.NativeExpressAdView
            android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            ads:adSize="320x150"
            ads:adUnitId="ca-app-pub-5059726881726792/6223900262"></com.google.android.gms.ads.NativeExpressAdView>

logcat的

07-14 20:39:57.349 11508-11508/? W/Ads: Failed to load ad: 0
07-14 20:40:07.373 11508-11663/? W/Ads: There was a problem getting an ad response. ErrorCode: 0

Fail to forward ad response.
                                  android.os.DeadObjectException
                                      at android.os.BinderProxy.transactNative(Native Method)
                                      at android.os.BinderProxy.transact(Binder.java:511)
                                      at com.google.android.gms.ads.internal.request.ab.a(:com.google.android.gms:93)
                                      at com.google.android.gms.ads.internal.request.service.i.run(:com.google.android.gms:638)
                                      at com.google.android.gms.ads.internal.util.u.call(:com.google.android.gms:1055)
                                      at com.google.android.gms.ads.internal.util.v.run(:com.google.android.gms:75)
                                      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
                                      at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                      at java.lang.Thread.run(Thread.java:818)

07-14 20:40:19.539 1975-4922/? W/Ads: Fail to forward ad response.
                                  android.os.DeadObjectException
                                      at android.os.BinderProxy.transactNative(Native Method)
                                      at android.os.BinderProxy.transact(Binder.java:511)
                                      at com.google.android.gms.ads.internal.request.ab.a(:com.google.android.gms:93)
                                      at com.google.android.gms.ads.internal.request.service.i.run(:com.google.android.gms:638)
                                      at com.google.android.gms.ads.internal.util.u.call(:com.google.android.gms:1055)
                                      at com.google.android.gms.ads.internal.util.v.run(:com.google.android.gms:75)
                                      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
                                      at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                      at java.lang.Thread.run(Thread.java:818)

18 个答案:

答案 0 :(得分:44)

您的代码没有错误。一切都很好。你只需要等一下。您的广告ID是新创建的,因此从Google服务器获取广告需要一些时间。您可以通过添加为早期应用创建的横幅/插页式广告ID来验证这一点,并且您会发现它们有效。所以给它一些时间,它会尽快工作。至少对我来说,它总是发生。不能肯定地为你说,但为什么不尝试一下呢?

答案 1 :(得分:15)

在我的情况下,缺少付款信息是一个问题。当您登录Admob信息中心时,您会看到那里的通知,在我们添加付款详细信息之前,广告将无效。

答案 2 :(得分:4)

所以我遇到了同样的错误,我已经尝试了这里列出的所有内容。

  1. 正在等待Google向我发送一封电子邮件,告知我AdMob处于活动状态。完成后,大约花了一个小时,实际上,如果您登录后会看到状态,那么我等待了48个小时,仍然是同样的问题

  2. 付款设置对我来说不是问题,因为我以前是从关联的AdSense帐户获得付款的。

  3. 然后,我阅读了此处其他用户遇到的所有可能的常见设置问题。我主要使用示例Admob应用ID

    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-3940256099942544~3347511713"/>
    

以及在Admob getting started page上给出的示例广告单元ID ,这样就可以消除开发过程中帐户的问题。

  1. 我相当确定我的配置正确,但是要检查是否下载了Google's ad samples from GitHub。这样,您可以检查工作代码,并在其中弹出您的Admob应用ID,以查看帐户设置是否正确
  2. 我开始使用他们的样本中的build.gradle,将他们所得到的与之匹配,只是更新并添加了依存关系。然后我找到了它,当我去targetSdkVersion 30compileSdkVersion 30时就出现了错误。所以,目前,我使用的是SDK 29,直到他们解决此问题为止。我希望有人觉得这有用

编辑:已将问题报告给Google,检查其状态为herehere。似乎会影响Java和Kotlin

答案 3 :(得分:3)

常数:0

此错误通常发生在新创建的广告中。因此,请等待几个小时以加载广告。

答案 4 :(得分:2)

我也发现错误&#34;无法加载广告0&#34;但是没有问题,等待有时像一小时或者2小时甚至5小时,等待你获得广告。

答案 5 :(得分:2)

Documentation,错误代码0表示内部错误

public static final int ERROR_CODE_INTERNAL_ERROR
  

内部发生了一些事情;例如,无效的回复是   从广告服务器收到。

常数值:0

此错误通常发生在新创建的广告中。因此,请等待几个小时才能加载广告。

答案 6 :(得分:2)

在尝试从其他类型的展示位置请求广告时也会发生这种情况。 例如,来自插页式广告的横幅广告等等。希望对您有所帮助。

答案 7 :(得分:1)

您可以随时在模拟器上运行项目,并在应用程序中获得有关“模拟广告”的信息

答案 8 :(得分:1)

sample ad unit Ids一起使用时,您的帐户可能尚未被批准。您刚刚创建了它吗?

测试广告立即对我有效。我不得不等待几个小时才能收到“好消息-您的帐户现在已获批准”邮件,直到广告也能正常工作。无论如何,请勿使用自己的广告来进行开发-您可以为此屏蔽您的AdMob帐户!

因此,一旦测试广告开始运作,并且您确认用于发布版本的ID正确,您很可能已经做好了所有事情,只是需要等待

还有一个test App ID "ca-app-pub-3940256099942544~3347511713",但创建完我的应用程序ID后就没问题。

答案 9 :(得分:1)

就我而言,我之前已经为广告启用了调试日志记录,这具有讽刺意味的是,导致它们无法正常工作...

转到设备的设置> Google>广告> 启用广告的调试日志记录(禁用)

如果您选择顶部的重置广告ID ,它也可以提供帮助。

此测试结束后,广告将重新开始工作。

祝你好运!

答案 10 :(得分:1)

我在模拟器API 30上遇到了这个问题。我不知道为什么。

答案 11 :(得分:0)

最重要的是,不要忘记检查清单中是否已授予互联网许可

uses-permission android:name="android.permission.INTERNET"/>

答案 12 :(得分:0)

我的互联网连接很差,我不得不等待一段时间才能加载视频广告。

答案 13 :(得分:0)

就我而言,我用来测试的安卓手机是中国手机,没有安装谷歌服务,有时在使用谷歌服务时会出现问题。我必须手动卸载并重新安装它。它解决了问题。

答案 14 :(得分:0)

由于AVD设置,我遇到了这个问题。 尝试更改AVD进行调试或尝试使用真实设备。

答案 15 :(得分:0)

我知道这个问题来自4年前,但是我偶然发现了这个错误,因为我有相同的错误代码。我的问题是由清单文件中使用我自己的应用程序ID而不是测试应用程序ID引起的。将其更改为test-app id后,我得到了错误代码2。这是因为在我的环境中没有正确配置DNS。因此,遇到同样问题的任何人,请确保您使用的是正确的应用程序ID,并且已配置DNS(按照此链接进行设置-Android emulator not able to access the internet

答案 16 :(得分:-1)

在应用程序模块目录中打开build.gradle文件:

并添加此依赖项

dependencies {
......
......
  implementation 'com.google.android.gms:play-services-ads:19.2.0'
}

答案 17 :(得分:-1)

我的两分钱:当您没有可用的互联网连接时,也会发生此错误。