react-native-applovin-max 5.7.1 → 6.0.0

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.
Files changed (56) hide show
  1. package/README.md +1 -1
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/com/applovin/mediation/adapters/GoogleAdManagerMediationAdapter.java.saved +1616 -0
  4. package/android/src/main/java/com/applovin/mediation/adapters/GoogleMediationAdapter.java.old +1788 -0
  5. package/android/src/main/java/com/applovin/mediation/adapters/MintegralMediationAdapter.java.old +1481 -0
  6. package/android/src/main/java/com/applovin/mediation/adapters/MintegralMediationAdapter.java.saved +1448 -0
  7. package/ios/AppLovinMAX.m +1 -9
  8. package/ios/AppLovinMAX.xcodeproj/project.pbxproj +4 -4
  9. package/ios/AppLovinMAX.xcworkspace/xcuserdata/hiroshi.watanabe.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  10. package/ios/AppLovinMAXNativeAdView.m +8 -1
  11. package/ios/Podfile +1 -1
  12. package/package.json +2 -1
  13. package/react-native-applovin-max.podspec +1 -1
  14. package/src/AdView.tsx +251 -0
  15. package/src/AppLovinMAX.ts +24 -0
  16. package/src/AppOpenAd.ts +128 -0
  17. package/src/BannerAd.ts +175 -0
  18. package/src/EventEmitter.ts +27 -0
  19. package/src/InterstitialAd.ts +128 -0
  20. package/src/MRecAd.ts +147 -0
  21. package/src/Privacy.ts +6 -0
  22. package/src/RewardedAd.ts +144 -0
  23. package/src/TargetingData.ts +168 -0
  24. package/src/index.ts +21 -0
  25. package/src/nativeAd/NativeAdView.tsx +161 -0
  26. package/src/nativeAd/NativeAdViewComponents.tsx +185 -0
  27. package/src/nativeAd/NativeAdViewProvider.tsx +35 -0
  28. package/src/types/AdEvent.ts +26 -0
  29. package/src/types/AdInfo.ts +348 -0
  30. package/src/types/AdProps.ts +60 -0
  31. package/src/types/AdViewProps.ts +36 -0
  32. package/src/types/AppLovinMAX.ts +86 -0
  33. package/src/types/AppOpenAd.ts +3 -0
  34. package/src/types/BannerAd.ts +47 -0
  35. package/src/types/Configuration.ts +11 -0
  36. package/src/types/FullscreenAd.ts +135 -0
  37. package/src/types/InterstitialAd.ts +3 -0
  38. package/src/types/MRecAd.ts +13 -0
  39. package/src/types/NativeAd.ts +50 -0
  40. package/src/types/NativeAdViewProps.ts +17 -0
  41. package/src/types/Privacy.ts +73 -0
  42. package/src/types/RewardedAd.ts +18 -0
  43. package/src/types/ViewAd.ts +158 -0
  44. package/src/types/index.ts +4 -0
  45. package/ios/AppLovinMAX.xcworkspace/xcuserdata/thomasso.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  46. package/ios/AppLovinMAX.xcworkspace/xcuserdata/thomasso.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -24
  47. package/src/.idea/modules.xml +0 -8
  48. package/src/.idea/src.iml +0 -8
  49. package/src/.idea/vcs.xml +0 -6
  50. package/src/AppLovinMAXAdView.js +0 -231
  51. package/src/AppLovinMAXEventListeners.js +0 -419
  52. package/src/NativeAdComponents.js +0 -208
  53. package/src/NativeAdView.js +0 -164
  54. package/src/NativeAdViewProvider.js +0 -19
  55. package/src/TargetingData.js +0 -104
  56. package/src/index.js +0 -291
