add package
google_mobile_ads: ^5.1.0 # latest
go this path --> android\app\src\main\AndroidManifest.xml
and go meta tag
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
go main.dart page and void main function replace
import 'package:flutter/material.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await MobileAds.instance.initialize(); // important
runApp(
const MyApp(),
);
}
late BannerAd _myBanner;
bool isBannerAdReady = false;
@override
void initState() {
super.initState();
_myBanner = BannerAd(
adUnitId:
'ca-app-pub-3940256099942544/6300978111', // Replace with your ad unit ID
request: const AdRequest(),
size: AdSize.banner,
listener: BannerAdListener(
onAdLoaded: (_) {
setState(() {
isBannerAdReady = true;
});
},
onAdFailedToLoad: (ad, error) {
print('Failed to load a banner ad: ${error.message}');
isBannerAdReady = false;
ad.dispose();
},
),
);
_myBanner.load();
}
@override
void dispose() {
_myBanner.dispose();
super.dispose();
}
after body
return SizedBox(
height: 50,
child: AdWidget(ad: _myBanner),
);