Skip to content

Ad Events

Google documents these lifecycle callbacks on each format page, for example banner ad events. This plugin exposes the same moments under the names in the table below, not the native AdListener method names. For the paid payload, see impression-level ad revenue (iOS).

Register listeners before loading or showing an ad so that the first lifecycle and impression events are not missed.

Adding and removing listeners

AdMob.addListener returns a handle. Await the registration, then call remove() when the owning screen is destroyed:

import { AdMob, BannerAdPluginEvents } from '@capacitor-community/admob';

const handle = await AdMob.addListener(BannerAdPluginEvents.Loaded, () => {
  console.log('Banner loaded');
});

await handle.remove();

interface PluginListenerHandle

Prop Type
remove () => Promise<void>

Common lifecycle events

Event Emitted when
Loaded The ad finished loading and is ready to show.
FailedToLoad The ad could not load. Check AdMobError for details.
Showed / Opened The ad became visible to the user.
FailedToShow A loaded ad failed to display.
Dismissed / Closed The user closed the full-screen ad or overlay.
Rewarded The user earned the advertised reward.
SizeChanged Banner dimensions changed.
AdImpression / AdPaid An impression was recorded. See revenue events below.

Errors

FailedToLoad and FailedToShow listeners receive an AdMobError payload.

interface AdMobError

An error returned by the Google Mobile Ads SDK.

Prop Type Description
code number Gets the error's code.
message string Gets the message describing the error.

Impression-level revenue

Full-screen formats emit AdMobRevenueData on their AdImpression event. Banners emit the same payload on AdPaid. Banner AdImpression has no payload; it only signals that an impression was recorded.

interface AdMobRevenueData

Impression-level ad revenue data emitted by a paid event.

Prop Type Description
adUnitId string The ad unit ID associated with the paid event.
valueMicros number The ad value in micros, where 1,000,000 micros equals one currency unit.
currencyCode string The ISO 4217 currency code for valueMicros.
precision AdValuePrecision The precision of the reported ad value.
networkName string The mediation adapter class name that served the impression, or an empty string when unavailable.
impressionId string The response identifier associated with the impression, or an empty string when unavailable.

Per-format guides

method addListener(AppOpenAdPluginEvents.Loaded, ...)

Listens for App Open ad load events.

addListener(eventName: AppOpenAdPluginEvents.Loaded, listenerFunc: (info: AdLoadInfo) => void) => Promise<PluginListenerHandle>

method addListener(AppOpenAdPluginEvents.FailedToLoad, ...)

Listens for App Open ad load failures.

addListener(eventName: AppOpenAdPluginEvents.FailedToLoad, listenerFunc: (error: AdMobError) => void) => Promise<PluginListenerHandle>

method addListener(AppOpenAdPluginEvents.Opened, ...)

Listens for App Open ad opened events.

