Search packages, repositories and app categories

easy_admob_ads_flutter cover
Package detailsv2.0.3

easy_admob_ads_flutter

A simple and flexible Flutter package to integrate AdMob ad formats with minimal setup.

AndroidiOS
30-day downloads
388
Likes
8
Pub points
160

Install package

flutter pub add easy_admob_ads_flutter

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

EasyAdmobAdsFlutter is a lightweight Flutter package designed to simplify the integration of AdMob ad formats into mobile applications. With minimal setup, it enables developers to quickly implement banner, interstitial, and rewarded ads across Android and iOS platforms. The package abstracts complex configuration steps, offering an intuitive API for ad management. It supports real-time ad loading and provides callbacks for tracking user interactions, making it ideal for monetizing apps with ease.

Use cases

  • Monetizing mobile apps with banner ads
  • Displaying interstitial ads between app screens
  • Implementing rewarded video ads for user incentives
  • Integrating AdMob without deep platform-specific knowledge
  • Enabling quick ad testing during development

Key features

  • Simple setup with few lines of code
  • Support for multiple AdMob ad types
  • Cross-platform compatibility (Android & iOS)
  • Built-in event listeners for ad interactions
  • Minimal boilerplate required

Suitable for

  • Flutter developers new to AdMob
  • Apps needing fast ad integration
  • Projects with tight development timelines
  • Developers seeking low-maintenance ad solutions
  • Educational or hobbyist app creators

Considerations

  • Requires valid AdMob account and ad unit IDs
  • Depends on Google Mobile Ads SDK
  • May need additional permissions for certain ad types
  • Not suitable for advanced customization beyond basic ad handling
  • Limited documentation compared to official SDK

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Stand With Palestine

Easy AdMob Integration for Flutter

pub package Pub Points Last Commit Pull Requests Code Size License

A simple, configurable Flutter wrapper for Google AdMob. One EasyAdMobAds.instance sets up the SDK, GDPR/UMP consent, and a global on/off switch for ads. All six ad formats are supported with their own controller or widget.

Show some ❤️ by giving the repo a ⭐ and liking 👍 the package on pub.dev!

Screenshots

Static AdMob Demo Animated AdMob Demo Static AdMob Demo

Features

  • Banner (adaptive, optionally collapsible)
  • Interstitial
  • Rewarded
  • Rewarded Interstitial
  • App Open (auto-preloaded and shown on app resume)
  • Native (small/medium templates)
  • GDPR/UMP consent flow, including the "privacy options" re-consent form
  • App Tracking Transparency (ATT) consent on iOS 14.5+, requested automatically during initialize()
  • Network connectivity awareness — ad requests pause while offline and resume as soon as connectivity returns

Getting started

1. Install
dependencies:
  easy_admob_ads_flutter: ^<latest_version>
2. Platform setup

Add your AdMob App ID:

Android — android/app/src/main/AndroidManifest.xml:

<meta-data
  android:name="com.google.android.gms.ads.APPLICATION_ID"
  android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>

iOS — ios/Runner/Info.plist:

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>
3. Initialize
void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await EasyAdMobAds.instance.initialize(
    config: const EasyAdsConfig(
      androidAdUnitIds: {
        AdType.banner: 'ca-app-pub-.../...',
        AdType.interstitial: 'ca-app-pub-.../...',
      },
      iosAdUnitIds: {
        AdType.banner: 'ca-app-pub-.../...',
        AdType.interstitial: 'ca-app-pub-.../...',
      },
      testDeviceIds: ['YOUR_TEST_DEVICE_ID'],
    ),
  );

  runApp(const MyApp());
}

Any AdType you don't configure automatically falls back to a Google test ad unit ID (with a warning logged), so the package works out of the box during development.

Usage

// Banner
const EasyBannerAd(collapsible: true, height: 100)

// Native
EasyNativeAd.medium()

// Interstitial
final interstitialAd = EasyInterstitialAd()..loadAd();
await interstitialAd.showAd();

// Rewarded
final rewardedAd = EasyRewardedAd(onRewardEarned: (reward) {
  // grant the reward
})..loadAd();
await rewardedAd.showAd();

// Rewarded Interstitial
final rewardedInterstitialAd = EasyRewardedInterstitialAd(onRewardEarned: (reward) {
  // grant the reward
})..loadAd();
await rewardedInterstitialAd.showAd();

// App Open — preloaded automatically; show it manually if you want:
await EasyAdMobAds.instance.appOpenAd?.showAdIfAvailable();

// Turn all ads on/off (e.g. after a "remove ads" purchase)
EasyAdMobAds.instance.adsEnabled = false;

// GDPR privacy options
if (EasyAdMobAds.instance.isPrivacyOptionsRequired) {
  EasyAdMobAds.instance.showPrivacyOptionsForm();
}

See the example/ app for a full demo screen with all ad types, the on/off switch, and the consent button wired up.

Author

Huzaib Sayyed

GitHub LinkedIn

Categories

Dependencies

Dependency list 6 items

Source repository

Projects using this package

No data available yet.