react-native-applovin-max 5.7.2 → 6.0.1
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/README.md +1 -1
- package/android/build.gradle +2 -2
- package/android/src/main/java/com/applovin/mediation/adapters/GoogleAdManagerMediationAdapter.java.saved +1616 -0
- package/android/src/main/java/com/applovin/mediation/adapters/{GoogleMediationAdapter.java.saved → GoogleMediationAdapter.java.old} +126 -49
- package/android/src/main/java/com/applovin/mediation/adapters/MintegralMediationAdapter.java.old +1481 -0
- package/ios/AppLovinMAX.m +1 -9
- package/ios/AppLovinMAX.xcodeproj/project.pbxproj +4 -4
- package/ios/AppLovinMAX.xcworkspace/xcuserdata/hiroshi.watanabe.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/AppLovinMAXNativeAdView.m +8 -1
- package/ios/Podfile +2 -2
- package/ios/Podfile.lock +5 -5
- package/package.json +2 -1
- package/react-native-applovin-max.podspec +2 -2
- package/src/AdView.tsx +251 -0
- package/src/AppLovinMAX.ts +24 -0
- package/src/AppOpenAd.ts +128 -0
- package/src/BannerAd.ts +175 -0
- package/src/EventEmitter.ts +27 -0
- package/src/InterstitialAd.ts +128 -0
- package/src/MRecAd.ts +147 -0
- package/src/Privacy.ts +6 -0
- package/src/RewardedAd.ts +144 -0
- package/src/TargetingData.ts +214 -0
- package/src/index.ts +21 -0
- package/src/nativeAd/NativeAdView.tsx +162 -0
- package/src/nativeAd/NativeAdViewComponents.tsx +185 -0
- package/src/nativeAd/NativeAdViewProvider.tsx +35 -0
- package/src/types/AdEvent.ts +26 -0
- package/src/types/AdInfo.ts +348 -0
- package/src/types/AdProps.ts +60 -0
- package/src/types/AdViewProps.ts +36 -0
- package/src/types/AppLovinMAX.ts +87 -0
- package/src/types/AppOpenAd.ts +3 -0
- package/src/types/BannerAd.ts +47 -0
- package/src/types/Configuration.ts +11 -0
- package/src/types/FullscreenAd.ts +141 -0
- package/src/types/InterstitialAd.ts +3 -0
- package/src/types/MRecAd.ts +13 -0
- package/src/types/NativeAd.ts +50 -0
- package/src/types/NativeAdViewProps.ts +17 -0
- package/src/types/Privacy.ts +74 -0
- package/src/types/RewardedAd.ts +20 -0
- package/src/types/TargetingData.ts +51 -0
- package/src/types/ViewAd.ts +162 -0
- package/src/types/index.ts +4 -0
- package/src/AppLovinMAXAdView.js +0 -231
- package/src/AppLovinMAXEventListeners.js +0 -419
- package/src/NativeAdComponents.js +0 -208
- package/src/NativeAdView.js +0 -164
- package/src/NativeAdViewProvider.js +0 -19
- package/src/TargetingData.js +0 -104
- package/src/index.js +0 -291
package/src/BannerAd.ts
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { NativeModules } from "react-native";
|
|
2
|
+
import { addEventListener, removeEventListener } from "./EventEmitter"
|
|
3
|
+
import type { AdInfo, AdLoadFailedInfo, AdRevenueInfo } from "./types/AdInfo";
|
|
4
|
+
import type { BannerAdType } from "./types/BannerAd";
|
|
5
|
+
import type { AdViewPosition } from "./AdView";
|
|
6
|
+
|
|
7
|
+
const { AppLovinMAX } = NativeModules;
|
|
8
|
+
|
|
9
|
+
const {
|
|
10
|
+
ON_BANNER_AD_LOADED_EVENT,
|
|
11
|
+
ON_BANNER_AD_LOAD_FAILED_EVENT,
|
|
12
|
+
ON_BANNER_AD_CLICKED_EVENT,
|
|
13
|
+
ON_BANNER_AD_COLLAPSED_EVENT,
|
|
14
|
+
ON_BANNER_AD_EXPANDED_EVENT,
|
|
15
|
+
ON_BANNER_AD_REVENUE_PAID,
|
|
16
|
+
} = AppLovinMAX.getConstants();
|
|
17
|
+
|
|
18
|
+
const createAd = (adUnitId: string, position: AdViewPosition, xOffset?: number, yOffset?: number): void => {
|
|
19
|
+
AppLovinMAX.createBannerWithOffsets(adUnitId, position, xOffset ?? 0, yOffset ?? 0);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const destroyAd = (adUnitId: string): void => {
|
|
23
|
+
AppLovinMAX.destroyBanner(adUnitId);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const showAd = (adUnitId: string): void => {
|
|
27
|
+
AppLovinMAX.showBanner(adUnitId);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const hideAd = (adUnitId: string): void => {
|
|
31
|
+
AppLovinMAX.hideBanner(adUnitId);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const setPlacement = (adUnitId: string, placement: string | null): void => {
|
|
35
|
+
AppLovinMAX.setBannerPlacement(adUnitId, placement);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const setCustomData = (adUnitId: string, customData: string | null): void => {
|
|
39
|
+
AppLovinMAX.setBannerCustomData(adUnitId, customData);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const updatePosition = (adUnitId: string, bannerPosition: AdViewPosition): void => {
|
|
43
|
+
AppLovinMAX.updateBannerPosition(adUnitId, bannerPosition);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const setExtraParameter = (adUnitId: string, key: string, value: any): void => {
|
|
47
|
+
AppLovinMAX.setBannerExtraParameter(adUnitId, key, value);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const setLocalExtraParameter = (adUnitId: string, key: string, value: any): void => {
|
|
51
|
+
AppLovinMAX.setBannerLocalExtraParameter(adUnitId, { [key]: value });
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const startAutoRefresh = (adUnitId: string): void => {
|
|
55
|
+
AppLovinMAX.startBannerAutoRefresh(adUnitId);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const stopAutoRefresh = (adUnitId: string): void => {
|
|
59
|
+
AppLovinMAX.stopBannerAutoRefresh(adUnitId);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const addAdLoadedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
63
|
+
addEventListener(ON_BANNER_AD_LOADED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const removeAdLoadedEventListener = () => {
|
|
67
|
+
removeEventListener(ON_BANNER_AD_LOADED_EVENT);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const addAdLoadFailedEventListener = (listener: (errorInfo: AdLoadFailedInfo) => void) => {
|
|
71
|
+
addEventListener(ON_BANNER_AD_LOAD_FAILED_EVENT, (errorInfo: AdLoadFailedInfo) => listener(errorInfo));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const removeAdLoadFailedEventListener = () => {
|
|
75
|
+
removeEventListener(ON_BANNER_AD_LOAD_FAILED_EVENT);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const addAdClickedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
79
|
+
addEventListener(ON_BANNER_AD_CLICKED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const removeAdClickedEventListener = () => {
|
|
83
|
+
removeEventListener(ON_BANNER_AD_CLICKED_EVENT);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const addAdCollapsedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
87
|
+
addEventListener(ON_BANNER_AD_COLLAPSED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const removeAdCollapsedEventListener = () => {
|
|
91
|
+
removeEventListener(ON_BANNER_AD_COLLAPSED_EVENT);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const addAdExpandedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
95
|
+
addEventListener(ON_BANNER_AD_EXPANDED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const removeAdExpandedEventListener = () => {
|
|
99
|
+
removeEventListener(ON_BANNER_AD_EXPANDED_EVENT);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const addAdRevenuePaidListener = (listener: (adInfo: AdRevenueInfo) => void) => {
|
|
103
|
+
addEventListener(ON_BANNER_AD_REVENUE_PAID, (adInfo: AdRevenueInfo) => listener(adInfo));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const removeAdRevenuePaidListener = () => {
|
|
107
|
+
removeEventListener(ON_BANNER_AD_REVENUE_PAID);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Banner specific APIs
|
|
111
|
+
|
|
112
|
+
const setBackgroundColor = (adUnitId: string, hexColorCode: string): void => {
|
|
113
|
+
AppLovinMAX.setBannerBackgroundColor(adUnitId, hexColorCode);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const setWidth = (adUnitId: string, width: number): void => {
|
|
117
|
+
AppLovinMAX.setBannerWidth(adUnitId, width);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const updateOffsets = (adUnitId: string, xOffset: number, yOffset: number): void => {
|
|
121
|
+
AppLovinMAX.updateBannerOffsets(adUnitId, xOffset, yOffset);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const getAdaptiveHeightForWidth = (width: number): Promise<number> => {
|
|
125
|
+
return AppLovinMAX.getAdaptiveBannerHeightForWidth(width);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export const BannerAd: BannerAdType = {
|
|
129
|
+
createAd,
|
|
130
|
+
destroyAd,
|
|
131
|
+
|
|
132
|
+
showAd,
|
|
133
|
+
hideAd,
|
|
134
|
+
|
|
135
|
+
setPlacement,
|
|
136
|
+
setCustomData,
|
|
137
|
+
|
|
138
|
+
updatePosition,
|
|
139
|
+
|
|
140
|
+
setExtraParameter,
|
|
141
|
+
setLocalExtraParameter,
|
|
142
|
+
|
|
143
|
+
startAutoRefresh,
|
|
144
|
+
stopAutoRefresh,
|
|
145
|
+
|
|
146
|
+
addAdLoadedEventListener,
|
|
147
|
+
removeAdLoadedEventListener,
|
|
148
|
+
|
|
149
|
+
addAdLoadFailedEventListener,
|
|
150
|
+
removeAdLoadFailedEventListener,
|
|
151
|
+
|
|
152
|
+
addAdClickedEventListener,
|
|
153
|
+
removeAdClickedEventListener,
|
|
154
|
+
|
|
155
|
+
addAdCollapsedEventListener,
|
|
156
|
+
removeAdCollapsedEventListener,
|
|
157
|
+
|
|
158
|
+
addAdExpandedEventListener,
|
|
159
|
+
removeAdExpandedEventListener,
|
|
160
|
+
|
|
161
|
+
addAdRevenuePaidListener,
|
|
162
|
+
removeAdRevenuePaidListener,
|
|
163
|
+
|
|
164
|
+
// Banner specific APIs
|
|
165
|
+
|
|
166
|
+
setBackgroundColor,
|
|
167
|
+
|
|
168
|
+
setWidth,
|
|
169
|
+
|
|
170
|
+
updateOffsets,
|
|
171
|
+
|
|
172
|
+
getAdaptiveHeightForWidth,
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export default BannerAd;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { NativeModules, NativeEventEmitter } from "react-native";
|
|
2
|
+
import type { EventSubscription } from "react-native";
|
|
3
|
+
import type { AdEventObject, AdEventListener } from "./types/AdEvent";
|
|
4
|
+
|
|
5
|
+
const { AppLovinMAX } = NativeModules;
|
|
6
|
+
|
|
7
|
+
// Note that this is a singleton in ES6 module
|
|
8
|
+
const emitter = new NativeEventEmitter(AppLovinMAX);
|
|
9
|
+
|
|
10
|
+
const subscriptions: Record<string, EventSubscription> = { };
|
|
11
|
+
|
|
12
|
+
export const addEventListener = <T extends AdEventObject>(event: string, handler: AdEventListener<T>) => {
|
|
13
|
+
let subscription: EventSubscription = emitter.addListener(event, handler);
|
|
14
|
+
let currentSubscription = subscriptions[event];
|
|
15
|
+
if (currentSubscription) {
|
|
16
|
+
currentSubscription.remove();
|
|
17
|
+
}
|
|
18
|
+
subscriptions[event] = subscription;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const removeEventListener = (event: string) => {
|
|
22
|
+
let currentSubscription = subscriptions[event];
|
|
23
|
+
if (currentSubscription) {
|
|
24
|
+
currentSubscription.remove();
|
|
25
|
+
delete subscriptions[event];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { NativeModules } from "react-native";
|
|
2
|
+
import { addEventListener, removeEventListener } from "./EventEmitter"
|
|
3
|
+
import type { AdDisplayFailedInfo, AdInfo, AdLoadFailedInfo, AdRevenueInfo } from "./types/AdInfo";
|
|
4
|
+
import type { InterstitialAdType } from "./types/InterstitialAd";
|
|
5
|
+
|
|
6
|
+
const { AppLovinMAX } = NativeModules;
|
|
7
|
+
|
|
8
|
+
const {
|
|
9
|
+
ON_INTERSTITIAL_LOADED_EVENT,
|
|
10
|
+
ON_INTERSTITIAL_LOAD_FAILED_EVENT,
|
|
11
|
+
ON_INTERSTITIAL_CLICKED_EVENT,
|
|
12
|
+
ON_INTERSTITIAL_DISPLAYED_EVENT,
|
|
13
|
+
ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT,
|
|
14
|
+
ON_INTERSTITIAL_HIDDEN_EVENT,
|
|
15
|
+
ON_INTERSTITIAL_AD_REVENUE_PAID,
|
|
16
|
+
} = AppLovinMAX.getConstants();
|
|
17
|
+
|
|
18
|
+
const isAdReady = (adUnitId: string): Promise<boolean> => {
|
|
19
|
+
return AppLovinMAX.isInterstitialReady(adUnitId);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const loadAd = (adUnitId: string): void => {
|
|
23
|
+
AppLovinMAX.loadInterstitial(adUnitId);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const showAd = (
|
|
27
|
+
adUnitId: string,
|
|
28
|
+
placement?: string | null,
|
|
29
|
+
customData?: string | null
|
|
30
|
+
): void => {
|
|
31
|
+
AppLovinMAX.showInterstitial(adUnitId, placement ?? null, customData ?? null);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const setExtraParameter = (adUnitId: string, key: string, value: any): void => {
|
|
35
|
+
AppLovinMAX.setInterstitialExtraParameter(adUnitId, key, value);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const setLocalExtraParameter = (adUnitId: string, key: string, value: any): void => {
|
|
39
|
+
AppLovinMAX.setInterstitialLocalExtraParameter(adUnitId, { [key]: value });
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const addAdLoadedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
43
|
+
addEventListener(ON_INTERSTITIAL_LOADED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const removeAdLoadedEventListener = () => {
|
|
47
|
+
removeEventListener(ON_INTERSTITIAL_LOADED_EVENT);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const addAdLoadFailedEventListener = (listener: (errorInfo: AdLoadFailedInfo) => void) => {
|
|
51
|
+
addEventListener(ON_INTERSTITIAL_LOAD_FAILED_EVENT, (errorInfo: AdLoadFailedInfo) => listener(errorInfo));
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const removeAdLoadFailedEventListener = () => {
|
|
55
|
+
removeEventListener(ON_INTERSTITIAL_LOAD_FAILED_EVENT);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const addAdClickedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
59
|
+
addEventListener(ON_INTERSTITIAL_CLICKED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const removeAdClickedEventListener = () => {
|
|
63
|
+
removeEventListener(ON_INTERSTITIAL_CLICKED_EVENT);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const addAdDisplayedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
67
|
+
addEventListener(ON_INTERSTITIAL_DISPLAYED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const removeAdDisplayedEventListener = () => {
|
|
71
|
+
removeEventListener(ON_INTERSTITIAL_DISPLAYED_EVENT);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const addAdFailedToDisplayEventListener = (listener: (errorInfo: AdDisplayFailedInfo) => void) => {
|
|
75
|
+
addEventListener(ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT, (errorInfo: AdDisplayFailedInfo) => listener(errorInfo));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const removeAdFailedToDisplayEventListener = () => {
|
|
79
|
+
removeEventListener(ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const addAdHiddenEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
83
|
+
addEventListener(ON_INTERSTITIAL_HIDDEN_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const removeAdHiddenEventListener = () => {
|
|
87
|
+
removeEventListener(ON_INTERSTITIAL_HIDDEN_EVENT);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const addAdRevenuePaidListener = (listener: (adInfo: AdRevenueInfo) => void) => {
|
|
91
|
+
addEventListener(ON_INTERSTITIAL_AD_REVENUE_PAID, (adInfo: AdRevenueInfo) => listener(adInfo));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const removeAdRevenuePaidListener = () => {
|
|
95
|
+
removeEventListener(ON_INTERSTITIAL_AD_REVENUE_PAID);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export const InterstitialAd: InterstitialAdType = {
|
|
99
|
+
isAdReady,
|
|
100
|
+
loadAd,
|
|
101
|
+
showAd,
|
|
102
|
+
|
|
103
|
+
setExtraParameter,
|
|
104
|
+
setLocalExtraParameter,
|
|
105
|
+
|
|
106
|
+
addAdLoadedEventListener,
|
|
107
|
+
removeAdLoadedEventListener,
|
|
108
|
+
|
|
109
|
+
addAdLoadFailedEventListener,
|
|
110
|
+
removeAdLoadFailedEventListener,
|
|
111
|
+
|
|
112
|
+
addAdClickedEventListener,
|
|
113
|
+
removeAdClickedEventListener,
|
|
114
|
+
|
|
115
|
+
addAdDisplayedEventListener,
|
|
116
|
+
removeAdDisplayedEventListener,
|
|
117
|
+
|
|
118
|
+
addAdFailedToDisplayEventListener,
|
|
119
|
+
removeAdFailedToDisplayEventListener,
|
|
120
|
+
|
|
121
|
+
addAdHiddenEventListener,
|
|
122
|
+
removeAdHiddenEventListener,
|
|
123
|
+
|
|
124
|
+
addAdRevenuePaidListener,
|
|
125
|
+
removeAdRevenuePaidListener,
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export default InterstitialAd;
|
package/src/MRecAd.ts
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { NativeModules } from "react-native";
|
|
2
|
+
import { addEventListener, removeEventListener } from "./EventEmitter"
|
|
3
|
+
import type { AdInfo, AdLoadFailedInfo, AdRevenueInfo } from "./types/AdInfo";
|
|
4
|
+
import type { MRecAdType } from "./types/MRecAd";
|
|
5
|
+
import type { AdViewPosition } from "./AdView";
|
|
6
|
+
|
|
7
|
+
const { AppLovinMAX } = NativeModules;
|
|
8
|
+
|
|
9
|
+
const {
|
|
10
|
+
ON_MREC_AD_LOADED_EVENT,
|
|
11
|
+
ON_MREC_AD_LOAD_FAILED_EVENT,
|
|
12
|
+
ON_MREC_AD_CLICKED_EVENT,
|
|
13
|
+
ON_MREC_AD_COLLAPSED_EVENT,
|
|
14
|
+
ON_MREC_AD_EXPANDED_EVENT,
|
|
15
|
+
ON_MREC_AD_REVENUE_PAID,
|
|
16
|
+
} = AppLovinMAX.getConstants();
|
|
17
|
+
|
|
18
|
+
const createAd = (adUnitId: string, position: AdViewPosition): void => {
|
|
19
|
+
AppLovinMAX.createMRec(adUnitId, position);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const destroyAd = (adUnitId: string): void => {
|
|
23
|
+
AppLovinMAX.destroyMRec(adUnitId);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const showAd = (adUnitId: string): void => {
|
|
27
|
+
AppLovinMAX.showMRec(adUnitId);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const hideAd = (adUnitId: string): void => {
|
|
31
|
+
AppLovinMAX.hideMRec(adUnitId);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const setPlacement = (adUnitId: string, placement: string | null): void => {
|
|
35
|
+
AppLovinMAX.setMRecPlacement(adUnitId, placement);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const setCustomData = (adUnitId: string, customData: string | null): void => {
|
|
39
|
+
AppLovinMAX.setMRecCustomData(adUnitId, customData);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const updatePosition = (adUnitId: string, bannerPosition: AdViewPosition): void => {
|
|
43
|
+
AppLovinMAX.updateMRecPosition(adUnitId, bannerPosition);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const setExtraParameter = (adUnitId: string, key: string, value: any): void => {
|
|
47
|
+
AppLovinMAX.setMRecExtraParameter(adUnitId, key, value);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const setLocalExtraParameter = (adUnitId: string, key: string, value: any): void => {
|
|
51
|
+
AppLovinMAX.setMRecLocalExtraParameter(adUnitId, { [key]: value });
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const startAutoRefresh = (adUnitId: string): void => {
|
|
55
|
+
AppLovinMAX.startMRecAutoRefresh(adUnitId);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const stopAutoRefresh = (adUnitId: string): void => {
|
|
59
|
+
AppLovinMAX.stopMRecAutoRefresh(adUnitId);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const addAdLoadedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
63
|
+
addEventListener(ON_MREC_AD_LOADED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const removeAdLoadedEventListener = () => {
|
|
67
|
+
removeEventListener(ON_MREC_AD_LOADED_EVENT);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const addAdLoadFailedEventListener = (listener: (errorInfo: AdLoadFailedInfo) => void) => {
|
|
71
|
+
addEventListener(ON_MREC_AD_LOAD_FAILED_EVENT, (errorInfo: AdLoadFailedInfo) => listener(errorInfo));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const removeAdLoadFailedEventListener = () => {
|
|
75
|
+
removeEventListener(ON_MREC_AD_LOAD_FAILED_EVENT);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const addAdClickedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
79
|
+
addEventListener(ON_MREC_AD_CLICKED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const removeAdClickedEventListener = () => {
|
|
83
|
+
removeEventListener(ON_MREC_AD_CLICKED_EVENT);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const addAdCollapsedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
87
|
+
addEventListener(ON_MREC_AD_COLLAPSED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const removeAdCollapsedEventListener = () => {
|
|
91
|
+
removeEventListener(ON_MREC_AD_COLLAPSED_EVENT);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const addAdExpandedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
95
|
+
addEventListener(ON_MREC_AD_EXPANDED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const removeAdExpandedEventListener = () => {
|
|
99
|
+
removeEventListener(ON_MREC_AD_EXPANDED_EVENT);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const addAdRevenuePaidListener = (listener: (adInfo: AdRevenueInfo) => void) => {
|
|
103
|
+
addEventListener(ON_MREC_AD_REVENUE_PAID, (adInfo: AdRevenueInfo) => listener(adInfo));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const removeAdRevenuePaidListener = () => {
|
|
107
|
+
removeEventListener(ON_MREC_AD_REVENUE_PAID);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export const MRecAd: MRecAdType = {
|
|
111
|
+
createAd,
|
|
112
|
+
destroyAd,
|
|
113
|
+
|
|
114
|
+
showAd,
|
|
115
|
+
hideAd,
|
|
116
|
+
|
|
117
|
+
setPlacement,
|
|
118
|
+
setCustomData,
|
|
119
|
+
|
|
120
|
+
updatePosition,
|
|
121
|
+
|
|
122
|
+
setExtraParameter,
|
|
123
|
+
setLocalExtraParameter,
|
|
124
|
+
|
|
125
|
+
startAutoRefresh,
|
|
126
|
+
stopAutoRefresh,
|
|
127
|
+
|
|
128
|
+
addAdLoadedEventListener,
|
|
129
|
+
removeAdLoadedEventListener,
|
|
130
|
+
|
|
131
|
+
addAdLoadFailedEventListener,
|
|
132
|
+
removeAdLoadFailedEventListener,
|
|
133
|
+
|
|
134
|
+
addAdClickedEventListener,
|
|
135
|
+
removeAdClickedEventListener,
|
|
136
|
+
|
|
137
|
+
addAdCollapsedEventListener,
|
|
138
|
+
removeAdCollapsedEventListener,
|
|
139
|
+
|
|
140
|
+
addAdExpandedEventListener,
|
|
141
|
+
removeAdExpandedEventListener,
|
|
142
|
+
|
|
143
|
+
addAdRevenuePaidListener,
|
|
144
|
+
removeAdRevenuePaidListener,
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export default MRecAd;
|
package/src/Privacy.ts
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { NativeModules } from "react-native";
|
|
2
|
+
import { addEventListener, removeEventListener } from "./EventEmitter"
|
|
3
|
+
import type { AdDisplayFailedInfo, AdInfo, AdLoadFailedInfo, AdRevenueInfo, AdRewardInfo } from "./types/AdInfo";
|
|
4
|
+
import type { RewardedAdType } from "./types/RewardedAd";
|
|
5
|
+
|
|
6
|
+
const { AppLovinMAX } = NativeModules;
|
|
7
|
+
|
|
8
|
+
const {
|
|
9
|
+
ON_REWARDED_AD_LOADED_EVENT,
|
|
10
|
+
ON_REWARDED_AD_LOAD_FAILED_EVENT,
|
|
11
|
+
ON_REWARDED_AD_CLICKED_EVENT,
|
|
12
|
+
ON_REWARDED_AD_DISPLAYED_EVENT,
|
|
13
|
+
ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT,
|
|
14
|
+
ON_REWARDED_AD_HIDDEN_EVENT,
|
|
15
|
+
ON_REWARDED_AD_RECEIVED_REWARD_EVENT,
|
|
16
|
+
ON_REWARDED_AD_REVENUE_PAID,
|
|
17
|
+
} = AppLovinMAX.getConstants();
|
|
18
|
+
|
|
19
|
+
const isAdReady = (adUnitId: string): Promise<boolean> => {
|
|
20
|
+
return AppLovinMAX.isRewardedAdReady(adUnitId);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const loadAd = (adUnitId: string): void => {
|
|
24
|
+
AppLovinMAX.loadRewardedAd(adUnitId);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const showAd = (
|
|
28
|
+
adUnitId: string,
|
|
29
|
+
placement?: string | null,
|
|
30
|
+
customData?: string | null
|
|
31
|
+
): void => {
|
|
32
|
+
AppLovinMAX.showRewardedAd(adUnitId, placement ?? null, customData ?? null);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const setExtraParameter = (adUnitId: string, key: string, value: any): void => {
|
|
36
|
+
AppLovinMAX.setRewardedAdExtraParameter(adUnitId, key, value);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const setLocalExtraParameter = (adUnitId: string, key: string, value: any): void => {
|
|
40
|
+
AppLovinMAX.setRewardedAdLocalExtraParameter(adUnitId, { [key]: value });
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const addAdLoadedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
44
|
+
addEventListener(ON_REWARDED_AD_LOADED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const removeAdLoadedEventListener = () => {
|
|
48
|
+
removeEventListener(ON_REWARDED_AD_LOADED_EVENT);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const addAdLoadFailedEventListener = (listener: (errorInfo: AdLoadFailedInfo) => void) => {
|
|
52
|
+
addEventListener(ON_REWARDED_AD_LOAD_FAILED_EVENT, (errorInfo: AdLoadFailedInfo) => listener(errorInfo));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const removeAdLoadFailedEventListener = () => {
|
|
56
|
+
removeEventListener(ON_REWARDED_AD_LOAD_FAILED_EVENT);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const addAdClickedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
60
|
+
addEventListener(ON_REWARDED_AD_CLICKED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const removeAdClickedEventListener = () => {
|
|
64
|
+
removeEventListener(ON_REWARDED_AD_CLICKED_EVENT);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const addAdDisplayedEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
68
|
+
addEventListener(ON_REWARDED_AD_DISPLAYED_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const removeAdDisplayedEventListener = () => {
|
|
72
|
+
removeEventListener(ON_REWARDED_AD_DISPLAYED_EVENT);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const addAdFailedToDisplayEventListener = (listener: (errorInfo: AdDisplayFailedInfo) => void) => {
|
|
76
|
+
addEventListener(ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT, (errorInfo: AdDisplayFailedInfo) => listener(errorInfo));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const removeAdFailedToDisplayEventListener = () => {
|
|
80
|
+
removeEventListener(ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const addAdHiddenEventListener = (listener: (adInfo: AdInfo) => void) => {
|
|
84
|
+
addEventListener(ON_REWARDED_AD_HIDDEN_EVENT, (adInfo: AdInfo) => listener(adInfo));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const removeAdHiddenEventListener = () => {
|
|
88
|
+
removeEventListener(ON_REWARDED_AD_HIDDEN_EVENT);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const addAdRevenuePaidListener = (listener: (adInfo: AdRevenueInfo) => void) => {
|
|
92
|
+
addEventListener(ON_REWARDED_AD_REVENUE_PAID, (adInfo: AdRevenueInfo) => listener(adInfo));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const removeAdRevenuePaidListener = () => {
|
|
96
|
+
removeEventListener(ON_REWARDED_AD_REVENUE_PAID);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Rewarded specific APIs
|
|
100
|
+
|
|
101
|
+
const addAdReceivedRewardEventListener = (listener: (adInfo: AdRewardInfo) => void) => {
|
|
102
|
+
addEventListener(ON_REWARDED_AD_RECEIVED_REWARD_EVENT, (adInfo: AdRewardInfo) => listener(adInfo));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const removeAdReceivedRewardEventListener = () => {
|
|
106
|
+
removeEventListener(ON_REWARDED_AD_RECEIVED_REWARD_EVENT);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export const RewardedAd: RewardedAdType = {
|
|
110
|
+
isAdReady,
|
|
111
|
+
loadAd,
|
|
112
|
+
showAd,
|
|
113
|
+
|
|
114
|
+
setExtraParameter,
|
|
115
|
+
setLocalExtraParameter,
|
|
116
|
+
|
|
117
|
+
addAdLoadedEventListener,
|
|
118
|
+
removeAdLoadedEventListener,
|
|
119
|
+
|
|
120
|
+
addAdLoadFailedEventListener,
|
|
121
|
+
removeAdLoadFailedEventListener,
|
|
122
|
+
|
|
123
|
+
addAdClickedEventListener,
|
|
124
|
+
removeAdClickedEventListener,
|
|
125
|
+
|
|
126
|
+
addAdDisplayedEventListener,
|
|
127
|
+
removeAdDisplayedEventListener,
|
|
128
|
+
|
|
129
|
+
addAdFailedToDisplayEventListener,
|
|
130
|
+
removeAdFailedToDisplayEventListener,
|
|
131
|
+
|
|
132
|
+
addAdHiddenEventListener,
|
|
133
|
+
removeAdHiddenEventListener,
|
|
134
|
+
|
|
135
|
+
addAdRevenuePaidListener,
|
|
136
|
+
removeAdRevenuePaidListener,
|
|
137
|
+
|
|
138
|
+
// Rewarded specific APIs
|
|
139
|
+
|
|
140
|
+
addAdReceivedRewardEventListener,
|
|
141
|
+
removeAdReceivedRewardEventListener,
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export default RewardedAd;
|