addListener(eventName: AppOpenAdPluginEvents.Opened, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(AppOpenAdPluginEvents.Closed, ...)

Listens for App Open ad closed events.

addListener(eventName: AppOpenAdPluginEvents.Closed, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(AppOpenAdPluginEvents.FailedToShow, ...)

Listens for App Open ad show failures.

addListener(eventName: AppOpenAdPluginEvents.FailedToShow, listenerFunc: (error: AdMobError) => void) => Promise<PluginListenerHandle>

method addListener(AppOpenAdPluginEvents.AdImpression, ...)

Listens for App Open impression-level ad revenue events.

addListener(eventName: AppOpenAdPluginEvents.AdImpression, listenerFunc: (data: AdMobRevenueData) => void) => Promise<PluginListenerHandle>

enum AppOpenAdPluginEvents

Member Value Description
Loaded 'appOpenAdLoaded' Emits when an App Open ad has loaded.
FailedToLoad 'appOpenAdFailedToLoad' Emits when an App Open ad fails to load.
Opened 'appOpenAdOpened' Emits when an App Open ad is shown.
Closed 'appOpenAdClosed' Emits when an App Open ad is dismissed.
FailedToShow 'appOpenAdFailedToShow' Emits when a loaded App Open ad fails to show.
AdImpression 'appOpenAdImpression' Emits impression-level ad revenue data when a paid event is recorded.

method addListener(BannerAdPluginEvents.SizeChanged, ...)

Listens for changes to the displayed banner dimensions.

addListener(eventName: BannerAdPluginEvents.SizeChanged, listenerFunc: (info: AdMobBannerSize) => void) => Promise<PluginListenerHandle>

method addListener(BannerAdPluginEvents.Loaded, ...)

Listens for banner ad load events.

addListener(eventName: BannerAdPluginEvents.Loaded, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(BannerAdPluginEvents.FailedToLoad, ...)

Listens for banner ad load failures.

addListener(eventName: BannerAdPluginEvents.FailedToLoad, listenerFunc: (info: AdMobError) => void) => Promise<PluginListenerHandle>

method addListener(BannerAdPluginEvents.Opened, ...)

Listens for banner overlay opened events.

addListener(eventName: BannerAdPluginEvents.Opened, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(BannerAdPluginEvents.Closed, ...)

Listens for banner overlay closed events.

addListener(eventName: BannerAdPluginEvents.Closed, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(BannerAdPluginEvents.AdImpression, ...)

Listens for banner impression events.

addListener(eventName: BannerAdPluginEvents.AdImpression, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(BannerAdPluginEvents.AdPaid, ...)

Listens for banner impression-level ad revenue events.

addListener(eventName: BannerAdPluginEvents.AdPaid, listenerFunc: (data: AdMobRevenueData) => void) => Promise<PluginListenerHandle>

enum BannerAdPluginEvents

Member Value Description
SizeChanged "bannerAdSizeChanged" Emits when the displayed banner size changes.
Loaded "bannerAdLoaded" Emits when a banner ad has loaded.
FailedToLoad "bannerAdFailedToLoad" Emits when a banner ad fails to load.
Opened "bannerAdOpened" Emits when a banner opens an overlay after the user taps it.
Closed "bannerAdClosed" Emits when the banner overlay is closed.
AdImpression "bannerAdImpression" Emits when an impression is recorded for the banner ad.
AdPaid "bannerAdPaid" Emits impression-level ad revenue data when a paid event is recorded.

method addListener(InterstitialAdPluginEvents.FailedToLoad, ...)

Listens for interstitial ad load failures.

addListener(eventName: InterstitialAdPluginEvents.FailedToLoad, listenerFunc: (error: AdMobError) => void) => Promise<PluginListenerHandle>

method addListener(InterstitialAdPluginEvents.Loaded, ...)

Listens for interstitial ad load events.

addListener(eventName: InterstitialAdPluginEvents.Loaded, listenerFunc: (info: AdLoadInfo) => void) => Promise<PluginListenerHandle>

method addListener(InterstitialAdPluginEvents.Dismissed, ...)

Listens for interstitial ad dismissed events.

addListener(eventName: InterstitialAdPluginEvents.Dismissed, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(InterstitialAdPluginEvents.FailedToShow, ...)

Listens for interstitial ad show failures.

addListener(eventName: InterstitialAdPluginEvents.FailedToShow, listenerFunc: (error: AdMobError) => void) => Promise<PluginListenerHandle>

method addListener(InterstitialAdPluginEvents.Showed, ...)

Listens for interstitial ad shown events.

addListener(eventName: InterstitialAdPluginEvents.Showed, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(InterstitialAdPluginEvents.AdImpression, ...)

Listens for interstitial impression-level ad revenue events.

addListener(eventName: InterstitialAdPluginEvents.AdImpression, listenerFunc: (data: AdMobRevenueData) => void) => Promise<PluginListenerHandle>

enum InterstitialAdPluginEvents

Member Value Description
Loaded 'interstitialAdLoaded' Emits when an interstitial ad has loaded and is ready to show.
FailedToLoad 'interstitialAdFailedToLoad' Emits when an interstitial ad fails to load.
Showed 'interstitialAdShowed' Emits when an interstitial ad is shown.
FailedToShow 'interstitialAdFailedToShow' Emits when a loaded interstitial ad fails to show.
Dismissed 'interstitialAdDismissed' Emits when an interstitial ad is dismissed.
AdImpression 'interstitialAdImpression' Emits impression-level ad revenue data when a paid event is recorded.

method addListener(RewardAdPluginEvents.FailedToLoad, ...)

Listens for rewarded ad load failures.

addListener(eventName: RewardAdPluginEvents.FailedToLoad, listenerFunc: (error: AdMobError) => void) => Promise<PluginListenerHandle>

method addListener(RewardAdPluginEvents.Loaded, ...)

Listens for rewarded ad load events.

addListener(eventName: RewardAdPluginEvents.Loaded, listenerFunc: (info: AdLoadInfo) => void) => Promise<PluginListenerHandle>

method addListener(RewardAdPluginEvents.Rewarded, ...)

Listens for earned reward events.

addListener(eventName: RewardAdPluginEvents.Rewarded, listenerFunc: (reward: AdMobRewardItem) => void) => Promise<PluginListenerHandle>

method addListener(RewardAdPluginEvents.Dismissed, ...)

Listens for rewarded ad dismissed events.

addListener(eventName: RewardAdPluginEvents.Dismissed, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(RewardAdPluginEvents.FailedToShow, ...)

Listens for rewarded ad show failures.

addListener(eventName: RewardAdPluginEvents.FailedToShow, listenerFunc: (error: AdMobError) => void) => Promise<PluginListenerHandle>

method addListener(RewardAdPluginEvents.Showed, ...)

Listens for rewarded ad shown events.

addListener(eventName: RewardAdPluginEvents.Showed, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(RewardAdPluginEvents.AdImpression, ...)

Listens for rewarded impression-level ad revenue events.

addListener(eventName: RewardAdPluginEvents.AdImpression, listenerFunc: (data: AdMobRevenueData) => void) => Promise<PluginListenerHandle>

enum RewardAdPluginEvents

Member Value Description
Loaded 'onRewardedVideoAdLoaded' Emits when a rewarded ad has loaded and is ready to show.
FailedToLoad 'onRewardedVideoAdFailedToLoad' Emits when a rewarded ad fails to load.
Showed 'onRewardedVideoAdShowed' Emits when a rewarded ad is shown.
FailedToShow 'onRewardedVideoAdFailedToShow' Emits when a loaded rewarded ad fails to show.
Dismissed 'onRewardedVideoAdDismissed' Emits when a rewarded ad is dismissed. This event does not indicate whether the user earned a reward. Listen for Rewarded separately before granting the reward.
Rewarded 'onRewardedVideoAdReward' Emits when the user earns the advertised reward.
AdImpression 'onRewardedVideoAdImpression' Emits impression-level ad revenue data when a paid event is recorded.

method addListener(RewardInterstitialAdPluginEvents.FailedToLoad, ...)

Listens for rewarded interstitial ad load failures.

addListener(eventName: RewardInterstitialAdPluginEvents.FailedToLoad, listenerFunc: (error: AdMobError) => void) => Promise<PluginListenerHandle>

method addListener(RewardInterstitialAdPluginEvents.Loaded, ...)

Listens for rewarded interstitial ad load events.

addListener(eventName: RewardInterstitialAdPluginEvents.Loaded, listenerFunc: (info: AdLoadInfo) => void) => Promise<PluginListenerHandle>

method addListener(RewardInterstitialAdPluginEvents.Rewarded, ...)

Listens for earned reward events.

addListener(eventName: RewardInterstitialAdPluginEvents.Rewarded, listenerFunc: (reward: AdMobRewardInterstitialItem) => void) => Promise<PluginListenerHandle>

method addListener(RewardInterstitialAdPluginEvents.Dismissed, ...)

Listens for rewarded interstitial ad dismissed events.

addListener(eventName: RewardInterstitialAdPluginEvents.Dismissed, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(RewardInterstitialAdPluginEvents.FailedToShow, ...)

Listens for rewarded interstitial ad show failures.

addListener(eventName: RewardInterstitialAdPluginEvents.FailedToShow, listenerFunc: (error: AdMobError) => void) => Promise<PluginListenerHandle>

method addListener(RewardInterstitialAdPluginEvents.Showed, ...)

Listens for rewarded interstitial ad shown events.

addListener(eventName: RewardInterstitialAdPluginEvents.Showed, listenerFunc: () => void) => Promise<PluginListenerHandle>

method addListener(RewardInterstitialAdPluginEvents.AdImpression, ...)

Listens for rewarded interstitial impression-level ad revenue events.

addListener(eventName: RewardInterstitialAdPluginEvents.AdImpression, listenerFunc: (data: AdMobRevenueData) => void) => Promise<PluginListenerHandle>

enum RewardInterstitialAdPluginEvents

Member Value Description
Loaded 'onRewardedInterstitialAdLoaded' Emits when a rewarded interstitial ad has loaded and is ready to show.
FailedToLoad 'onRewardedInterstitialAdFailedToLoad' Emits when a rewarded interstitial ad fails to load.
Showed 'onRewardedInterstitialAdShowed' Emits when a rewarded interstitial ad is shown.
FailedToShow 'onRewardedInterstitialAdFailedToShow' Emits when a loaded rewarded interstitial ad fails to show.
Dismissed 'onRewardedInterstitialAdDismissed' Emits when a rewarded interstitial ad is dismissed. This event does not indicate whether the user earned a reward. Listen for Rewarded separately before granting the reward.
Rewarded 'onRewardedInterstitialAdReward' Emits when the user earns the advertised reward.
AdImpression 'onRewardedInterstitialAdImpression' Emits impression-level ad revenue data when a paid event is recorded.