UNPKG

react-native-ad-manager

Version:

A react-native component for Google Ad Manager banners, interstitials and native ads.

67 lines (66 loc) 2.75 kB
import React from 'react'; import { ViewProps, NativeSyntheticEvent, EventSubscription } from 'react-native'; import type { IAdManagerEventBase, IAdManagerEventAppEvent, IAdManagerEventLoadedBanner, IAdManagerEventSize } from './AdManagerEvent'; import type { IAdManagerTargeting } from './AdManagerTypes'; interface IAdManagerBannerPropsBase extends ViewProps { /** * DFP iOS library banner size constants * (https://developers.google.com/admob/ios/banner) * banner (320x50, Standard Banner for Phones and Tablets) * fullBanner (468x60, IAB Full-Size Banner for Tablets) * largeBanner (320x100, Large Banner for Phones and Tablets) * mediumRectangle (300x250, IAB Medium Rectangle for Phones and Tablets) * leaderboard (728x90, IAB Leaderboard for Tablets) * skyscraper (120x600, Skyscraper size for the iPad. Mediation only. AdMob/Google does not offer this size) * fluid (An ad size that spans the full width of its container, with a height dynamically determined by the ad) * {\d}x{\d} (Dynamic size determined byt the user, 300x250, 300x100 etc.) * * banner is default */ adSize?: string; /** * Optional array specifying all valid sizes that are appropriate for this slot. */ validAdSizes?: string[]; /** * DFP ad unit ID */ adUnitID?: string; /** * Array of test devices. Use Banner.simulatorId for the simulator */ testDevices?: string[]; targeting?: IAdManagerTargeting; } interface IAdManagerBannerProps extends IAdManagerBannerPropsBase { onError?: (eventData: Error) => void; /** * DFP library events */ onSizeChange?: (event: IAdManagerEventSize) => void; onAdLoaded?: (event: IAdManagerEventLoadedBanner) => void; onAdFailedToLoad?: (error: Error) => void; onAppEvent?: (event: IAdManagerEventAppEvent) => void; onAdOpened?: (event: IAdManagerEventBase) => void; onAdClosed?: (event: IAdManagerEventBase) => void; onAdRecordImpression?: (event: IAdManagerEventBase) => void; } interface IAdManagerBannerState { style: { width?: number; height?: number; }; error: Error | null; } export declare class Banner extends React.Component<IAdManagerBannerProps, IAdManagerBannerState> { hasOnErrorFromParent: boolean; customListener: EventSubscription | undefined; constructor(props: IAdManagerBannerProps); shouldComponentUpdate(nextProps: IAdManagerBannerProps, nextState: IAdManagerBannerState): boolean; componentDidMount(): void; componentWillUnmount(): void; loadBanner(): void; handleSizeChange({ nativeEvent }: NativeSyntheticEvent<IAdManagerEventSize>): void; render(): JSX.Element; } export {};