UNPKG

8.68 kBTypeScriptView Raw
1import PropTypes from 'prop-types';
2import * as React from 'react';
3import { View } from 'react-native';
4declare type PropsType = React.ComponentProps<typeof View> & {
5 /**
6 * AdMob iOS library banner size constants
7 * (https://developers.google.com/admob/ios/banner)
8 * banner (320x50, Standard Banner for Phones and Tablets)
9 * largeBanner (320x100, Large Banner for Phones and Tablets)
10 * mediumRectangle (300x250, IAB Medium Rectangle for Phones and Tablets)
11 * fullBanner (468x60, IAB Full-Size Banner for Tablets)
12 * leaderboard (728x90, IAB Leaderboard for Tablets)
13 * smartBannerPortrait (Screen width x 32|50|90, Smart Banner for Phones and Tablets)
14 * smartBannerLandscape (Screen width x 32|50|90, Smart Banner for Phones and Tablets)
15 *
16 * banner is default
17 */
18 bannerSize: 'banner' | 'largeBanner' | 'mediumRectangle' | 'fullBanner' | 'leaderboard' | 'smartBannerPortrait' | 'smartBannerLandscape';
19 /**
20 * AdMob ad unit ID
21 */
22 adUnitID?: string;
23 /**
24 * Test device ID
25 */
26 testDeviceID?: string;
27 /**
28 * AdMob iOS library events
29 */
30 onAdViewDidReceiveAd?: () => void;
31 onDidFailToReceiveAdWithError?: (string: any) => void;
32 onAdViewWillPresentScreen?: () => void;
33 onAdViewWillDismissScreen?: () => void;
34 onAdViewDidDismissScreen?: () => void;
35 onAdViewWillLeaveApplication?: () => void;
36};
37declare type StateType = {
38 style: {
39 width?: number;
40 height?: number;
41 };
42};
43export default class AdMobBanner extends React.Component<PropsType, StateType> {
44 static propTypes: {
45 hitSlop?: PropTypes.Validator<import("react-native").Insets | undefined> | undefined;
46 onLayout?: PropTypes.Validator<((event: import("react-native").LayoutChangeEvent) => void) | undefined> | undefined;
47 pointerEvents?: PropTypes.Validator<"box-none" | "none" | "box-only" | "auto" | undefined> | undefined;
48 removeClippedSubviews?: PropTypes.Validator<boolean | undefined> | undefined;
49 style?: PropTypes.Validator<import("react-native").StyleProp<import("react-native").ViewStyle>> | undefined;
50 testID?: PropTypes.Validator<string | undefined> | undefined;
51 nativeID?: PropTypes.Validator<string | undefined> | undefined;
52 collapsable?: PropTypes.Validator<boolean | undefined> | undefined;
53 needsOffscreenAlphaCompositing?: PropTypes.Validator<boolean | undefined> | undefined;
54 renderToHardwareTextureAndroid?: PropTypes.Validator<boolean | undefined> | undefined;
55 accessibilityViewIsModal?: PropTypes.Validator<boolean | undefined> | undefined;
56 accessibilityActions?: PropTypes.Validator<string[] | undefined> | undefined;
57 onAccessibilityAction?: PropTypes.Validator<(() => void) | undefined> | undefined;
58 shouldRasterizeIOS?: PropTypes.Validator<boolean | undefined> | undefined;
59 isTVSelectable?: PropTypes.Validator<boolean | undefined> | undefined;
60 hasTVPreferredFocus?: PropTypes.Validator<boolean | undefined> | undefined;
61 tvParallaxProperties?: PropTypes.Validator<import("react-native").TVParallaxProperties | undefined> | undefined;
62 tvParallaxShiftDistanceX?: PropTypes.Validator<number | undefined> | undefined;
63 tvParallaxShiftDistanceY?: PropTypes.Validator<number | undefined> | undefined;
64 tvParallaxTiltAngle?: PropTypes.Validator<number | undefined> | undefined;
65 tvParallaxMagnification?: PropTypes.Validator<number | undefined> | undefined;
66 onStartShouldSetResponder?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
67 onMoveShouldSetResponder?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
68 onResponderEnd?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
69 onResponderGrant?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
70 onResponderReject?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
71 onResponderMove?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
72 onResponderRelease?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
73 onResponderStart?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
74 onResponderTerminationRequest?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
75 onResponderTerminate?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
76 onStartShouldSetResponderCapture?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
77 onMoveShouldSetResponderCapture?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
78 onTouchStart?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
79 onTouchMove?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
80 onTouchEnd?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
81 onTouchCancel?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
82 onTouchEndCapture?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
83 accessible?: PropTypes.Validator<boolean | undefined> | undefined;
84 accessibilityLabel?: PropTypes.Validator<string | undefined> | undefined;
85 accessibilityRole?: PropTypes.Validator<"button" | "header" | "link" | "summary" | "image" | "text" | "none" | "search" | "keyboardkey" | "adjustable" | "imagebutton" | undefined> | undefined;
86 accessibilityStates?: PropTypes.Validator<import("react-native").AccessibilityState[] | undefined> | undefined;
87 accessibilityHint?: PropTypes.Validator<string | undefined> | undefined;
88 accessibilityComponentType?: PropTypes.Validator<"button" | "none" | "radiobutton_checked" | "radiobutton_unchecked" | undefined> | undefined;
89 accessibilityLiveRegion?: PropTypes.Validator<"none" | "polite" | "assertive" | undefined> | undefined;
90 importantForAccessibility?: PropTypes.Validator<"auto" | "yes" | "no" | "no-hide-descendants" | undefined> | undefined;
91 accessibilityElementsHidden?: PropTypes.Validator<boolean | undefined> | undefined;
92 accessibilityTraits?: PropTypes.Validator<"button" | "header" | "link" | "summary" | "image" | "text" | "none" | "search" | "adjustable" | "selected" | "disabled" | "plays" | "key" | "frequentUpdates" | "startsMedia" | "allowsDirectInteraction" | "pageTurn" | import("react-native").AccessibilityTrait[] | undefined> | undefined;
93 onAccessibilityTap?: PropTypes.Validator<(() => void) | undefined> | undefined;
94 onMagicTap?: PropTypes.Validator<(() => void) | undefined> | undefined;
95 accessibilityIgnoresInvertColors?: PropTypes.Validator<boolean | undefined> | undefined;
96 bannerSize: PropTypes.Requireable<string>;
97 adUnitID: PropTypes.Requireable<string>;
98 testDeviceID: PropTypes.Requireable<string>;
99 onAdViewDidReceiveAd: PropTypes.Requireable<(...args: any[]) => any>;
100 onDidFailToReceiveAdWithError: PropTypes.Requireable<(...args: any[]) => any>;
101 onAdViewWillPresentScreen: PropTypes.Requireable<(...args: any[]) => any>;
102 onAdViewWillDismissScreen: PropTypes.Requireable<(...args: any[]) => any>;
103 onAdViewDidDismissScreen: PropTypes.Requireable<(...args: any[]) => any>;
104 onAdViewWillLeaveApplication: PropTypes.Requireable<(...args: any[]) => any>;
105 };
106 static defaultProps: {
107 bannerSize: string;
108 };
109 state: {
110 style: {};
111 };
112 _handleSizeChange: ({ nativeEvent }: {
113 nativeEvent: {
114 width: number;
115 height: number;
116 };
117 }) => void;
118 _handleDidFailToReceiveAdWithError: ({ nativeEvent }: {
119 nativeEvent: {
120 error: string;
121 };
122 }) => void | undefined;
123 render(): JSX.Element;
124}
125export {};