无法在 ListViews.separated Flutter 中展示广告
Impossible to display ads in a ListViews.separated Flutter
我在 flutter 中使用 firebase_admob,我想在 ListView.separated 中展示广告。
void initState(){
FirebaseAdMob.instance.initialize(appId: 'ca-app-pub-XXXXXXXXXXXXXXXXXXXXXXX');
}
static const MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
keywords: <String>['flutterio', 'beautiful apps'],
contentUrl: 'https://flutter.io',
childDirected: false,
testDevices: <String>[], // Android emulators are considered test devices
);
BannerAd myBanner = BannerAd(
// Replace the testAdUnitId with an ad unit id from the AdMob dash.
// https://developers.google.com/admob/android/test-ads
// https://developers.google.com/admob/ios/test-ads
adUnitId: BannerAd.testAdUnitId,
size: AdSize.smartBanner,
targetingInfo: targetingInfo,
listener: (MobileAdEvent event) {
print("BannerAd event is $event");
},
);
以及我要展示广告的位置:
return ListView.separated(
padding: EdgeInsets.zero,
itemCount: data.articles.length,
separatorBuilder: (context, index) {
if (index % 5 == 0) { // Display `AdmobBanner` every 5 'separators'.
return myBanner;
}
return Divider();
},
但我遇到了这个问题:错误:return 类型 'BannerAd' 不是匿名闭包定义的 'Widget'。 (return_of_invalid_type_from_closure 在 lib\src\ui\home\home_screen.dart:445)。
什么是最好的解决方案?
谢谢
尝试使用这个非官方的 admob plugin 进行 flutter。
包 firebase_flutter
没有 return Widget,请尝试使用 admob_flutter 包。
我在 flutter 中使用 firebase_admob,我想在 ListView.separated 中展示广告。
void initState(){
FirebaseAdMob.instance.initialize(appId: 'ca-app-pub-XXXXXXXXXXXXXXXXXXXXXXX');
}
static const MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
keywords: <String>['flutterio', 'beautiful apps'],
contentUrl: 'https://flutter.io',
childDirected: false,
testDevices: <String>[], // Android emulators are considered test devices
);
BannerAd myBanner = BannerAd(
// Replace the testAdUnitId with an ad unit id from the AdMob dash.
// https://developers.google.com/admob/android/test-ads
// https://developers.google.com/admob/ios/test-ads
adUnitId: BannerAd.testAdUnitId,
size: AdSize.smartBanner,
targetingInfo: targetingInfo,
listener: (MobileAdEvent event) {
print("BannerAd event is $event");
},
);
以及我要展示广告的位置:
return ListView.separated(
padding: EdgeInsets.zero,
itemCount: data.articles.length,
separatorBuilder: (context, index) {
if (index % 5 == 0) { // Display `AdmobBanner` every 5 'separators'.
return myBanner;
}
return Divider();
},
但我遇到了这个问题:错误:return 类型 'BannerAd' 不是匿名闭包定义的 'Widget'。 (return_of_invalid_type_from_closure 在 lib\src\ui\home\home_screen.dart:445)。
什么是最好的解决方案?
谢谢
尝试使用这个非官方的 admob plugin 进行 flutter。
包 firebase_flutter
没有 return Widget,请尝试使用 admob_flutter 包。