react-native-google-mobile-ads 5.1.1 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/interstitial.test.ts +32 -5
- package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsAppOpenModule.java +2 -1
- package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java +110 -68
- package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java +5 -11
- package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsEvent.java +3 -0
- package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsInterstitialModule.java +38 -20
- package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsModule.java +45 -0
- package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsPackage.java +1 -0
- package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsRewardedInterstitialModule.java +199 -0
- package/docs/ad-inspector.mdx +39 -0
- package/docs/displaying-ads-hook.mdx +1 -1
- package/docs/displaying-ads.mdx +178 -26
- package/docs/migrating-to-v6.mdx +111 -0
- package/docs.json +3 -1
- package/ios/RNGoogleMobileAds/RNGoogleMobileAdsAppOpenModule.m +1 -0
- package/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerViewManager.m +63 -8
- package/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.h +4 -0
- package/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.m +10 -7
- package/ios/RNGoogleMobileAds/RNGoogleMobileAdsFullScreenContentDelegate.h +2 -1
- package/ios/RNGoogleMobileAds/RNGoogleMobileAdsFullScreenContentDelegate.m +17 -2
- package/ios/RNGoogleMobileAds/RNGoogleMobileAdsInterstitialModule.m +44 -30
- package/ios/RNGoogleMobileAds/RNGoogleMobileAdsModule.m +19 -0
- package/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedInterstitialModule.h +25 -0
- package/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedInterstitialModule.m +173 -0
- package/lib/commonjs/AdEventType.js.map +1 -1
- package/lib/commonjs/GAMAdEventType.js +30 -0
- package/lib/commonjs/GAMAdEventType.js.map +1 -0
- package/lib/commonjs/MobileAds.js +9 -2
- package/lib/commonjs/MobileAds.js.map +1 -1
- package/lib/commonjs/RewardedAdEventType.js.map +1 -1
- package/lib/commonjs/TestIds.js +11 -2
- package/lib/commonjs/TestIds.js.map +1 -1
- package/lib/commonjs/ads/AppOpenAd.js +8 -53
- package/lib/commonjs/ads/AppOpenAd.js.map +1 -1
- package/lib/commonjs/ads/BannerAd.js +7 -110
- package/lib/commonjs/ads/BannerAd.js.map +1 -1
- package/lib/commonjs/ads/BaseAd.js +144 -0
- package/lib/commonjs/ads/BaseAd.js.map +1 -0
- package/lib/commonjs/ads/GAMBannerAd.js +42 -0
- package/lib/commonjs/ads/GAMBannerAd.js.map +1 -0
- package/lib/commonjs/ads/GAMInterstitialAd.js +48 -0
- package/lib/commonjs/ads/GAMInterstitialAd.js.map +1 -0
- package/lib/commonjs/ads/InterstitialAd.js +13 -64
- package/lib/commonjs/ads/InterstitialAd.js.map +1 -1
- package/lib/commonjs/ads/MobileAd.js +131 -12
- package/lib/commonjs/ads/MobileAd.js.map +1 -1
- package/lib/commonjs/ads/RewardedAd.js +23 -65
- package/lib/commonjs/ads/RewardedAd.js.map +1 -1
- package/lib/commonjs/ads/RewardedInterstitialAd.js +127 -0
- package/lib/commonjs/ads/RewardedInterstitialAd.js.map +1 -0
- package/lib/commonjs/hooks/useAppOpenAd.js.map +1 -1
- package/lib/commonjs/hooks/useFullScreenAd.js +9 -4
- package/lib/commonjs/hooks/useFullScreenAd.js.map +1 -1
- package/lib/commonjs/hooks/useInterstitialAd.js.map +1 -1
- package/lib/commonjs/hooks/useRewardedAd.js.map +1 -1
- package/lib/commonjs/hooks/useRewardedInterstitialAd.js +51 -0
- package/lib/commonjs/hooks/useRewardedInterstitialAd.js.map +1 -0
- package/lib/commonjs/index.js +80 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types/AdEventsListener.js +6 -0
- package/lib/commonjs/types/AdEventsListener.js.map +1 -0
- package/lib/commonjs/types/AppEvent.js +2 -0
- package/lib/commonjs/types/AppEvent.js.map +1 -0
- package/lib/commonjs/types/index.js +149 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/commonjs/validateAdRequestOptions.js +0 -38
- package/lib/commonjs/validateAdRequestOptions.js.map +1 -1
- package/lib/commonjs/version.js +2 -2
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/AdEventType.js.map +1 -1
- package/lib/module/GAMAdEventType.js +22 -0
- package/lib/module/GAMAdEventType.js.map +1 -0
- package/lib/module/MobileAds.js +9 -2
- package/lib/module/MobileAds.js.map +1 -1
- package/lib/module/RewardedAdEventType.js.map +1 -1
- package/lib/module/TestIds.js +11 -2
- package/lib/module/TestIds.js.map +1 -1
- package/lib/module/ads/AppOpenAd.js +10 -37
- package/lib/module/ads/AppOpenAd.js.map +1 -1
- package/lib/module/ads/BannerAd.js +7 -85
- package/lib/module/ads/BannerAd.js.map +1 -1
- package/lib/module/ads/BaseAd.js +124 -0
- package/lib/module/ads/BaseAd.js.map +1 -0
- package/lib/module/ads/GAMBannerAd.js +42 -0
- package/lib/module/ads/GAMBannerAd.js.map +1 -0
- package/lib/module/ads/GAMInterstitialAd.js +38 -0
- package/lib/module/ads/GAMInterstitialAd.js.map +1 -0
- package/lib/module/ads/InterstitialAd.js +15 -48
- package/lib/module/ads/InterstitialAd.js.map +1 -1
- package/lib/module/ads/MobileAd.js +128 -12
- package/lib/module/ads/MobileAd.js.map +1 -1
- package/lib/module/ads/RewardedAd.js +24 -49
- package/lib/module/ads/RewardedAd.js.map +1 -1
- package/lib/module/ads/RewardedInterstitialAd.js +130 -0
- package/lib/module/ads/RewardedInterstitialAd.js.map +1 -0
- package/lib/module/hooks/useAppOpenAd.js.map +1 -1
- package/lib/module/hooks/useFullScreenAd.js +9 -4
- package/lib/module/hooks/useFullScreenAd.js.map +1 -1
- package/lib/module/hooks/useInterstitialAd.js.map +1 -1
- package/lib/module/hooks/useRewardedAd.js.map +1 -1
- package/lib/module/hooks/useRewardedInterstitialAd.js +38 -0
- package/lib/module/hooks/useRewardedInterstitialAd.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/types/AdEventsListener.js +2 -0
- package/lib/module/types/AdEventsListener.js.map +1 -0
- package/lib/module/types/AppEvent.js +2 -0
- package/lib/module/types/AppEvent.js.map +1 -0
- package/lib/module/types/index.js +28 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/validateAdRequestOptions.js +1 -39
- package/lib/module/validateAdRequestOptions.js.map +1 -1
- package/lib/module/version.js +2 -2
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/AdEventType.d.ts +4 -8
- package/lib/typescript/GAMAdEventType.d.ts +20 -0
- package/lib/typescript/MobileAds.d.ts +2 -1
- package/lib/typescript/RewardedAdEventType.d.ts +7 -11
- package/lib/typescript/TestIds.d.ts +7 -0
- package/lib/typescript/ads/AppOpenAd.d.ts +6 -6
- package/lib/typescript/ads/BannerAd.d.ts +1 -1
- package/lib/typescript/ads/BaseAd.d.ts +35 -0
- package/lib/typescript/ads/GAMBannerAd.d.ts +7 -0
- package/lib/typescript/ads/GAMInterstitialAd.d.ts +33 -0
- package/lib/typescript/ads/InterstitialAd.d.ts +10 -16
- package/lib/typescript/ads/MobileAd.d.ts +35 -16
- package/lib/typescript/ads/RewardedAd.d.ts +17 -19
- package/lib/typescript/ads/RewardedInterstitialAd.d.ts +82 -0
- package/lib/typescript/hooks/useAppOpenAd.d.ts +1 -1
- package/lib/typescript/hooks/useFullScreenAd.d.ts +2 -1
- package/lib/typescript/hooks/useInterstitialAd.d.ts +1 -1
- package/lib/typescript/hooks/useRewardedAd.d.ts +1 -1
- package/lib/typescript/hooks/useRewardedInterstitialAd.d.ts +9 -0
- package/lib/typescript/index.d.ts +7 -1
- package/lib/typescript/types/AdEventListener.d.ts +5 -9
- package/lib/typescript/types/AdEventsListener.d.ts +8 -0
- package/lib/typescript/types/AppEvent.d.ts +13 -0
- package/lib/typescript/types/BannerAdProps.d.ts +81 -4
- package/lib/typescript/types/GoogleMobileAdsNativeModule.d.ts +12 -6
- package/lib/typescript/types/MobileAd.interface.d.ts +37 -12
- package/lib/typescript/types/MobileAdsModule.interface.d.ts +9 -0
- package/lib/typescript/types/RequestOptions.d.ts +0 -22
- package/lib/typescript/types/index.d.ts +11 -0
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +50 -49
- package/src/AdEventType.ts +4 -8
- package/src/GAMAdEventType.ts +37 -0
- package/src/MobileAds.ts +13 -0
- package/src/RewardedAdEventType.ts +7 -11
- package/src/TestIds.ts +9 -0
- package/src/ads/AppOpenAd.ts +11 -41
- package/src/ads/BannerAd.tsx +4 -106
- package/src/ads/BaseAd.tsx +156 -0
- package/src/ads/GAMBannerAd.tsx +37 -0
- package/src/ads/GAMInterstitialAd.ts +45 -0
- package/src/ads/InterstitialAd.ts +15 -56
- package/src/ads/MobileAd.ts +153 -30
- package/src/ads/RewardedAd.ts +29 -55
- package/src/ads/RewardedInterstitialAd.ts +143 -0
- package/src/hooks/useAppOpenAd.ts +1 -1
- package/src/hooks/useFullScreenAd.ts +9 -7
- package/src/hooks/useInterstitialAd.ts +1 -1
- package/src/hooks/useRewardedAd.ts +1 -1
- package/src/hooks/useRewardedInterstitialAd.ts +47 -0
- package/src/index.ts +6 -0
- package/src/types/AdEventListener.ts +31 -13
- package/src/types/AdEventsListener.ts +24 -0
- package/src/types/AppEvent.ts +14 -0
- package/src/types/BannerAdProps.ts +81 -4
- package/src/types/GoogleMobileAdsNativeModule.ts +16 -6
- package/src/types/MobileAd.interface.ts +56 -12
- package/src/types/MobileAdsModule.interface.ts +10 -0
- package/src/types/RequestOptions.ts +0 -24
- package/src/types/index.ts +28 -0
- package/src/validateAdRequestOptions.ts +0 -45
- package/src/version.ts +2 -2
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare enum GAMAdEventType {
|
|
2
|
+
/**
|
|
3
|
+
* An event fired when the ad received Ad Manager specific app event.
|
|
4
|
+
*
|
|
5
|
+
* The app event contains a `name` and `data`. `data` could be undefeined.
|
|
6
|
+
*
|
|
7
|
+
* #### Example
|
|
8
|
+
*
|
|
9
|
+
* ```js
|
|
10
|
+
* import { GAMAdEventType } from 'react-native-google-mobile-ads';
|
|
11
|
+
*
|
|
12
|
+
* interstitialAd.onAdEvent((type, error, data) => {
|
|
13
|
+
* if (type === GAMAdEventType.APP_EVENT) {
|
|
14
|
+
* console.log(`Received app event: ${data.name} with data: ${data.data}`);
|
|
15
|
+
* }
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
APP_EVENT = "app_event"
|
|
20
|
+
}
|
|
@@ -4,8 +4,9 @@ import { RequestConfiguration } from './types/RequestConfiguration';
|
|
|
4
4
|
import { App, Config } from './types/Module.interface';
|
|
5
5
|
declare class MobileAdsModule extends Module implements MobileAdsModuleInterface {
|
|
6
6
|
constructor(app: App, config: Config);
|
|
7
|
-
initialize(): Promise<import("./types
|
|
7
|
+
initialize(): Promise<import("./types").AdapterStatus[]>;
|
|
8
8
|
setRequestConfiguration(requestConfiguration: RequestConfiguration): Promise<void>;
|
|
9
|
+
openAdInspector(): Promise<void>;
|
|
9
10
|
}
|
|
10
11
|
export declare const MobileAds: () => MobileAdsModule;
|
|
11
12
|
export default MobileAds;
|
|
@@ -13,12 +13,10 @@ export declare enum RewardedAdEventType {
|
|
|
13
13
|
* ```js
|
|
14
14
|
* import { RewardedAdEventType } from 'react-native-google-mobile-ads';
|
|
15
15
|
*
|
|
16
|
-
* rewardedAd.
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* rewardedAd.show();
|
|
21
|
-
* }
|
|
16
|
+
* rewardedAd.addEventListener(RewardedAdEventType.LOADED, (reward) => {
|
|
17
|
+
* console.log(`Rewarded Ad loaded with ${data.amount} ${data.type} as reward`);
|
|
18
|
+
* // E.g. "Rewarded Ad loaded with 50 coins as reward"
|
|
19
|
+
* rewardedAd.show();
|
|
22
20
|
* });
|
|
23
21
|
* ```
|
|
24
22
|
*/
|
|
@@ -34,11 +32,9 @@ export declare enum RewardedAdEventType {
|
|
|
34
32
|
* ```js
|
|
35
33
|
* import { RewardedAdEventType } from 'react-native-google-mobile-ads';
|
|
36
34
|
*
|
|
37
|
-
* rewardedAd.
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* // E.g. "User earned 50 coins"
|
|
41
|
-
* }
|
|
35
|
+
* rewardedAd.addEventListener(RewardedAdEventType.EARNED_REWARD, (reward) => {
|
|
36
|
+
* console.log(`User earned ${data.amount} ${data.type}`);
|
|
37
|
+
* // E.g. "User earned 50 coins"
|
|
42
38
|
* });
|
|
43
39
|
* ```
|
|
44
40
|
*/
|
|
@@ -3,4 +3,11 @@ export declare const TestIds: {
|
|
|
3
3
|
BANNER: string;
|
|
4
4
|
INTERSTITIAL: string;
|
|
5
5
|
REWARDED: string;
|
|
6
|
+
REWARDED_INTERSTITIAL: string;
|
|
7
|
+
GAM_APP_OPEN: string;
|
|
8
|
+
GAM_BANNER: string;
|
|
9
|
+
GAM_INTERSTITIAL: string;
|
|
10
|
+
GAM_REWARDED: string;
|
|
11
|
+
GAM_REWARDED_INTERSTITIAL: string;
|
|
12
|
+
GAM_NATIVE: string;
|
|
6
13
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { MobileAd } from './MobileAd';
|
|
2
|
+
import { AdEventType } from '../AdEventType';
|
|
2
3
|
import { AdEventListener } from '../types/AdEventListener';
|
|
3
|
-
import {
|
|
4
|
+
import { AdEventsListener } from '../types/AdEventsListener';
|
|
4
5
|
import { RequestOptions } from '../types/RequestOptions';
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
export declare class AppOpenAd extends MobileAd {
|
|
7
|
+
protected static _appOpenRequest: number;
|
|
7
8
|
static createForAdRequest(adUnitId: string, requestOptions?: RequestOptions): AppOpenAd;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
show(showOptions?: AdShowOptions): Promise<void>;
|
|
9
|
+
addAdEventsListener<T extends AdEventType>(listener: AdEventsListener<T>): () => void;
|
|
10
|
+
addAdEventListener<T extends AdEventType>(type: T, listener: AdEventListener<T>): () => void;
|
|
11
11
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { BannerAdProps } from '../types/BannerAdProps';
|
|
3
|
-
export declare function BannerAd({
|
|
3
|
+
export declare function BannerAd({ size, ...props }: BannerAdProps): JSX.Element;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { NativeMethods } from 'react-native';
|
|
3
|
+
import { GAMBannerAdProps } from '../types/BannerAdProps';
|
|
4
|
+
import { RequestOptions } from '../types/RequestOptions';
|
|
5
|
+
declare type NativeEvent = {
|
|
6
|
+
type: 'onAdLoaded' | 'onSizeChange';
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
} | {
|
|
10
|
+
type: 'onAdOpened' | 'onAdClosed';
|
|
11
|
+
} | {
|
|
12
|
+
type: 'onAdFailedToLoad';
|
|
13
|
+
code: string;
|
|
14
|
+
message: string;
|
|
15
|
+
} | {
|
|
16
|
+
type: 'onAppEvent';
|
|
17
|
+
name: string;
|
|
18
|
+
data?: string;
|
|
19
|
+
};
|
|
20
|
+
export declare const BaseAd: React.ForwardRefExoticComponent<GAMBannerAdProps & React.RefAttributes<GoogleMobileAdsBannerView>>;
|
|
21
|
+
interface NativeBannerProps {
|
|
22
|
+
sizes: GAMBannerAdProps['sizes'];
|
|
23
|
+
style: {
|
|
24
|
+
width?: number | string;
|
|
25
|
+
height?: number | string;
|
|
26
|
+
};
|
|
27
|
+
unitId: string;
|
|
28
|
+
request: RequestOptions;
|
|
29
|
+
manualImpressionsEnabled: boolean;
|
|
30
|
+
onNativeEvent: (event: {
|
|
31
|
+
nativeEvent: NativeEvent;
|
|
32
|
+
}) => void;
|
|
33
|
+
}
|
|
34
|
+
export declare type GoogleMobileAdsBannerView = React.Component<NativeBannerProps> & NativeMethods;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AdEventType } from '../AdEventType';
|
|
2
|
+
import { GAMAdEventType } from '../GAMAdEventType';
|
|
3
|
+
import { AdEventListener } from '../types/AdEventListener';
|
|
4
|
+
import { AdEventsListener } from '../types/AdEventsListener';
|
|
5
|
+
import { RequestOptions } from '../types/RequestOptions';
|
|
6
|
+
import { InterstitialAd } from './InterstitialAd';
|
|
7
|
+
export declare class GAMInterstitialAd extends InterstitialAd {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new GAMInterstitialAd instance.
|
|
10
|
+
*
|
|
11
|
+
* #### Example
|
|
12
|
+
*
|
|
13
|
+
* ```js
|
|
14
|
+
* import { GAMInterstitialAd, AdEventType, TestIds } from 'react-native-google-mobile-ads';
|
|
15
|
+
*
|
|
16
|
+
* const interstitialAd = await GAMInterstitialAd.createForAdRequest(TestIds.GAM_INTERSTITIAL, {
|
|
17
|
+
* requestAgent: 'CoolAds',
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* interstitialAd.addAdEventListener(AdEventType.Loaded, () => {
|
|
21
|
+
* interstitialAd.show();
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* interstitialAd.load();
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @param adUnitId The Ad Unit ID for the Interstitial. You can find this on your Google Mobile Ads dashboard.
|
|
28
|
+
* @param requestOptions Optional RequestOptions used to load the ad.
|
|
29
|
+
*/
|
|
30
|
+
static createForAdRequest(adUnitId: string, requestOptions?: RequestOptions): GAMInterstitialAd;
|
|
31
|
+
addAdEventsListener<T extends AdEventType | GAMAdEventType>(listener: AdEventsListener<T>): () => void;
|
|
32
|
+
addAdEventListener<T extends AdEventType | GAMAdEventType>(type: T, listener: AdEventListener<T>): () => void;
|
|
33
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { MobileAd } from './MobileAd';
|
|
2
|
+
import { AdEventType } from '../AdEventType';
|
|
2
3
|
import { AdEventListener } from '../types/AdEventListener';
|
|
3
|
-
import {
|
|
4
|
+
import { AdEventsListener } from '../types/AdEventsListener';
|
|
4
5
|
import { RequestOptions } from '../types/RequestOptions';
|
|
5
|
-
import { MobileAdInterface } from '../types/MobileAd.interface';
|
|
6
6
|
/**
|
|
7
7
|
* A class for interacting and showing Interstitial Ads.
|
|
8
8
|
*
|
|
@@ -32,10 +32,8 @@ import { MobileAdInterface } from '../types/MobileAd.interface';
|
|
|
32
32
|
* ```js
|
|
33
33
|
* import { AdEventType } from 'react-native-google-mobile-ads';
|
|
34
34
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* interstitial.show();
|
|
38
|
-
* }
|
|
35
|
+
* interstitialAd.addAdEventListener(AdEventType.Loaded, () => {
|
|
36
|
+
* interstitialAd.show();
|
|
39
37
|
* });
|
|
40
38
|
*
|
|
41
39
|
* interstitial.load();
|
|
@@ -44,7 +42,8 @@ import { MobileAdInterface } from '../types/MobileAd.interface';
|
|
|
44
42
|
* The advert will be presented to the user, and several more events can be triggered such as the user clicking the
|
|
45
43
|
* advert or closing it.
|
|
46
44
|
*/
|
|
47
|
-
export declare class InterstitialAd extends MobileAd
|
|
45
|
+
export declare class InterstitialAd extends MobileAd {
|
|
46
|
+
protected static _interstitialRequest: number;
|
|
48
47
|
/**
|
|
49
48
|
* Creates a new InterstitialAd instance.
|
|
50
49
|
*
|
|
@@ -57,12 +56,8 @@ export declare class InterstitialAd extends MobileAd implements MobileAdInterfac
|
|
|
57
56
|
* requestAgent: 'CoolAds',
|
|
58
57
|
* });
|
|
59
58
|
*
|
|
60
|
-
* interstitialAd.
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* if (type === AdEventType.LOADED) {
|
|
64
|
-
* interstitialAd.show();
|
|
65
|
-
* }
|
|
59
|
+
* interstitialAd.addAdEventListener(AdEventType.Loaded, () => {
|
|
60
|
+
* interstitialAd.show();
|
|
66
61
|
* });
|
|
67
62
|
*
|
|
68
63
|
* interstitialAd.load();
|
|
@@ -72,7 +67,6 @@ export declare class InterstitialAd extends MobileAd implements MobileAdInterfac
|
|
|
72
67
|
* @param requestOptions Optional RequestOptions used to load the ad.
|
|
73
68
|
*/
|
|
74
69
|
static createForAdRequest(adUnitId: string, requestOptions?: RequestOptions): InterstitialAd;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
show(showOptions?: AdShowOptions): Promise<void>;
|
|
70
|
+
addAdEventsListener<T extends AdEventType>(listener: AdEventsListener<T>): () => void;
|
|
71
|
+
addAdEventListener<T extends AdEventType>(type: T, listener: AdEventListener<T>): () => void;
|
|
78
72
|
}
|
|
@@ -1,32 +1,51 @@
|
|
|
1
1
|
import { EmitterSubscription } from 'react-native';
|
|
2
|
-
import { RewardedAdEventType } from '../RewardedAdEventType';
|
|
3
2
|
import { AdEventType } from '../AdEventType';
|
|
3
|
+
import { RewardedAdEventType } from '../RewardedAdEventType';
|
|
4
4
|
import { AdEventListener } from '../types/AdEventListener';
|
|
5
|
+
import { AdEventsListener } from '../types/AdEventsListener';
|
|
6
|
+
import { AdShowOptions } from '../types/AdShowOptions';
|
|
5
7
|
import { RequestOptions } from '../types/RequestOptions';
|
|
8
|
+
import { MobileAdInterface } from '../types/MobileAd.interface';
|
|
6
9
|
import { MobileAdsModuleInterface } from '../types/MobileAdsModule.interface';
|
|
7
10
|
import { RewardedAdReward } from '../types/RewardedAdReward';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
import { GAMAdEventType } from '../GAMAdEventType';
|
|
12
|
+
import { AppEvent } from '../types/AppEvent';
|
|
13
|
+
declare type EventType = AdEventType | RewardedAdEventType | GAMAdEventType;
|
|
14
|
+
export declare abstract class MobileAd implements MobileAdInterface {
|
|
15
|
+
protected _type: 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial';
|
|
16
|
+
protected _googleMobileAds: MobileAdsModuleInterface;
|
|
17
|
+
protected _requestId: number;
|
|
18
|
+
protected _adUnitId: string;
|
|
19
|
+
protected _requestOptions: RequestOptions;
|
|
20
|
+
protected _loaded: boolean;
|
|
21
|
+
protected _isLoadCalled: boolean;
|
|
22
|
+
protected _adEventsListeners: Map<number, AdEventsListener<EventType>>;
|
|
23
|
+
protected _adEventListenersMap: Map<EventType, Map<number, AdEventListener<EventType>>>;
|
|
24
|
+
protected _adEventsListenerId: number;
|
|
25
|
+
protected _adEventListenerId: number;
|
|
26
|
+
protected _nativeListener: EmitterSubscription;
|
|
27
|
+
protected constructor(type: 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial', googleMobileAds: MobileAdsModuleInterface, requestId: number, adUnitId: string, requestOptions: RequestOptions);
|
|
28
|
+
protected _handleAdEvent(event: {
|
|
20
29
|
body: {
|
|
21
|
-
type:
|
|
30
|
+
type: EventType;
|
|
22
31
|
error?: {
|
|
23
32
|
code: string;
|
|
24
33
|
message: string;
|
|
25
34
|
};
|
|
26
|
-
data?: RewardedAdReward;
|
|
35
|
+
data?: RewardedAdReward | AppEvent;
|
|
27
36
|
};
|
|
28
37
|
}): void;
|
|
29
|
-
|
|
38
|
+
protected _addAdEventsListener<T extends EventType>(listener: AdEventsListener<T>): () => void;
|
|
39
|
+
protected _addAdEventListener<T extends EventType>(type: T, listener: AdEventListener<T>): () => void;
|
|
40
|
+
protected _getAdEventListeners<T extends EventType>(type: T): Map<number, AdEventListener<T>>;
|
|
41
|
+
protected get _className(): string;
|
|
42
|
+
protected get _camelCaseType(): "appOpen" | "interstitial" | "rewarded" | "rewardedInterstitial";
|
|
43
|
+
load(): void;
|
|
44
|
+
show(showOptions?: AdShowOptions): Promise<void>;
|
|
45
|
+
abstract addAdEventsListener<T extends never>(listener: AdEventsListener<T>): () => void;
|
|
46
|
+
abstract addAdEventListener<T extends never>(type: T, listener: AdEventListener<T>): void;
|
|
47
|
+
removeAllListeners(): void;
|
|
30
48
|
get adUnitId(): string;
|
|
31
49
|
get loaded(): boolean;
|
|
32
50
|
}
|
|
51
|
+
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { MobileAd } from './MobileAd';
|
|
2
|
+
import { AdEventType } from '../AdEventType';
|
|
3
|
+
import { RewardedAdEventType } from '../RewardedAdEventType';
|
|
2
4
|
import { AdEventListener } from '../types/AdEventListener';
|
|
3
|
-
import {
|
|
5
|
+
import { AdEventsListener } from '../types/AdEventsListener';
|
|
4
6
|
import { RequestOptions } from '../types/RequestOptions';
|
|
5
|
-
import { MobileAdInterface } from '../types/MobileAd.interface';
|
|
6
7
|
/**
|
|
7
8
|
* A class for interacting and showing Rewarded Ads.
|
|
8
9
|
*
|
|
@@ -35,13 +36,11 @@ import { MobileAdInterface } from '../types/MobileAd.interface';
|
|
|
35
36
|
* ```js
|
|
36
37
|
* import { RewardedAdEventType } from 'react-native-google-mobile-ads';
|
|
37
38
|
*
|
|
38
|
-
* rewarded.
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* console.log('User earned reward of ', reward);
|
|
44
|
-
* }
|
|
39
|
+
* rewarded.addAdEventListener(RewardedAdEventType.LOADED. () => {
|
|
40
|
+
* rewarded.show();
|
|
41
|
+
* });
|
|
42
|
+
* rewarded.addAdEventListener(RewardedAdEventType.EARNED_REWARD. (reward) => {
|
|
43
|
+
* console.log('User earned reward of ', reward);
|
|
45
44
|
* });
|
|
46
45
|
*
|
|
47
46
|
* rewarded.load();
|
|
@@ -50,7 +49,8 @@ import { MobileAdInterface } from '../types/MobileAd.interface';
|
|
|
50
49
|
* The rewarded advert will be presented to the user, and several more events can be triggered such as the user clicking the
|
|
51
50
|
* advert, closing it or completing the action.
|
|
52
51
|
*/
|
|
53
|
-
export declare class RewardedAd extends MobileAd
|
|
52
|
+
export declare class RewardedAd extends MobileAd {
|
|
53
|
+
protected static _rewardedRequest: number;
|
|
54
54
|
/**
|
|
55
55
|
* Creates a new RewardedAd instance.
|
|
56
56
|
*
|
|
@@ -63,12 +63,11 @@ export declare class RewardedAd extends MobileAd implements MobileAdInterface {
|
|
|
63
63
|
* requestAgent: 'CoolAds',
|
|
64
64
|
* });
|
|
65
65
|
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* }
|
|
66
|
+
* rewarded.addAdEventListener(RewardedAdEventType.LOADED. () => {
|
|
67
|
+
* rewarded.show();
|
|
68
|
+
* });
|
|
69
|
+
* rewarded.addAdEventListener(RewardedAdEventType.EARNED_REWARD. (reward) => {
|
|
70
|
+
* console.log('User earned reward of ', reward);
|
|
72
71
|
* });
|
|
73
72
|
*
|
|
74
73
|
* rewardedAd.load();
|
|
@@ -78,7 +77,6 @@ export declare class RewardedAd extends MobileAd implements MobileAdInterface {
|
|
|
78
77
|
* @param requestOptions Optional RequestOptions used to load the ad.
|
|
79
78
|
*/
|
|
80
79
|
static createForAdRequest(adUnitId: string, requestOptions?: RequestOptions): RewardedAd;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
show(showOptions?: AdShowOptions): Promise<void>;
|
|
80
|
+
addAdEventsListener<T extends AdEventType | RewardedAdEventType>(listener: AdEventsListener<T>): () => void;
|
|
81
|
+
addAdEventListener<T extends AdEventType | RewardedAdEventType>(type: T, listener: AdEventListener<T>): () => void;
|
|
84
82
|
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { MobileAd } from './MobileAd';
|
|
2
|
+
import { AdEventType } from '../AdEventType';
|
|
3
|
+
import { RewardedAdEventType } from '../RewardedAdEventType';
|
|
4
|
+
import { AdEventListener } from '../types/AdEventListener';
|
|
5
|
+
import { AdEventsListener } from '../types/AdEventsListener';
|
|
6
|
+
import { RequestOptions } from '../types/RequestOptions';
|
|
7
|
+
/**
|
|
8
|
+
* A class for interacting and showing Rewarded Interstitial Ads.
|
|
9
|
+
*
|
|
10
|
+
* 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
|
|
11
|
+
* in a game. The content of a rewarded interstital advert can be controlled via your Google Mobile Ads dashboard. Typically users are rewarded
|
|
12
|
+
* after completing a specific advert action (e.g. watching a video or submitting an option via an interactive form).
|
|
13
|
+
* Events (such as the user earning a reward or closing a rewarded interstital advert early) are sent back for you to handle accordingly
|
|
14
|
+
* within your application.
|
|
15
|
+
*
|
|
16
|
+
* #### Example
|
|
17
|
+
*
|
|
18
|
+
* First create a new Rewarded Interstitial instance, passing in your Ad Unit ID from the Google Mobile Ads configuration console, and any additional
|
|
19
|
+
* request options. The example below will present a test advert, and only request a non-personalized ad.
|
|
20
|
+
*
|
|
21
|
+
* ```js
|
|
22
|
+
* import { RewardedInterstitialAd, TestIds } from 'react-native-google-mobile-ads';
|
|
23
|
+
*
|
|
24
|
+
* const rewardedInterstitial = RewardedInterstitialAd.createForAdRequest(TestIds.REWARDED_INTERSTITIAL, {
|
|
25
|
+
* requestNonPersonalizedAdsOnly: true,
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* Each advert needs to be loaded from Google Mobile Ads before being shown. It is recommended this is performed before the user
|
|
30
|
+
* reaches the checkpoint to show the advert, so it's ready to go. Before loading the advert, we need to setup
|
|
31
|
+
* event listeners to listen for updates from Google Mobile Ads, such as advert loaded or failed to load.
|
|
32
|
+
*
|
|
33
|
+
* Event types match the `AdEventType` or `RewardedAdEventType` interface. The potential user reward for rewarded interstitial
|
|
34
|
+
* adverts are passed back to the event handler on advert load and when the user earns the reward.
|
|
35
|
+
*
|
|
36
|
+
* ```js
|
|
37
|
+
* import { RewardedAdEventType } from 'react-native-google-mobile-ads';
|
|
38
|
+
*
|
|
39
|
+
* rewardedInterstitial.addAdEventListener(RewardedAdEventType.LOADED. () => {
|
|
40
|
+
* rewarded.show();
|
|
41
|
+
* });
|
|
42
|
+
* rewardedInterstitial.addAdEventListener(RewardedAdEventType.EARNED_REWARD. (reward) => {
|
|
43
|
+
* console.log('User earned reward of ', reward);
|
|
44
|
+
* });
|
|
45
|
+
*
|
|
46
|
+
* rewardedInterstitial.load();
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* The rewarded interstitial advert will be presented to the user, and several more events can be triggered such as the user clicking the
|
|
50
|
+
* advert, closing it or completing the action.
|
|
51
|
+
*/
|
|
52
|
+
export declare class RewardedInterstitialAd extends MobileAd {
|
|
53
|
+
protected static _rewardedInterstitialRequest: number;
|
|
54
|
+
/**
|
|
55
|
+
* Creates a new RewardedInterstitialAd instance.
|
|
56
|
+
*
|
|
57
|
+
* #### Example
|
|
58
|
+
*
|
|
59
|
+
* ```js
|
|
60
|
+
* import { RewardedInterstitialAd, RewardedAdEventType, TestIds } from 'react-native-google-mobile-ads';
|
|
61
|
+
*
|
|
62
|
+
* const rewardedInterstitialAd = await RewardedInterstitialAd.createForAdRequest(TestIds.REWARDED_INTERSTITIAL, {
|
|
63
|
+
* requestAgent: 'CoolAds',
|
|
64
|
+
* });
|
|
65
|
+
*
|
|
66
|
+
* rewardedInterstitialAd.addAdEventListener(RewardedAdEventType.LOADED. () => {
|
|
67
|
+
* rewardedInterstitialAd.show();
|
|
68
|
+
* });
|
|
69
|
+
* rewardedInterstitialAd.addAdEventListener(RewardedAdEventType.EARNED_REWARD. (reward) => {
|
|
70
|
+
* console.log('User earned reward of ', reward);
|
|
71
|
+
* });
|
|
72
|
+
*
|
|
73
|
+
* rewardedInterstitialAd.load();
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @param adUnitId The Ad Unit ID for the Rewarded Interstitial Ad. You can find this on your Google Mobile Ads dashboard.
|
|
77
|
+
* @param requestOptions Optional RequestOptions used to load the ad.
|
|
78
|
+
*/
|
|
79
|
+
static createForAdRequest(adUnitId: string, requestOptions?: RequestOptions): RewardedInterstitialAd;
|
|
80
|
+
addAdEventsListener<T extends AdEventType | RewardedAdEventType>(listener: AdEventsListener<T>): () => void;
|
|
81
|
+
addAdEventListener<T extends AdEventType | RewardedAdEventType>(type: T, listener: AdEventListener<T>): () => void;
|
|
82
|
+
}
|
|
@@ -6,4 +6,4 @@ import { RequestOptions } from '../types/RequestOptions';
|
|
|
6
6
|
* @param adUnitId The Ad Unit ID for the App Open Ad. You can find this on your Google Mobile Ads dashboard. You can destroy ad instance by setting this value to null.
|
|
7
7
|
* @param requestOptions Optional RequestOptions used to load the ad.
|
|
8
8
|
*/
|
|
9
|
-
export declare function useAppOpenAd(adUnitId: string | null, requestOptions?: RequestOptions): Omit<AdHookReturns, '
|
|
9
|
+
export declare function useAppOpenAd(adUnitId: string | null, requestOptions?: RequestOptions): Omit<AdHookReturns, 'reward' | 'isEarnedReward'>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AppOpenAd } from '../ads/AppOpenAd';
|
|
2
2
|
import { InterstitialAd } from '../ads/InterstitialAd';
|
|
3
3
|
import { RewardedAd } from '../ads/RewardedAd';
|
|
4
|
+
import { RewardedInterstitialAd } from '../ads/RewardedInterstitialAd';
|
|
4
5
|
import { AdHookReturns } from '../types/AdStates';
|
|
5
|
-
export declare function useFullScreenAd<T extends InterstitialAd | RewardedAd |
|
|
6
|
+
export declare function useFullScreenAd<T extends AppOpenAd | InterstitialAd | RewardedAd | RewardedInterstitialAd | null>(ad: T): AdHookReturns;
|
|
@@ -6,4 +6,4 @@ import { RequestOptions } from '../types/RequestOptions';
|
|
|
6
6
|
* @param adUnitId The Ad Unit ID for the Interstitial Ad. You can find this on your Google Mobile Ads dashboard. You can destroy ad instance by setting this value to null.
|
|
7
7
|
* @param requestOptions Optional RequestOptions used to load the ad.
|
|
8
8
|
*/
|
|
9
|
-
export declare function useInterstitialAd(adUnitId: string | null, requestOptions?: RequestOptions): Omit<AdHookReturns, '
|
|
9
|
+
export declare function useInterstitialAd(adUnitId: string | null, requestOptions?: RequestOptions): Omit<AdHookReturns, 'reward' | 'isEarnedReward'>;
|
|
@@ -6,4 +6,4 @@ import { RequestOptions } from '../types/RequestOptions';
|
|
|
6
6
|
* @param adUnitId The Ad Unit ID for the Rewarded Ad. You can find this on your Google Mobile Ads dashboard. You can destroy ad instance by setting this value to null.
|
|
7
7
|
* @param requestOptions Optional RequestOptions used to load the ad.
|
|
8
8
|
*/
|
|
9
|
-
export declare function useRewardedAd(adUnitId: string | null, requestOptions?: RequestOptions):
|
|
9
|
+
export declare function useRewardedAd(adUnitId: string | null, requestOptions?: RequestOptions): AdHookReturns;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AdHookReturns } from '../types/AdStates';
|
|
2
|
+
import { RequestOptions } from '../types/RequestOptions';
|
|
3
|
+
/**
|
|
4
|
+
* React Hook for Rewarded Interstitial Ad.
|
|
5
|
+
*
|
|
6
|
+
* @param adUnitId The Ad Unit ID for the Rewarded Interstitial Ad. You can find this on your Google Mobile Ads dashboard. You can destroy ad instance by setting this value to null.
|
|
7
|
+
* @param requestOptions Optional RequestOptions used to load the ad.
|
|
8
|
+
*/
|
|
9
|
+
export declare function useRewardedInterstitialAd(adUnitId: string | null, requestOptions?: RequestOptions): AdHookReturns;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "
|
|
1
|
+
export declare const SDK_VERSION = "6.1.0";
|
|
2
2
|
export { default, MobileAds } from './MobileAds';
|
|
3
3
|
export { AdsConsentDebugGeography } from './AdsConsentDebugGeography';
|
|
4
4
|
export { AdsConsentPurposes } from './AdsConsentPurposes';
|
|
@@ -8,12 +8,18 @@ export { MaxAdContentRating } from './MaxAdContentRating';
|
|
|
8
8
|
export { TestIds } from './TestIds';
|
|
9
9
|
export { AdEventType } from './AdEventType';
|
|
10
10
|
export { BannerAdSize } from './BannerAdSize';
|
|
11
|
+
export { GAMAdEventType } from './GAMAdEventType';
|
|
11
12
|
export { RewardedAdEventType } from './RewardedAdEventType';
|
|
12
13
|
export { AdsConsent } from './AdsConsent';
|
|
13
14
|
export { AppOpenAd } from './ads/AppOpenAd';
|
|
14
15
|
export { InterstitialAd } from './ads/InterstitialAd';
|
|
15
16
|
export { RewardedAd } from './ads/RewardedAd';
|
|
17
|
+
export { RewardedInterstitialAd } from './ads/RewardedInterstitialAd';
|
|
16
18
|
export { BannerAd } from './ads/BannerAd';
|
|
19
|
+
export { GAMBannerAd } from './ads/GAMBannerAd';
|
|
20
|
+
export { GAMInterstitialAd } from './ads/GAMInterstitialAd';
|
|
17
21
|
export { useAppOpenAd } from './hooks/useAppOpenAd';
|
|
18
22
|
export { useInterstitialAd } from './hooks/useInterstitialAd';
|
|
19
23
|
export { useRewardedAd } from './hooks/useRewardedAd';
|
|
24
|
+
export { useRewardedInterstitialAd } from './hooks/useRewardedInterstitialAd';
|
|
25
|
+
export * from './types';
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { AdEventType } from '../AdEventType';
|
|
2
|
-
import {
|
|
2
|
+
import { GAMAdEventType } from '../GAMAdEventType';
|
|
3
3
|
import { RewardedAdEventType } from '../RewardedAdEventType';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* @param error An optional JavaScript Error containing the error code and message.
|
|
9
|
-
* @param data Optional data for the event, e.g. reward type and amount
|
|
10
|
-
*/
|
|
11
|
-
export declare type AdEventListener = (type: AdEventType | RewardedAdEventType, error?: Error, data?: RewardedAdReward) => void;
|
|
4
|
+
import { AppEvent } from './AppEvent';
|
|
5
|
+
import { RewardedAdReward } from './RewardedAdReward';
|
|
6
|
+
export declare type AdEventPayload<T extends AdEventType | RewardedAdEventType | GAMAdEventType = never> = T extends AdEventType.ERROR ? Error : T extends RewardedAdEventType ? RewardedAdReward : T extends GAMAdEventType ? AppEvent : undefined;
|
|
7
|
+
export declare type AdEventListener<T extends AdEventType | RewardedAdEventType | GAMAdEventType = never> = (payload: AdEventPayload<T>) => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AdEventType } from '../AdEventType';
|
|
2
|
+
import { GAMAdEventType } from '../GAMAdEventType';
|
|
3
|
+
import { RewardedAdEventType } from '../RewardedAdEventType';
|
|
4
|
+
import { AdEventPayload } from './AdEventListener';
|
|
5
|
+
export declare type AdEventsListener<T extends AdEventType | RewardedAdEventType | GAMAdEventType = never> = (eventInfo: {
|
|
6
|
+
type: T;
|
|
7
|
+
payload: AdEventPayload<T>;
|
|
8
|
+
}) => void;
|