react-native-google-mobile-ads
    Preparing search index...

    Class RewardedInterstitialAd

    A class for interacting and showing Rewarded Interstitial Ads.

    An Rewarded Interstitial advert can be pre-loaded and shown at a suitable point in your apps flow, such as at the end of a level in a game. The content of a rewarded interstital advert can be controlled via your Google Mobile Ads dashboard. Typically users are rewarded after completing a specific advert action (e.g. watching a video or submitting an option via an interactive form). Events (such as the user earning a reward or closing a rewarded interstital advert early) are sent back for you to handle accordingly within your application.

    First create a new Rewarded Interstitial instance, passing in your Ad Unit ID from the Google Mobile Ads configuration console, and any additional request options. The example below will present a test advert, and only request a non-personalized ad.

    import { RewardedInterstitialAd, TestIds } from 'react-native-google-mobile-ads';

    const rewardedInterstitial = RewardedInterstitialAd.createForAdRequest(TestIds.REWARDED_INTERSTITIAL, {
    requestNonPersonalizedAdsOnly: true,
    });

    Each advert needs to be loaded from Google Mobile Ads before being shown. It is recommended this is performed before the user reaches the checkpoint to show the advert, so it's ready to go. Before loading the advert, we need to setup event listeners to listen for updates from Google Mobile Ads, such as advert loaded or failed to load.

    Event types match the AdEventType or RewardedAdEventType interface. The potential user reward for rewarded interstitial adverts are passed back to the event handler on advert load and when the user earns the reward.

    import { RewardedAdEventType } from 'react-native-google-mobile-ads';

    rewardedInterstitial.addAdEventListener(RewardedAdEventType.LOADED, () => {
    rewardedInterstitial.show().catch(console.warn);
    });
    rewardedInterstitial.addAdEventListener(RewardedAdEventType.EARNED_REWARD, (reward) => {
    console.log('User earned reward of ', reward);
    });

    rewardedInterstitial.load();

    The rewarded interstitial advert will be presented to the user, and several more events can be triggered such as the user clicking the advert, closing it or completing the action.

    Hierarchy (View Summary)

    Index
    • Parameters

      • type: AdType
      • requestId: number
      • adUnitId: string
      • adLoadFunction: AdLoadFunction
      • adShowFunction: AdShowFunction
      • adDestroyFunction: AdDestroyFunction
      • requestOptions: RequestOptions

      Returns RewardedInterstitialAd

    • Parameters

      • event: {
            body: {
                data?:
                    | RewardedAdReward & { responseInfo?: ResponseInfo }
                    | AppEvent & { responseInfo?: ResponseInfo }
                    | PaidEvent & { responseInfo?: ResponseInfo }
                    | { responseInfo?: ResponseInfo };
                error?: {
                    code: string;
                    message: string;
                    phase?: "load" | "show";
                    reason?: string;
                    responseInfo?: ResponseInfo;
                    responseInfoJson?: string;
                };
                type: EventType;
            };
        }

      Returns void

    • Show the loaded advert to the user.

      Uses two error channels:

      • Rejects the returned promise when the show did not happen: the ad has not loaded, a show is already in flight, or the platform declines. Handle these with .catch() (or try { await } catch).
      • Throws synchronously for programmer errors: the ad has been destroyed, or showOptions are structurally invalid (checked only on a loaded ad with no show in flight, so otherwise the rejection comes first). Fix the call site.

      The fullscreen hooks' show absorbs both channels.

      // Create InterstitialAd/RewardedAd
      const advert = InterstitialAd.createForAdRequest('...');

      advert.addAdEventListener(AdEventType.LOADED, () => {
      advert
      .show({
      immersiveModeEnabled: true,
      })
      .catch(console.warn);
      });

      Parameters

      • OptionalshowOptions: AdShowOptions

        An optional AdShowOptions interface.

      Returns Promise<void>

    • Creates a new RewardedInterstitialAd instance.

      import { RewardedInterstitialAd, RewardedAdEventType, TestIds } from 'react-native-google-mobile-ads';

      const rewardedInterstitialAd = RewardedInterstitialAd.createForAdRequest(TestIds.REWARDED_INTERSTITIAL, {
      requestAgent: 'CoolAds',
      });

      rewardedInterstitialAd.addAdEventListener(RewardedAdEventType.LOADED, () => {
      rewardedInterstitialAd.show().catch(console.warn);
      });
      rewardedInterstitialAd.addAdEventListener(RewardedAdEventType.EARNED_REWARD, (reward) => {
      console.log('User earned reward of ', reward);
      });

      rewardedInterstitialAd.load();

      Parameters

      • adUnitId: string

        The Ad Unit ID for the Rewarded Interstitial Ad. You can find this on your Google Mobile Ads dashboard.

      • OptionalrequestOptions: RequestOptions

        Optional RequestOptions used to load the ad.

      Returns RewardedInterstitialAd

    _adDestroyFunction: AdDestroyFunction
    _adEventListenerId: number
    _adEventListenersMap: Map<EventType, Map<number, AdEventListener<EventType>>>
    _adEventsListenerId: number
    _adEventsListeners: Map<number, AdEventsListener<EventType>>
    _adLoadFunction: AdLoadFunction
    _adShowFunction: AdShowFunction
    _adUnitId: string
    _destroyed: boolean
    _isLoadCalled: boolean
    _loaded: boolean
    _nativeListener: EmitterSubscription
    _presenceMarked: boolean
    _requestId: number
    _requestOptions: RequestOptions
    _responseInfo: ResponseInfo | null
    _showRequested: boolean
    _type: AdType