airo_ads 1.0.0 copy "airo_ads: ^1.0.0" to clipboard
airo_ads: ^1.0.0 copied to clipboard

Google Mobile Ads SDK wrapper, in-app AdMob Native card widgets, non-intrusive Pause Ads, lower-third overlays, and VAST/VMAP ad tag parser for Flutter.

airo_ads #

pub package CI Publisher License: MIT

Google Mobile Ads SDK wrapper, in-app AdMob Native card widgets, non-intrusive Pause Ads, lower-third overlays, and VAST/VMAP ad tag parser for Flutter apps.

Part of the DevelopersCoffee open-source ecosystem.


Features #

  • Frequency Policy Engine: Pure Dart AikaAdPolicy enforcing session warmup (5 minutes ad-free) and impression cooldowns (30 minutes between ads).
  • Native Card Widgets: AikaNativeAdCard responsive small/medium layout templates with automatic dark mode color scheme matching and silent fail on no-fill.
  • In-Stream Non-Intrusive Overlays:
    • AiroPauseAdOverlay: Displays elegant high-res ad cards when video streams are paused without interrupting audio or playback state.
    • AiroLowerThirdOverlayAd: Translucent non-linear lower-third overlay banner fading into the bottom 20% of the viewport.
  • VAST / VMAP Ad Tag Integration:
    • AiroVastAdTag: Helper to construct Google Ad Manager (GAM) VAST endpoints.
    • AiroVastTagParser: Zero-dependency VAST XML parser extracting ad systems, titles, impressions, and media file URLs.
  • Zero-Crash Safe Stubs: Automatically safe on web, TV, desktop, and casting sessions.

Getting Started #

Add airo_ads to your pubspec.yaml:

dependencies:
  airo_ads: ^1.0.0

Initialize AikaAdManager at app launch:

import 'package:airo_ads/airo_ads.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await AikaAdManager.instance.initialize();
  runApp(const MyApp());
}

Usage #

In-Stream Pause Ad Overlay #

Wrap your video player viewport with AiroPauseAdOverlay:

AiroPauseAdOverlay(
  isPaused: isVideoPaused,
  child: VideoPlayerView(),
)

Non-Linear Lower-Third Overlay #

Display translucent lower-third banners during live matches or streaming without stopping video playback:

AiroLowerThirdOverlayAd(
  adTitle: 'Live Match Sponsor',
  adDescription: 'Tap to view exclusive streaming deals',
  displayDuration: const Duration(seconds: 10),
  onAdDismissed: () => print('Ad closed'),
)

Google GAM VAST Ad Tags #

Construct GAM VAST tag URLs or parse VAST XML responses:

final tag = AiroVastAdTag.googleAdManager(
  adUnitPath: '/1234567/sports_live',
  descriptionUrl: 'https://developerscoffee.com',
);

final parsed = AiroVastTagParser.parseXml(
  tagUrl: tag.tagUrl,
  xmlContent: rawXmlString,
);

Maintainers #

Maintained with ❤️ by DevelopersCoffee.

0
likes
140
points
--
downloads

Documentation

API reference

Publisher

verified publisherdeveloperscoffee.com

Google Mobile Ads SDK wrapper, in-app AdMob Native card widgets, non-intrusive Pause Ads, lower-third overlays, and VAST/VMAP ad tag parser for Flutter.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, google_mobile_ads

More

Packages that depend on airo_ads