UNPKG

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