[英]Flutter: firebase_admob ads are not showing
I believe I follow the steps exactly: https://pub.dartlang.org/packages/firebase_admob我相信我完全按照以下步骤操作: https : //pub.dartlang.org/packages/firebase_admob
...but nothing. ……但没什么。 No real ads, no test ads, nothing in "flutter run", nothing in "flutter build".
没有真正的广告,没有测试广告,“flutter run”中没有任何内容,“flutter build”中没有任何内容。 I tried InterstitialAd.testAdUnitId and FirebaseAdMob.testAppId and testDevices ...
我试过 InterstitialAd.testAdUnitId 和 FirebaseAdMob.testAppId 和 testDevices ...
All I can get is:我所能得到的是:
W/Ads: There was a problem getting an ad response. ErrorCode: 0
W/Ads: Failed to load ad: 0
W/flutter: onAdFailedToLoad: 0
And I see this in Android Monitor:我在 Android Monitor 中看到了这一点:
E/Ads: Error waiting for future.
java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException
at com.google.android.gms.ads.internal.util.future.ae.get(:com.google.android.gms@13278037@13.2.78 (100400-210410490):11)
at com.google.android.gms.ads.internal.util.future.g.a(:com.google.android.gms@13278037@13.2.78 (100400-210410490):13)
at com.google.android.gms.ads.internal.request.service.c.a(:com.google.android.gms@13278037@13.2.78 (100400-210410490):65)
at com.google.android.gms.ads.internal.request.service.c.a(:com.google.android.gms@13278037@13.2.78 (100400-210410490):198)
at com.google.android.gms.ads.internal.request.service.f.run(:com.google.android.gms@13278037@13.2.78 (100400-210410490):1)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.util.concurrent.TimeoutException
at com.google.android.gms.ads.internal.util.future.m.run(Unknown Source:2)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
I don't have any ad blocking installed, problem doesn't depend on type of internet connection (WiFi vs. mobile) ...我没有安装任何广告拦截,问题不取决于互联网连接的类型(WiFi 与移动)......
At one point I gave up.有一次我放弃了。 Few days later I just tried the app again and I did see some ads.
几天后,我再次尝试了该应用程序,确实看到了一些广告。 But the day after that they were gone again - without any change in the app, even without a rebuild/reinstall.
但第二天它们又消失了 - 应用程序没有任何变化,即使没有重建/重新安装。
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v0.7.6-pre.57, on Mac OS X 10.13.5 17F77, locale cs-CZ)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.1)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
[✓] Android Studio (version 3.0)
[✓] IntelliJ IDEA Ultimate Edition (version 2017.3.5)
[✓] Connected devices (1 available)
可能的原因:android manifest 或runner info.plist 文件中的internet 权限firebase admob 错误的代码放置了app id 而不是ad unit id 互联网服务提供商防火墙
Ads have to be loaded before they are shown.广告必须在显示之前加载。 It can take anywhere from 3s to 10s for an ad to load after the function.
在该功能之后加载广告可能需要 3 到 10 秒的时间。 The issue is that if the loadAd function is called it takes several seconds to return an ad, by which point showAd has already executed and will return an error since the ad is still loading.
问题是,如果调用 loadAd 函数,则返回广告需要几秒钟时间,此时 showAd 已经执行,并且由于广告仍在加载,因此将返回错误。 Report as a bug on github.
在 github 上报告为错误。 loadAd functions should be added to the end of the stream in the plugin itself.
loadAd 函数应该添加到插件本身的流的末尾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.