flutter_ads_plugin
is a Flutter plugin that enables seamless deployment of Google Ads in your app
with minimal effort. No complex configurations required.
- 🚀 Quick Integration – Deploy ads in just a few minutes.
- 🎯 Optimized Display – Ads automatically adjust to the best position and type.
- 🛠️ Easily Customizable – Supports multiple ad formats:
- Banner Ads
- Interstitial Ads
- Rewarded Ads
- Native Ads
- ⏳ Time-Saving – Skips manual setup steps.
- 🧩 Simplified – Clean, easy-to-understand code, perfect for beginners.
demo.mp4
For detailed setup instructions, refer to the official guides:
Add the plugin to your pubspec.yaml
file:
flutter_ads_plugin: ^<latest-version>
Then run:
flutter pub get
To use the plugin, import the flutter_ads_plugin
package in your Flutter app:
import 'package:flutter_ads_plugin/flutter_ads_plugin.dart';
Initialize Mobile Ads in your main.dart
file:
void main() {
WidgetsFlutterBinding.ensureInitialized();
MobileAds.instance.initialize();
runApp(const MyApp());
}
Display banner ads:
FlutterAdsBanner
(
iosId: '',
androidId: '',
)
Display native ads:
FlutterAdsNative
(
androidId: '',
iosId: '',
templateStyle: null,
factoryId: null,
templateType: null,
constraints
:
null
,
)
Display Rewarded Ads:
showRewardedAd() {
FlutterAdsRewarded.show(
androidId: '',
iosId: '',
onUserEarnedReward: (view, item) {
//TODO
},
onError: (e) {
//TODO
},
onClose: () {
//TODO
});
}
Display Interstitial Ads:
showInterstitialAd() {
FlutterAdsInterstitial.show(
androidId: '',
iosId: '',
onError: (e) {
//TODO
},
onClose: () {
//TODO
});
}
Function | Description |
---|---|
onUserEarnedReward | Callback triggered when the user earns a reward from a rewarded ad. |
onError | Callback triggered when an error occurs during ad loading or rendering. |
onClose | Callback triggered when the ad is closed by the user. |
Setter | Description |
---|---|
androidId | Identifier for Android configurations. |
iosId | Identifier for iOS configurations. |
factoryId | Unique ID for the ad factory instance. |
templateStyle | Defines the visual style of the ad template. |
templateType | Type of the native ad template. |
constraints | Constraints for the native ad. |
import 'package:flutter/material.dart';
import 'package:flutter_ads_plugin/flutter_ads_plugin.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
MobileAds.instance.initialize();
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
showRewardedAd() {
FlutterAdsRewarded.show(
androidId: '',
iosId: '',
onUserEarnedReward: (view, item) {
//TODO
},
onError: (e) {
//TODO
},
onClose: () {
//TODO
});
}
showInterstitialAd() {
FlutterAdsInterstitial.show(
androidId: '',
iosId: '',
onError: (e) {
//TODO
},
onClose: () {
//TODO
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Column(
mainAxisSize: MainAxisSize.max,
children: [
const SizedBox(height: 24),
const FlutterAdsBanner(
iosId: '',
androidId: '',
),
const SizedBox(height: 24),
const FlutterAdsNative(
androidId: '',
iosId: '',
templateStyle: null,
factoryId: null,
templateType: null,
constraints: null,
),
ElevatedButton(
onPressed: showRewardedAd,
child: const Text('Show Rewarded Ad')),
const SizedBox(height: 24),
ElevatedButton(
onPressed: showInterstitialAd,
child: const Text('Show Interstitial Ad')),
],
)),
);
}
}
For a detailed guide on how to integrate and use the Ad Plugin, check out the video tutorial.
We welcome community contributions. Feel free to submit pull requests or report issues.
Please file an issue to send feedback or report a bug. Thank you!
Made with ❤️ by minhto28