@@ -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,6 @@
1
+ import { NativeModules } from "react-native";
2
+ import type { PrivacyType } from "./types/Privacy";
3
+
4
+ const { AppLovinMAX } = NativeModules;
5
+
6
+ export const Privacy: PrivacyType = AppLovinMAX;
@@ -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;
@@ -0,0 +1,168 @@
1
+ import { NativeModules } from "react-native";
2
+
3
+ const { AppLovinMAX } = NativeModules;
4
+
5
+ type NativeTargetingDataType = {
6
+ setTargetingDataYearOfBirth(value: number): void;
7
+ getTargetingDataYearOfBirth(): Promise<number>;
8
+ setTargetingDataGender(value: string): void;
9
+ getTargetingDataGender(): Promise<string>;
10
+ setTargetingDataMaximumAdContentRating(value: number): void;
11
+ getTargetingDataMaximumAdContentRating(): Promise<number>;
12
+ setTargetingDataEmail(value: string | null): void;
13
+ getTargetingDataEmail(): Promise<string | null>;
14
+ setTargetingDataPhoneNumber(value: string | null): void;
15
+ getTargetingDataPhoneNumber(): Promise<string | null>;
16
+ setTargetingDataKeywords(value: string[] | null): void;
17
+ getTargetingDataKeywords(): Promise<string[] | null>;
18
+ setTargetingDataInterests(value: string[] | null): void;
19
+ getTargetingDataInterests(): Promise<string[] | null>;
20
+ clearAllTargetingData(): void;
21
+ };
22
+
23
+ const nativeMethods: NativeTargetingDataType = AppLovinMAX;
24
+
25
+ /**
26
+ * This enumeration represents content ratings for the ads shown to users.
27
+ */
28
+ export enum AdContentRating {
29
+ None = 0,
30
+ AllAudiences = 1,
31
+ EveryoneOverTwelve = 2,
32
+ MatureAudiences = 3,
33
+ }
34
+
35
+ /**
36
+ * This enumeration represents gender.
37
+ */
38
+ export enum UserGender {
39
+ Unknown = 'U',
40
+ Female = 'F',
41
+ Male = 'M',
42
+ Other = 'O',
43
+ }
44
+
45
+ /**
46
+ * This class allows you to provide user or app data that will improve how we target ads.
47
+ */
48
+ export const TargetingData = {
49
+
50
+ /**
51
+ * Sets the year of birth of the user. Sets 0 to clear this value.
52
+ */
53
+ set yearOfBirth(value: number) {
54
+ nativeMethods.setTargetingDataYearOfBirth(value);
55
+ },
56
+
57
+ /**
58
+ * Gets the year of birth of the user.
59
+ */
60
+ get yearOfBirth(): Promise<number> {
61
+ return nativeMethods.getTargetingDataYearOfBirth();
62
+ },
63
+
64
+ /**
65
+ * Sets the gender of the user. Sets {UserGender.Unknown} to clear this value.
66
+ */
67
+ set gender(value: UserGender) {
68
+ if (value === UserGender.Unknown ||
69
+ value === UserGender.Female ||
70
+ value === UserGender.Male ||
71
+ value === UserGender.Other) {
72
+ nativeMethods.setTargetingDataGender(value);
73
+ }
74
+ },
75
+
76
+ /**
77
+ * Gets the gender of the user.
78
+ */
79
+ get gender(): Promise<UserGender> {
80
+ return nativeMethods.getTargetingDataGender().then((value: string) => {
81
+ return value as UserGender;
82
+ });
83
+ },
84
+
85
+ /**
86
+ * Sets the maximum ad content rating shown to the user. Sets {AdContentRating.None} to clear this value.
87
+ */
88
+ set maximumAdContentRating(value: AdContentRating) {
89
+ if (value === AdContentRating.None ||
90
+ value === AdContentRating.AllAudiences ||
91
+ value === AdContentRating.EveryoneOverTwelve ||
92
+ value === AdContentRating.MatureAudiences) {
93
+ nativeMethods.setTargetingDataMaximumAdContentRating(value);
94
+ }
95
+ },
96
+
97
+ /**
98
+ * Gets the maximum ad content rating shown to the user.
99
+ */
100
+ get maximumAdContentRating(): Promise<AdContentRating> {
101
+ return nativeMethods.getTargetingDataMaximumAdContentRating().then((value: number) => {
102
+ return value as AdContentRating;
103
+ });
104
+ },
105
+
106
+ /**
107
+ * Sets the email of the user. Sets null to clear this value.
108
+ */
109
+ set email(value: string | null) {
110
+ nativeMethods.setTargetingDataEmail(value);
111
+ },
112
+
113
+ /**
114
+ * Gets the email of the user.
115
+ */
116
+ get email(): Promise<string | null> {
117
+ return nativeMethods.getTargetingDataEmail();
118
+ },
119
+
120
+ /**
121
+ * Sets the phone number of the user. Sets null to clear this value.
122
+ */
123
+ set phoneNumber(value: string | null) {
124
+ nativeMethods.setTargetingDataPhoneNumber(value);
125
+ },
126
+
127
+ /**
128
+ * Gets the phone number of the user.
129
+ */
130
+ get phoneNumber(): Promise<string | null> {
131
+ return nativeMethods.getTargetingDataPhoneNumber();
132
+ },
133
+
134
+ /**
135
+ * Sets the keywords describing the application. Sets null to clear this value.
136
+ */
137
+ set keywords(value: string[] | null) {
138
+ nativeMethods.setTargetingDataKeywords(value);
139
+ },
140
+
141
+ /**
142
+ * Gets the keywords describing the application.
143
+ */
144
+ get keywords(): Promise<string[] | null> {
145
+ return nativeMethods.getTargetingDataKeywords();
146
+ },
147
+
148
+ /**
149
+ * Sets the interests of the user. Sets null to clear this value.
150
+ */
151
+ set interests(value: string[] | null) {
152
+ nativeMethods.setTargetingDataInterests(value);
153
+ },
154
+
155
+ /**
156
+ * Gets the interests of the user.
157
+ */
158
+ get interests(): Promise<string[] | null> {
159
+ return nativeMethods.getTargetingDataInterests();
160
+ },
161
+
162
+ /**
163
+ * Clear all saved data from this class.
164
+ */
165
+ clearAll(): void {
166
+ nativeMethods.clearAllTargetingData();
167
+ },
168
+ }
package/src/index.ts ADDED
@@ -0,0 +1,21 @@
1
+ export { default, AppLovinMAX } from "./AppLovinMAX";
2
+ export { Privacy } from "./Privacy";
3
+ export { TargetingData, AdContentRating, UserGender } from "./TargetingData";
4
+ export { InterstitialAd } from "./InterstitialAd";
5
+ export { RewardedAd } from "./RewardedAd";
6
+ export { AppOpenAd } from "./AppOpenAd";
7
+ export { BannerAd } from "./BannerAd";
8
+ export { MRecAd } from "./MRecAd";
9
+ export { AdView, AdFormat, AdViewPosition } from "./AdView";
10
+ export { NativeAdView } from "./nativeAd/NativeAdView";
11
+ export {
12
+ TitleView,
13
+ AdvertiserView,
14
+ BodyView,
15
+ CallToActionView,
16
+ IconView,
17
+ OptionsView,
18
+ MediaView,
19
+ StarRatingView,
20
+ } from "./nativeAd/NativeAdViewComponents";
21
+ export * from "./types";