#flutter #admob #ads
Вопрос:
Я изо всех сил пытаюсь найти ошибки в своем коде. Я следовал этому руководству, чтобы внедрить admob в мое приложение flutter. https://codelabs.developers.google.com/codelabs/admob-ads-in-flutter#7
Я добавил манифест Android и информационный список. Я также инициализировал мобильные объявления в своем main.dart.
Код для реализации:
class _NotesRouteState extends State<NotesRoute> {
InterstitialAd? _interstitialAd;
bool _isInterstitialAdReady = false;
void initState() {
super.initState();
_loadInterstitialAd();
}
void _loadInterstitialAd() {
InterstitialAd.load(
adUnitId: AdHelper.interstitialAdUnitId,
request: AdRequest(),
adLoadCallback: InterstitialAdLoadCallback(
onAdLoaded: (ad) {
this._interstitialAd = ad;
ad.fullScreenContentCallback = FullScreenContentCallback(
onAdDismissedFullScreenContent: (ad) {
print('$ad onAdDismissedFullScreenContent.');
ad.dispose();
},
);
_isInterstitialAdReady = true;
},
onAdFailedToLoad: (err) {
print('Failed to load an interstitial ad: ${err.message}');
_isInterstitialAdReady = false;
},
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
top: false,
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Align(
alignment: Alignment.topLeft,
child: Text(
'General Subjects',
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 20,
color: Colors.lightBlue,
),
),
),
),
MyButton(
onTap: () {
if (_isInterstitialAdReady) {
_interstitialAd?.show();
} else {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => BahasaRoute()),
);
}
},
],
),
),
);
}
}
Надеюсь получить от вас некоторые рекомендации. Спасибо!
Комментарии:
1. используйте идентификаторы тестов для разработки. Реальные идентификаторы объявлений начнут отображаться только после определенного порогового значения запроса. developers.google.com/admob/android/test-ads
2. @KaushikChandru Я использую тестовые идентификаторы
Ответ №1:
_isInterstitialAdReady = true
не устанавливается состояние. Удалите проверку условий в ontap, и она должна работать, или добавьте a setState()
непосредственно перед проверкой условий.