admob - 在测试广告上没有使用 Firebase Admob 插件触发印象事件?
问题描述
我在我的 Flutter 应用程序上实现了一个横幅广告,使用测试广告一切正常,除了我无法在侦听器中检测到“印象”事件。其他事件(如“加载”和“打开”)可以正常检测,但不能检测到“印象”事件。
Firebase 上的 DebugView 事件也不会显示自动收集的事件 ad_query、ad_impression 和 ad_exposure。但是它确实显示了 ad_click 事件。
这是测试广告的正常行为吗?我只是在使用真实的广告 ID 之前进行确认。
如果重要的话,我的代码看起来像这样,重试逻辑看起来不错吗?
BannerAd _bannerAd;
BannerAd createBannerAd() {
return BannerAd(
adUnitId: BannerAd.testAdUnitId,
size: AdSize.smartBanner,
targetingInfo: targetingInfo,
listener: (MobileAdEvent event) {
if (event == MobileAdEvent.failedToLoad) {
// retry loading ad
_loadAd();
print("Ad Failed to load, retrying");
}
if (event == MobileAdEvent.impression) {
print("Impression");
}
print("------BannerAd event :$event");
},
);
}
_loadAd() async {
// duration to wait before showing ad
var _duration = new Duration(seconds: 5);
return new Timer(_duration, () {
_bannerAd?.dispose();
_bannerAd = createBannerAd()..load();
_bannerAd..show();
});
}
@override
void initState() {
super.initState();
FirebaseAdMob.instance.initialize(appId: FirebaseAdMob.testAppId);
_bannerAd?.dispose();
// Run timer to show ad after certain delay
_loadAd();
}
@override
void dispose() {
_bannerAd?.dispose();
super.dispose();
}
解决方案
推荐阅读
- angular - 整个应用程序的角度动态链接
- python - Python 打印结果,其中包含特定字符串
- html - 如何使用 flexbox 让中间元素始终完美居中
- swift - 如何在间距表视图单元格中正确显示数据
- html - 为分页符实现 CSS 样式会“破坏”R Markdown 中的目录
- java - DatabaseException 的运行时错误:无法将 java.lang.Long 类型的值转换为字符串
- c# - 如何使用 excel 列中的字段填充组合框?C#
- java - 如何退出foreach循环?哪个使用枚举数据
- javascript - 我的代码上的错误是警报,而不是 console.errors
- c++ - Windows 中的 DJI OSDK