flutter_ads_kit 1.2.0 copy "flutter_ads_kit: ^1.2.0" to clipboard
flutter_ads_kit: ^1.2.0 copied to clipboard

PlatformiOS

Production-ready Google AdMob for Flutter. Zero-config widgets for Banner, Native, Interstitial, Rewarded, Rewarded Interstitial, and App Open ads. Built-in iOS ATT and GDPR/UMP consent. Handles all e [...]

1.2.0 #

New feature — Ad.Plus / Google Ad Manager (GAM) auto-detection #

  • The SDK now automatically detects whether an ad unit ID is AdMob format (ca-app-pub-...) or GAM / Ad.Plus format (/networkCode/unitPath) and uses the correct ad class with zero changes in calling code.
  • Banner: uses AdManagerBannerAd for GAM IDs, BannerAd for AdMob IDs.
  • Interstitial: uses AdManagerInterstitialAd for GAM IDs, InterstitialAd for AdMob IDs.
  • Rewarded, Rewarded Interstitial, App Open, Native: these ad types accept both ID formats natively; upgraded to AdManagerAdRequest (which extends AdRequest) so GAM targeting options are available when needed.
  • New helper AdUnits.isGamId(String id) — returns true for GAM IDs.
  • AdManagerAdRequest is now re-exported from the library for consumers that need to pass custom GAM targeting parameters.
  • Backwards compatible — existing AdMob-format IDs continue to work with no changes.

1.1.0 #

Bug fixes #

  • BannerAdWidget — critical fix: _ad was never nulled after a load failure, permanently blocking all future reload attempts. Added setState(() => _ad = null) in onAdFailedToLoad so the guard condition resets correctly.
  • BannerAdWidget — added didChangeAppLifecycleState override: resets the retry counter and retries loading when the app returns to the foreground without an ad.
  • NativeAdWidget — same app-resume recovery added via WidgetsBindingObserver.
  • All full-screen managers_isShowing / _isShowingAd now set immediately before calling show() instead of inside the onAdShowedFullScreenContent callback, closing a race window that could allow concurrent double-shows.
  • All managers — retry cycle no longer stops permanently after _maxRetries. After exhausting retries the counter resets and loading is rescheduled after a 2-minute back-off (5 minutes for App Open), repeating until the network recovers.
  • AppOpenAdManager — retry counter is reset on every foreground event so a network-stalled launch can always recover when the user brings the app back.
  • AdsManager — now registers as a WidgetsBindingObserver and calls _preloadAll() on every app-resume event, keeping interstitial and rewarded ads warm without waiting for a show() call to trigger a reload.

1.0.0 #

  • Initial release.
  • Banner ads — adaptive and fixed sizes, orientation-reload, exponential retry.
  • Native ads — Google Native Templates (zero platform setup) and custom factory mode.
  • Interstitial ads — preloading, cooldown, exponential retry.
  • Rewarded ads — preloading, exact-once reward callback guarantee.
  • Rewarded Interstitial ads — same pattern as rewarded, skippable.
  • App Open ads — lifecycle observer, 4 h expiry check, suppress/unsuppress API.
  • iOS App Tracking Transparency (ATT) — prompted before first ad request.
  • GDPR/UMP consent — loadAndShowConsentFormIfRequired with 10 s safety timeout.
  • COPPA support — tagForChildDirectedTreatment and tagForUnderAgeOfConsent.
  • Automatic test-ID switching in kDebugMode.
  • All ad unit IDs centralised in AdUnits.
0
likes
140
points
29
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Production-ready Google AdMob for Flutter. Zero-config widgets for Banner, Native, Interstitial, Rewarded, Rewarded Interstitial, and App Open ads. Built-in iOS ATT and GDPR/UMP consent. Handles all edge cases automatically.

Repository (GitHub)
View/report issues

Topics

#ads #admob #google-mobile-ads #advertising #monetization

License

MIT (license)

Dependencies

app_tracking_transparency, flutter, google_mobile_ads

More

Packages that depend on flutter_ads_kit