react-native-google-mobile-ads
Version:
React Native Google Mobile Ads is an easy way to monetize mobile apps with targeted, in-app advertising.
93 lines (90 loc) • 2.24 kB
text/typescript
import { AdShowOptions } from './AdShowOptions';
import type { PaidEvent } from './PaidEventListener';
import { RewardedAdReward } from './RewardedAdReward';
export interface AdStates {
/**
* Whether the ad is loaded and ready to to be shown to the user.
*/
isLoaded: boolean;
/**
* Whether the ad is opened.
*/
isOpened: boolean;
/**
* Whether the user clicked the advert.
*/
isClicked: boolean;
/**
* Whether the user closed the ad and has returned back to your application.
*/
isClosed: boolean;
/**
* JavaScript Error containing the error code and message thrown by the Ad.
*/
error?: Error;
/**
* Payload from the last impression-level ad revenue event.
*/
revenue?: PaidEvent;
/**
* Loaded reward item of the Rewarded Ad.
*/
reward?: RewardedAdReward;
/**
* Whether the user earned the reward by Rewarded Ad.
*/
isEarnedReward?: boolean;
}
export interface AdHookReturns extends AdStates {
/**
* Whether your ad is showing.
* The value is equal with `isOpened && !isClosed`.
*/
isShowing: boolean;
/**
* Start loading the advert with the provided RequestOptions.
* #### Example
*
* ```jsx
* export default function App() {
* const interstitial = useInterstitialAd(TestIds.INTERSTITIAL, {
* requestNonPersonalizedAdsOnly: true,
* });
* useEffect(() => {
* interstitial.load();
* }, [interstitial.load]);
* }
* ```
*/
load: () => void;
/**
* Show the loaded advert to the user.
*
* #### Example
*
* ```jsx
* export default function App() {
* const interstitial = useInterstitialAd(TestIds.INTERSTITIAL, {
* requestNonPersonalizedAdsOnly: true,
* });
* return (
* <View>
* <Button
* title="Navigate to next screen"
* onPress={() => {
* if (interstitial.isLoaded) {
* interstitial.show();
* } else {
* navigation.navigate('NextScreen');
* }
* }}
* />
* </View>
* )
* }
* ```
*
* @param showOptions An optional `AdShowOptions` interface.
*/
show: (showOptions?: AdShowOptions) => void;
}