Package selection guidance compiled from public package information, community data, and project usage.
admob_flutter is a Flutter plugin that enables integration of Google AdMob banner ads into mobile applications using native platform views. It provides a straightforward way to display monetizable banner advertisements on both Android and iOS platforms. The plugin leverages native AdMob SDKs for optimal performance and compatibility, ensuring seamless ad rendering within Flutter apps. It is designed for developers seeking to generate revenue through in-app advertising with minimal setup. The package supports dynamic ad loading and responsive banner sizing, enhancing user experience across devices.
Use cases
Monetizing mobile apps with banner ads
Integrating Google AdMob into Flutter projects
Displaying responsive banner ads on Android and iOS
Adding in-app advertising without native code
Enabling real-time ad updates and refreshes
Key features
Native platform view integration
Support for Android and iOS
Responsive banner sizing
Easy integration with Firebase
Real-time ad loading and refresh
Minimal boilerplate code
Suitable for
Flutter developers seeking ad monetization
Apps targeting Android and iOS users
Projects using Firebase for analytics
Developers wanting simple AdMob integration
Mobile apps aiming to generate revenue via banners
Considerations
Requires Google AdMob account setup
Depends on native SDKs for full functionality
Ad content subject to Google's policies
May impact app performance if overused
User experience may be affected by frequent ad displays
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Looking for Maintainers.
Unfortunately I haven't been able to keep up with demand for features and improvments. If you are interested in helping maintain this repo please create an issue requesting maintainer status. Or consider using the new google_mobile_ads by Google.
admob_flutter
A Flutter plugin that uses native platform views to show Admob banner ads!
This plugin also has support for Interstitial and Reward ads.
Installation
Add this to your package's pubspec.yaml file:
dependencies:admob_flutter:"<LATEST_VERSION>"
Install it - You can install packages from the command line:
flutter pub get
Android Specific Setup
Update your AndroidManifest.xml
Add your AdMob App ID to your app's AndroidManifest.xml file by adding the <meta-data> tag shown below. You can find your App ID in the AdMob UI. For android:value insert your own AdMob App ID in quotes, as shown below.
You can use these test App ID's from Admob for development:
Starting from Beta 6, you also need to display the App Tracking Transparency authorization request for accessing the IDFA,
so you have to update your Info.plist to add the NSUserTrackingUsageDescription key with a custom message describing your usage.
Below is an example description text:
<key>NSUserTrackingUsageDescription</key><string>This identifier will be used to deliver personalized ads to you.</string>
See Prepare for iOS 14+ for more information.
You also need to update your ios/Podfile by adding platform :ios, '9.0' at the very top of your file.
Initialize the plugin
First thing to do before attempting to show any ads is to initialize the plugin. You can do this in the earliest starting point of your app, your main function:
import'package:admob_flutter/admob_flutter.dart';
voidmain() {
WidgetsFlutterBinding.ensureInitialized();
// Initialize without device test ids.Admob.initialize();
// Or add a list of test ids.// Admob.initialize(testDeviceIds: ['YOUR DEVICE ID']);
}
If you're using iOS, you may also need to request the tracking authorization in order to display personalized ads:
// Run this before displaying any ad.awaitAdmob.requestTrackingAuthorization();
TL;DR - Make sure you have the correct combination of id's per platform. See:161
Objective-C based project cannot build
TL;DR - You have to enable swift support for your flutter project. See: stackoverflow and 123
How do I manage consentement for users in the European Economic Area?
Pass nonPersonalizedAds: true to the classes constructor (AdmobBanner, AdmobInterstitial and AdmobReward) in order to not display personalized ads for users who don't give their consent. A way to ask users for their consent is to use the plugin admob_consent. Please note that the new recommended is to use the brand new UMP SDK (Android, iOS).