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