Я использую 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();
},
Но я получаю эту проблему: error: Возвращаемый тип 'BannerAd' не является 'Widget', так как определяется анонимным закрытием. (return_of_invalid_type_from_closure в lib \ src \ ui \ home \ home_screen.dart: 445).
Какое лучшее решение?
Спасибо