AppOpenAdManager class

Manages App Open Ad loading, display on cold start / background resume, and policy compliance.

Features:

  • AdMob Policy Guard: 4-hour max-age cache invalidation.
  • AdMob Policy Guard: Skips cold start ad on first app installation session.
  • AdMob Policy Guard: 4-second cold start timeout deadline.
  • AdMob Policy Guard: 15-second minimum background threshold to avoid rapid switching fatigue.
  • AdMob Policy Guard: Anti-collision full-screen presentation lock.
  • Temporary suppression support via setSuppressed (e.g. for onboarding, login, checkout).
  • Automatic Impression-Level Ad Revenue (ILRD) tracking.
Mixed-in types

Properties

hashCode → int
The hash code for this object.
no setterinherited
isAdAvailable → bool
Whether an ad is loaded and not expired.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

didChangeAccessibilityFeatures() → void
Called when the system changes the set of currently active accessibility features.
inherited
didChangeAppLifecycleState(AppLifecycleState state) → void
Called when the system puts the app in the background or returns the app to the foreground.
override
didChangeLocales(List<Locale>? locales) → void
Called when the system tells the app that the user's locale has changed. For example, if the user changes the system language settings.
inherited
didChangeMetrics() → void
Called when the application's dimensions change. For example, when a phone is rotated.
inherited
didChangePlatformBrightness() → void
Called when the platform brightness changes.
inherited
didChangeTextScaleFactor() → void
Called when the platform's text scale factor changes.
inherited
didChangeViewFocus(ViewFocusEvent event) → void
Called whenever the PlatformDispatcher receives a notification that the focus state on a view has changed.
inherited
didHaveMemoryPressure() → void
Called when the system is running low on memory.
inherited
didPopRoute() → Future<bool>
Called when the system tells the app to pop the current route, such as after a system back button press or back gesture.
inherited
didPushRoute(String route) → Future<bool>
Called when the host tells the application to push a new route onto the navigator.
inherited
didPushRouteInformation(RouteInformation routeInformation) → Future<bool>
Called when the host tells the application to push a new RouteInformation and a restoration state onto the router.
inherited
didRequestAppExit() → Future<AppExitResponse>
Called when a request is received from the system to exit the application.
inherited
dispose() → void
Disposes active ad and unregisters observer.
handleCancelBackGesture() → void
Called when a predictive back gesture is canceled, indicating that no navigation should occur.
inherited
handleCommitBackGesture() → void
Called when a predictive back gesture is finished successfully, indicating that the current route should be popped.
inherited
handleStartBackGesture(PredictiveBackEvent backEvent) → bool
Called at the start of a predictive back gesture.
inherited
handleStatusBarTap() → void
Called when the user taps the status bar on iOS, to scroll a scroll view to the top.
inherited
handleUpdateBackGestureProgress(PredictiveBackEvent backEvent) → void
Called when a predictive back gesture moves.
inherited
initialize() → Future<void>
Initializes the App Open Ad lifecycle manager and registers app state observer.
loadAd({String? adUnitId, AdRequest? request, VoidCallback? onLoaded, dynamic onFailedToLoad(LoadAdError error)?}) → void
Preloads an App Open Ad with full error and duplicate guards.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
setSuppressed(bool suppressed) → void
Sets ad suppression flag (e.g. during splash screens, checkout, or login).
showAdIfAvailable({VoidCallback? onAdShowedFullScreenContent, VoidCallback? onAdDismissedFullScreenContent, dynamic onAdFailedToShowFullScreenContent(AdError error)?, OnPaidEventCallback? onPaidEvent}) → void
Shows the App Open ad if available and no other full-screen ad is currently active.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Properties

instance → AppOpenAdManager
final

Constants

backgroundThreshold → const Duration
Minimum time app must stay in background before showing an App Open ad on return.
coldStartTimeout → const Duration
Maximum time allowed for cold-start ad to load and present before user enters main app.
maxAdAge → const Duration
Maximum duration to hold a cached ad before discarding as stale (4 hours).