Admob 广告未加载 - 未能加载广告:0
Posted
技术标签:
【中文标题】Admob 广告未加载 - 未能加载广告:0【英文标题】:Admob ads not loading - Failed to load ad: 0 【发布时间】:2016-11-17 14:16:58 【问题描述】:我正在尝试加载 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_
android:layout_
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)
【问题讨论】:
我遇到了完全相同的问题,我找不到解决方案 【参考方案1】:您的代码没有错误。都很好。你只需要稍等一下。您的广告 ID 是新创建的,因此从谷歌服务器获取广告需要一些时间。您可以通过添加您为早期应用程序创建的横幅/插页式广告 ID 来验证这一点,您会看到它们有效。所以给它一些时间,它很快就会起作用。至少对我来说,它一直在发生。不能肯定地为你说,但为什么不试试呢?
【讨论】:
“等一下” == 在我的情况下约 1 小时。 我不知道为什么,但我等了 2 多天。它仍然是错误的。我尝试使用另一个 admob 帐户创建另一个应用程序。它运行良好。我想使用我的主要帐户。有什么想法吗? @MrSpecial 你解决了这个问题吗?如果有,怎么做? @pinkcat 是的,它记得需要很长时间才能收到来自谷歌的官方电子邮件,通知我的 admob 帐户已激活。然后我正常使用admob。也许你应该从谷歌官方电子邮件。 @MrSpecial 我收到了谷歌关于账户激活的官方电子邮件,但我收到了谷歌关于账户激活的正式信函,但广告从未显示(显示测试广告)【参考方案2】:在我的情况下,缺少付款信息是一个问题。当您登录 Admob 控制面板时,您会在那边看到通知,上面说在我们添加付款详细信息之前,广告将无法工作。
【讨论】:
还要检查您与 admob 帐户关联的电子邮件 ID,您的 admob 帐户意外暂停或谷歌更改付款方式也可能导致我遇到的问题。我希望这会有所帮助。 就我而言,我必须上传带照片的身份证件才能付款 AdMob 不允许我设置付款方式,因为我没有赚到任何钱。如何设置我的付款方式? @UzaySan 你有什么解决办法吗?【参考方案3】:常数值:0
此错误通常发生在新制作的广告中。因此,请等待几个小时以加载广告。
【讨论】:
【参考方案4】:所以我遇到了同样的错误,我首先尝试了这里列出的所有内容。
正在等待 Google 向我发送一封电子邮件,说明 AdMob 已启用。完成了,大概一个小时左右,其实如果你登录它会给你状态,然后我等了48~小时,仍然是同样的问题
付款设置对我来说不是问题,因为我之前通过关联的 AdSense 帐户获得了付款。
然后我阅读了这里其他用户可能遇到的所有常见设置问题。我主要使用示例 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,这样您就可以在开发过程中消除帐户问题。
-
我相当确定我的配置正确,但为了检查我下载了Google's ad samples from GitHub。这样您就可以检查工作代码,并弹出您的 Admob 应用 ID 并查看帐户是否设置正确
我开始使用他们的示例中的
build.gradle
,将我得到的与他们的相匹配,只是更新和添加我的依赖项。然后我找到了它,只要我去targetSdkVersion 30
和compileSdkVersion 30
就会出现错误。所以,现在,我在 SDK 29 上,直到他们解决这个问题。我希望有些人觉得这很有用
编辑:该问题已报告给谷歌检查状态here 和here。它似乎影响了 Java 和 Kotlin
【讨论】:
哦,谢谢!!!我正在找这个!!!!你刚刚救了我! 谢谢!在我发现这个之前我也在搜索几天(问题是 sdk 版本 30) 你的回答救了我!!!我花了几天时间试图找出问题所在! 30版好像还没有修复【参考方案5】:尝试从不同类型的展示位置请求广告时也会发生这种情况。 例如,插页式的横幅等。我希望这会对某人有所帮助。
【讨论】:
如果这是原因,那么可以在测试广告中检测到,我认为无需为此上线。【参考方案6】:来自Documentation,错误代码0表示内部错误。
public static final int ERROR_CODE_INTERNAL_ERROR
内部发生了一些事情;例如,无效的响应是 从广告服务器收到。
常数值:0
此错误通常发生在新制作的广告中。因此,请等待几个小时以加载广告。
【讨论】:
【参考方案7】:我也遇到过“无法加载广告 0”的错误,但没问题,只需等待有时像一个小时或 2 甚至 5 小时,等待你会得到广告。
【讨论】:
【参考方案8】:您始终可以在模拟器上运行您的项目,您将在您的应用程序中获得有关“模拟广告”的信息
【讨论】:
【参考方案9】:就我而言,我之前为广告启用了调试日志记录,但讽刺的是,这导致它们无法正常工作...
转到您设备的设置 > Google > 广告 > 为广告启用调试日志记录(禁用)
如果您选择顶部的重置广告 ID,也会有所帮助。
在此之后,测试广告再次开始工作。
祝你好运!
【讨论】:
这是我的 Pixel 的问题【参考方案10】:当它与sample ad unit Ids 一起使用时,您的帐户可能尚未获得批准。你刚刚创建了吗?
测试广告对我来说很快就奏效了。我不得不等待几个小时才能收到“好消息 - 您的帐户现已获得批准”的邮件,直到 我的 广告也能正常工作。无论如何都不要使用您自己的广告进行开发 - 您可能会因此而阻止您的 AdMob 帐户!
因此,一旦测试广告开始工作,并且您确认发布版本使用了正确的 ID,您很可能已经做对了所有事情,只需要等待
还有一个test App ID "ca-app-pub-3940256099942544~3347511713",但我在创建它后立即使用我自己的 App ID 没有问题。
【讨论】:
“无论如何都不要使用自己的广告进行开发”。如果您想测试真实广告,也可以将您的设备添加为测试设备。 developers.google.com/admob/android/…【参考方案11】:由于 AVD 设置,我遇到了这个问题。 尝试更改 AVD 进行调试或尝试使用真实设备。
【讨论】:
【参考方案12】:我知道这个问题是 4 年前的问题,但我偶然发现了这个问题,因为我遇到了相同的错误代码。我的问题是由于在清单文件中使用我自己的 app-id 而不是 test app id 引起的。将其更改为测试应用程序 ID 后,我得到了错误代码 2。这是因为我的环境中没有正确配置 DNS。因此,任何有相同问题的人,请确保您使用正确的应用程序 ID 并配置了 DNS(点击此链接了解如何设置它 - Android emulator not able to access the internet)
【讨论】:
【参考方案13】:就我而言,我用来测试的安卓手机是中国手机,没有安装谷歌服务,有时在使用谷歌服务时会出现问题。我必须手动卸载并重新安装它。它解决了这个问题。
【讨论】:
【参考方案14】:我的互联网连接不佳,我不得不等待一段时间才能加载视频广告。
【讨论】:
【参考方案15】:我的两分钱:当您没有可用的互联网连接时也会发生此错误。
【讨论】:
【参考方案16】:打开应用程序模块目录中的build.gradle
文件:
并添加此依赖项
dependencies
......
......
implementation 'com.google.android.gms:play-services-ads:19.2.0'
【讨论】:
以上是关于Admob 广告未加载 - 未能加载广告:0的主要内容,如果未能解决你的问题,请参考以下文章