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).