ad_sdk library

ad_sdk — Dual-provider Flutter Ad SDK

Supports AdMob (Google Mobile Ads) and AppLovin MAX via a single API.

Quick Start

// 1. In main.dart, initialize before runApp():
await AdManager().initialize(
  config: AdConfig(
    provider: AdProvider.appLovin,
    appLovin: AppLovinConfig(
      sdkKey: 'YOUR_SDK_KEY',
      bannerId: 'YOUR_BANNER_ID',
      interstitialId: 'YOUR_INTER_ID',
      appOpenId: 'YOUR_APP_OPEN_ID',
      rewardedId: 'YOUR_REWARDED_ID',
    ),
  ),
  onComplete: (success, gaid) {},
);

// 2. Add route observers to your app:
navigatorObservers: [adRouteObserver, AdScreenRouteLogger()],

// 3. Extend AdScreen on screens with ads:
class HomeScreen extends AdScreen { ... }
class _HomeScreenState extends AdScreenState<HomeScreen> {
  Widget build(context) => Column(children: [buildBanner(), ...]);
}

Classes

AdConfig
Master configuration for AdManager.
AdLoadingDialog
Loading dialog shown before a fullscreen ad (inter / rewarded / app-open).
AdManager
Dual-provider Ad Manager singleton.
AdMobConfig
AdMob ad unit IDs configuration.
AdSafetyConfig
Ad safety manager — 12 anti-fraud protections.
AdSafetyParams
Tunable parameters for AdSafetyConfig.
AdSafetyResult
Result of an ad safety check.
AdScreen
Base widget class for screens that use ads.
AdScreenRouteLogger
Optional logger that records navigation events via SafeLogger.
AdScreenState<T extends AdScreen>
Base state for AdScreen. Provides buildBanner, showInterstitialAd, and showRewardedAd helpers with built-in safety checks.
AppLovinConfig
AppLovin MAX ad unit IDs configuration.
BannerAdWidget
Banner Ad Widget — dual provider (AdMob / AppLovin MAX).
BoolEvent
Simple event bus for internal SDK communication.
SafeLogger
Internal logger for ad_sdk.
SimpleEventBus
TopToast
Displays a beautiful animated toast at the top-center of the screen.

Enums

AdLogLevel
Controls how much the SDK logs.
AdProvider
Ad provider selection.

Constants

adMayAppearEn → const String
adMayAppearVi → const String
adPlsNoteEn → const String
adPlsNoteVi → const String

Properties

adRouteObserver RouteObserver<ModalRoute<void>>
Global RouteObserver for banner ad lifecycle management.
final