react-native-applovin-max 8.2.0 → 9.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 (151) hide show
  1. package/android/build.gradle +13 -2
  2. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdView.java +33 -26
  3. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewManagerImpl.java +110 -0
  4. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewUiComponent.java +15 -13
  5. package/android/src/main/java/com/applovin/reactnative/{AppLovinMAXModule.java → AppLovinMAXModuleImpl.java} +107 -168
  6. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdView.java +84 -56
  7. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdViewManagerImpl.java +101 -0
  8. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXPackage.java +44 -11
  9. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXUtils.java +56 -0
  10. package/android/src/newarch/com/applovin/reactnative/AppLovinMAXAdViewManager.java +151 -0
  11. package/android/src/newarch/com/applovin/reactnative/AppLovinMAXModule.java +453 -0
  12. package/android/src/newarch/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +130 -0
  13. package/android/src/oldarch/com/applovin/reactnative/AppLovinMAXAdViewManager.java +128 -0
  14. package/android/src/oldarch/com/applovin/reactnative/AppLovinMAXModule.java +453 -0
  15. package/android/src/oldarch/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +93 -0
  16. package/ios/AppLovinMAX.h +8 -3
  17. package/ios/{AppLovinMAX.m → AppLovinMAX.mm} +66 -53
  18. package/ios/AppLovinMAXAdView.h +7 -2
  19. package/ios/AppLovinMAXAdView.mm +747 -0
  20. package/ios/{AppLovinMAXAdViewManager.m → AppLovinMAXAdViewManager.mm} +3 -2
  21. package/ios/{AppLovinMAXAdViewUIComponent.m → AppLovinMAXAdViewUIComponent.mm} +2 -1
  22. package/ios/AppLovinMAXNativeAdView.h +15 -4
  23. package/ios/AppLovinMAXNativeAdView.mm +745 -0
  24. package/ios/AppLovinMAXNativeAdViewManager.mm +116 -0
  25. package/lib/commonjs/AdView.js +61 -85
  26. package/lib/commonjs/AdView.js.map +1 -1
  27. package/lib/commonjs/AppLovinMAX.js +11 -10
  28. package/lib/commonjs/AppLovinMAX.js.map +1 -1
  29. package/lib/commonjs/AppOpenAd.js +8 -10
  30. package/lib/commonjs/AppOpenAd.js.map +1 -1
  31. package/lib/commonjs/BannerAd.js +19 -21
  32. package/lib/commonjs/BannerAd.js.map +1 -1
  33. package/lib/commonjs/ErrorCode.js +3 -5
  34. package/lib/commonjs/ErrorCode.js.map +1 -1
  35. package/lib/commonjs/EventEmitter.js +3 -5
  36. package/lib/commonjs/EventEmitter.js.map +1 -1
  37. package/lib/commonjs/InterstitialAd.js +8 -10
  38. package/lib/commonjs/InterstitialAd.js.map +1 -1
  39. package/lib/commonjs/MRecAd.js +14 -16
  40. package/lib/commonjs/MRecAd.js.map +1 -1
  41. package/lib/commonjs/Privacy.js +3 -5
  42. package/lib/commonjs/Privacy.js.map +1 -1
  43. package/lib/commonjs/RewardedAd.js +8 -10
  44. package/lib/commonjs/RewardedAd.js.map +1 -1
  45. package/lib/commonjs/Utils.js +25 -0
  46. package/lib/commonjs/Utils.js.map +1 -0
  47. package/lib/commonjs/nativeAd/NativeAdView.js +65 -42
  48. package/lib/commonjs/nativeAd/NativeAdView.js.map +1 -1
  49. package/lib/commonjs/nativeAd/NativeAdViewComponents.js +51 -47
  50. package/lib/commonjs/nativeAd/NativeAdViewComponents.js.map +1 -1
  51. package/lib/commonjs/nativeAd/NativeAdViewProvider.js +38 -8
  52. package/lib/commonjs/nativeAd/NativeAdViewProvider.js.map +1 -1
  53. package/lib/commonjs/nativeAd/img/blank_icon.png +0 -0
  54. package/lib/commonjs/specs/AppLovinMAXAdViewNativeComponent.js +14 -0
  55. package/lib/commonjs/specs/AppLovinMAXAdViewNativeComponent.js.map +1 -0
  56. package/lib/commonjs/specs/AppLovinMAXNativeAdViewNativeComponent.js +14 -0
  57. package/lib/commonjs/specs/AppLovinMAXNativeAdViewNativeComponent.js.map +1 -0
  58. package/lib/commonjs/specs/NativeAppLovinMAXModule.js +9 -0
  59. package/lib/commonjs/specs/NativeAppLovinMAXModule.js.map +1 -0
  60. package/lib/module/AdView.js +56 -81
  61. package/lib/module/AdView.js.map +1 -1
  62. package/lib/module/AppLovinMAX.js +7 -7
  63. package/lib/module/AppLovinMAX.js.map +1 -1
  64. package/lib/module/AppOpenAd.js +1 -4
  65. package/lib/module/AppOpenAd.js.map +1 -1
  66. package/lib/module/BannerAd.js +1 -4
  67. package/lib/module/BannerAd.js.map +1 -1
  68. package/lib/module/ErrorCode.js +1 -4
  69. package/lib/module/ErrorCode.js.map +1 -1
  70. package/lib/module/EventEmitter.js +2 -4
  71. package/lib/module/EventEmitter.js.map +1 -1
  72. package/lib/module/InterstitialAd.js +2 -5
  73. package/lib/module/InterstitialAd.js.map +1 -1
  74. package/lib/module/MRecAd.js +1 -4
  75. package/lib/module/MRecAd.js.map +1 -1
  76. package/lib/module/Privacy.js +1 -4
  77. package/lib/module/Privacy.js.map +1 -1
  78. package/lib/module/RewardedAd.js +2 -5
  79. package/lib/module/RewardedAd.js.map +1 -1
  80. package/lib/module/Utils.js +17 -0
  81. package/lib/module/Utils.js.map +1 -0
  82. package/lib/module/nativeAd/NativeAdView.js +63 -40
  83. package/lib/module/nativeAd/NativeAdView.js.map +1 -1
  84. package/lib/module/nativeAd/NativeAdViewComponents.js +53 -49
  85. package/lib/module/nativeAd/NativeAdViewComponents.js.map +1 -1
  86. package/lib/module/nativeAd/NativeAdViewProvider.js +39 -9
  87. package/lib/module/nativeAd/NativeAdViewProvider.js.map +1 -1
  88. package/lib/module/nativeAd/img/blank_icon.png +0 -0
  89. package/lib/module/specs/AppLovinMAXAdViewNativeComponent.js +7 -0
  90. package/lib/module/specs/AppLovinMAXAdViewNativeComponent.js.map +1 -0
  91. package/lib/module/specs/AppLovinMAXNativeAdViewNativeComponent.js +7 -0
  92. package/lib/module/specs/AppLovinMAXNativeAdViewNativeComponent.js.map +1 -0
  93. package/lib/module/specs/NativeAppLovinMAXModule.js +3 -0
  94. package/lib/module/specs/NativeAppLovinMAXModule.js.map +1 -0
  95. package/lib/typescript/src/AdView.d.ts +11 -11
  96. package/lib/typescript/src/AdView.d.ts.map +1 -1
  97. package/lib/typescript/src/AppLovinMAX.d.ts.map +1 -1
  98. package/lib/typescript/src/AppOpenAd.d.ts.map +1 -1
  99. package/lib/typescript/src/BannerAd.d.ts.map +1 -1
  100. package/lib/typescript/src/ErrorCode.d.ts.map +1 -1
  101. package/lib/typescript/src/EventEmitter.d.ts.map +1 -1
  102. package/lib/typescript/src/InterstitialAd.d.ts.map +1 -1
  103. package/lib/typescript/src/MRecAd.d.ts.map +1 -1
  104. package/lib/typescript/src/Privacy.d.ts.map +1 -1
  105. package/lib/typescript/src/RewardedAd.d.ts.map +1 -1
  106. package/lib/typescript/src/Utils.d.ts +16 -0
  107. package/lib/typescript/src/Utils.d.ts.map +1 -0
  108. package/lib/typescript/src/nativeAd/NativeAdView.d.ts.map +1 -1
  109. package/lib/typescript/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -1
  110. package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts +14 -5
  111. package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -1
  112. package/lib/typescript/src/specs/AppLovinMAXAdViewNativeComponent.d.ts +86 -0
  113. package/lib/typescript/src/specs/AppLovinMAXAdViewNativeComponent.d.ts.map +1 -0
  114. package/lib/typescript/src/specs/AppLovinMAXNativeAdViewNativeComponent.d.ts +80 -0
  115. package/lib/typescript/src/specs/AppLovinMAXNativeAdViewNativeComponent.d.ts.map +1 -0
  116. package/lib/typescript/src/specs/NativeAppLovinMAXModule.d.ts +132 -0
  117. package/lib/typescript/src/specs/NativeAppLovinMAXModule.d.ts.map +1 -0
  118. package/lib/typescript/src/types/AdInfo.d.ts +1 -1
  119. package/lib/typescript/src/types/AdInfo.d.ts.map +1 -1
  120. package/lib/typescript/src/types/AdProps.d.ts +2 -2
  121. package/lib/typescript/src/types/AdProps.d.ts.map +1 -1
  122. package/lib/typescript/src/types/NativeAd.d.ts +4 -0
  123. package/lib/typescript/src/types/NativeAd.d.ts.map +1 -1
  124. package/package.json +9 -1
  125. package/react-native-applovin-max.podspec +2 -2
  126. package/src/AdView.tsx +56 -121
  127. package/src/AppLovinMAX.ts +7 -8
  128. package/src/AppOpenAd.ts +1 -3
  129. package/src/BannerAd.ts +1 -3
  130. package/src/ErrorCode.ts +1 -3
  131. package/src/EventEmitter.ts +2 -3
  132. package/src/InterstitialAd.ts +2 -4
  133. package/src/MRecAd.ts +1 -3
  134. package/src/Privacy.ts +1 -3
  135. package/src/RewardedAd.ts +2 -4
  136. package/src/Utils.ts +26 -0
  137. package/src/nativeAd/NativeAdView.tsx +65 -65
  138. package/src/nativeAd/NativeAdViewComponents.tsx +32 -60
  139. package/src/nativeAd/NativeAdViewProvider.tsx +37 -12
  140. package/src/nativeAd/img/blank_icon.png +0 -0
  141. package/src/specs/AppLovinMAXAdViewNativeComponent.ts +96 -0
  142. package/src/specs/AppLovinMAXNativeAdViewNativeComponent.ts +89 -0
  143. package/src/specs/NativeAppLovinMAXModule.ts +208 -0
  144. package/src/types/AdInfo.ts +1 -1
  145. package/src/types/AdProps.ts +2 -2
  146. package/src/types/NativeAd.ts +5 -0
  147. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewManager.java +0 -149
  148. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +0 -163
  149. package/ios/AppLovinMAXAdView.m +0 -325
  150. package/ios/AppLovinMAXNativeAdView.m +0 -432
  151. package/ios/AppLovinMAXNativeAdViewManager.m +0 -64
@@ -0,0 +1,89 @@
1
+ import type { HostComponent, ViewProps } from 'react-native';
2
+ import type { Double, DirectEventHandler } from 'react-native/Libraries/Types/CodegenTypes';
3
+ import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
4
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
5
+
6
+ export type AdInfoEvent = Readonly<{
7
+ adUnitId: string;
8
+ adFormat: string;
9
+ networkName: string;
10
+ networkPlacement: string;
11
+ creativeId?: string | null;
12
+ placement?: string | null;
13
+ revenue: Double;
14
+ revenuePrecision: string;
15
+ latencyMillis: Double;
16
+ dspName?: string | null;
17
+ size: Readonly<{
18
+ width: Double;
19
+ height: Double;
20
+ }>;
21
+ nativeAd?: Readonly<{
22
+ title?: string;
23
+ advertiser?: string;
24
+ body?: string;
25
+ callToAction?: string;
26
+ starRating?: Double;
27
+ mediaContentAspectRatio?: Double;
28
+ isIconImageAvailable: boolean;
29
+ isOptionsViewAvailable: boolean;
30
+ isMediaViewAvailable: boolean;
31
+ }>;
32
+ nativeAdImpl: Readonly<{
33
+ title?: string | null;
34
+ advertiser?: string | null;
35
+ body?: string | null;
36
+ callToAction?: string | null;
37
+ image?: boolean;
38
+ imageSource?: string | null;
39
+ url?: string;
40
+ starRating?: Double;
41
+ isOptionsViewAvailable: boolean;
42
+ isMediaViewAvailable: boolean;
43
+ }>;
44
+ }>;
45
+
46
+ export type AdLoadFailedEvent = Readonly<{
47
+ adUnitId: string;
48
+ code: Double;
49
+ message?: string | null;
50
+ mediatedNetworkErrorCode: Double;
51
+ mediatedNetworkErrorMessage: string;
52
+ adLoadFailureInfo?: string | null;
53
+ }>;
54
+
55
+ export interface NativeProps extends ViewProps {
56
+ adUnitId: string;
57
+ placement?: string | null;
58
+ customData?: string | null;
59
+ extraParameters?: ReadonlyArray<{
60
+ key: string;
61
+ value: string | null;
62
+ }> | null;
63
+ strLocalExtraParameters?: ReadonlyArray<{
64
+ key: string;
65
+ value: string | null;
66
+ }> | null;
67
+ boolLocalExtraParameters?: ReadonlyArray<{
68
+ key: string;
69
+ value: boolean | null;
70
+ }> | null;
71
+ onAdLoadedEvent: DirectEventHandler<AdInfoEvent>;
72
+ onAdLoadFailedEvent: DirectEventHandler<AdLoadFailedEvent>;
73
+ onAdClickedEvent: DirectEventHandler<AdInfoEvent>;
74
+ onAdRevenuePaidEvent: DirectEventHandler<AdInfoEvent>;
75
+ }
76
+
77
+ type AppLovinMAXNativeAdViewNativeComponentType = HostComponent<NativeProps>;
78
+
79
+ interface NativeCommands {
80
+ loadAd: (viewRef: React.ElementRef<AppLovinMAXNativeAdViewNativeComponentType>) => void;
81
+ updateAssetView: (viewRef: React.ElementRef<AppLovinMAXNativeAdViewNativeComponentType>, assetViewTag: Double, assetViewName: string) => void;
82
+ renderNativeAd: (viewRef: React.ElementRef<AppLovinMAXNativeAdViewNativeComponentType>) => void;
83
+ }
84
+
85
+ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
86
+ supportedCommands: ['loadAd', 'updateAssetView', 'renderNativeAd'],
87
+ });
88
+
89
+ export default codegenNativeComponent<NativeProps>('AppLovinMAXNativeAdView') as HostComponent<NativeProps>;
@@ -0,0 +1,208 @@
1
+ import { TurboModuleRegistry } from 'react-native';
2
+ import type { TurboModule } from 'react-native';
3
+ import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
4
+ import type { Configuration } from '../types';
5
+ import type { CMPError } from '../types';
6
+ import type { AdViewId } from '../types';
7
+
8
+ export interface Spec extends TurboModule {
9
+ readonly getConstants: () => {
10
+ ON_INTERSTITIAL_LOADED_EVENT: string;
11
+ ON_INTERSTITIAL_LOAD_FAILED_EVENT: string;
12
+ ON_INTERSTITIAL_CLICKED_EVENT: string;
13
+ ON_INTERSTITIAL_DISPLAYED_EVENT: string;
14
+ ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT: string;
15
+ ON_INTERSTITIAL_HIDDEN_EVENT: string;
16
+ ON_INTERSTITIAL_AD_REVENUE_PAID: string;
17
+ ON_REWARDED_AD_LOADED_EVENT: string;
18
+ ON_REWARDED_AD_LOAD_FAILED_EVENT: string;
19
+ ON_REWARDED_AD_CLICKED_EVENT: string;
20
+ ON_REWARDED_AD_DISPLAYED_EVENT: string;
21
+ ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT: string;
22
+ ON_REWARDED_AD_HIDDEN_EVENT: string;
23
+ ON_REWARDED_AD_RECEIVED_REWARD_EVENT: string;
24
+ ON_REWARDED_AD_REVENUE_PAID: string;
25
+ ON_BANNER_AD_LOADED_EVENT: string;
26
+ ON_BANNER_AD_LOAD_FAILED_EVENT: string;
27
+ ON_BANNER_AD_CLICKED_EVENT: string;
28
+ ON_BANNER_AD_COLLAPSED_EVENT: string;
29
+ ON_BANNER_AD_EXPANDED_EVENT: string;
30
+ ON_BANNER_AD_REVENUE_PAID: string;
31
+ ON_MREC_AD_LOADED_EVENT: string;
32
+ ON_MREC_AD_LOAD_FAILED_EVENT: string;
33
+ ON_MREC_AD_CLICKED_EVENT: string;
34
+ ON_MREC_AD_COLLAPSED_EVENT: string;
35
+ ON_MREC_AD_EXPANDED_EVENT: string;
36
+ ON_MREC_AD_REVENUE_PAID: string;
37
+ ON_APPOPEN_AD_LOADED_EVENT: string;
38
+ ON_APPOPEN_AD_LOAD_FAILED_EVENT: string;
39
+ ON_APPOPEN_AD_CLICKED_EVENT: string;
40
+ ON_APPOPEN_AD_DISPLAYED_EVENT: string;
41
+ ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT: string;
42
+ ON_APPOPEN_AD_HIDDEN_EVENT: string;
43
+ ON_APPOPEN_AD_REVENUE_PAID: string;
44
+ ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT: string;
45
+ ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT: string;
46
+ MAX_ERROR_CODE_UNSPECIFIED: number;
47
+ MAX_ERROR_CODE_NO_FILL: number;
48
+ MAX_ERROR_CODE_AD_LOAD_FAILED: number;
49
+ MAX_ERROR_CODE_AD_DISPLAY_FAILED: number;
50
+ MAX_ERROR_CODE_NETWORK_ERROR: number;
51
+ MAX_ERROR_CODE_NETWORK_TIMEOUT: number;
52
+ MAX_ERROR_CODE_NO_NETWORK: number;
53
+ MAX_ERROR_CODE_FULLSCREEN_AD_ALREADY_SHOWING: number;
54
+ MAX_ERROR_CODE_FULLSCREEN_AD_NOT_READY: number;
55
+ MAX_ERROR_CODE_FULLSCREEN_AD_INVALID_VIEW_CONTROLLER: number;
56
+ MAX_ERROR_CODE_DONT_KEEP_ACTIVITIES_ENABLED: number;
57
+ MAX_ERROR_CODE_INVALID_AD_UNIT_ID: number;
58
+ };
59
+
60
+ isInitialized(): Promise<boolean>;
61
+
62
+ initialize(pluginVersion: string, sdkKey: string): Promise<Configuration>;
63
+
64
+ isTablet(): Promise<boolean>;
65
+
66
+ showMediationDebugger(): void;
67
+
68
+ setHasUserConsent(hasUserConsent: boolean): void;
69
+
70
+ hasUserConsent(): Promise<boolean>;
71
+
72
+ setDoNotSell(doNotSell: boolean): void;
73
+
74
+ isDoNotSell(): Promise<boolean>;
75
+
76
+ setUserId(userId: string): void;
77
+
78
+ setMuted(muted: boolean): void;
79
+
80
+ isMuted(): Promise<boolean>;
81
+
82
+ setVerboseLogging(enabled: boolean): void;
83
+
84
+ setCreativeDebuggerEnabled(enabled: boolean): void;
85
+
86
+ setTestDeviceAdvertisingIds(ids: string[]): void;
87
+
88
+ setExtraParameter(key: string, value: string | null): void;
89
+
90
+ setInitializationAdUnitIds(adUnitIds: string[]): void;
91
+
92
+ setTermsAndPrivacyPolicyFlowEnabled(enabled: boolean): void;
93
+
94
+ setPrivacyPolicyUrl(url: string): void;
95
+
96
+ setTermsOfServiceUrl(url: string): void;
97
+
98
+ setConsentFlowDebugUserGeography(userGeography: string): void;
99
+
100
+ showCmpForExistingUser(): Promise<CMPError | null>;
101
+
102
+ hasSupportedCmp(): Promise<boolean>;
103
+
104
+ addSegment(key: number, values: number[]): Promise<void>;
105
+
106
+ getSegments(): Promise<{ [key: string]: number[] } | null>;
107
+
108
+ createBanner(adUnitId: string, position: string): void;
109
+
110
+ createBannerWithOffsets(adUnitId: string, position: string, xOffset: number, yOffset: number): void;
111
+
112
+ setBannerBackgroundColor(adUnitId: string, hexColorCode: string): void;
113
+
114
+ setBannerPlacement(adUnitId: string, placement: string | null): void;
115
+
116
+ setBannerCustomData(adUnitId: string, customData: string | null): void;
117
+
118
+ setBannerWidth(adUnitId: string, width: number): void;
119
+
120
+ updateBannerPosition(adUnitId: string, position: string): void;
121
+
122
+ updateBannerOffsets(adUnitId: string, xOffset: number, yOffset: number): void;
123
+
124
+ setBannerExtraParameter(adUnitId: string, key: string, value: string | null): void;
125
+
126
+ setBannerLocalExtraParameter(adUnitId: string, parameters: UnsafeObject): void;
127
+
128
+ startBannerAutoRefresh(adUnitId: string): void;
129
+
130
+ stopBannerAutoRefresh(adUnitId: string): void;
131
+
132
+ showBanner(adUnitId: string): void;
133
+
134
+ hideBanner(adUnitId: string): void;
135
+
136
+ destroyBanner(adUnitId: string): void;
137
+
138
+ getAdaptiveBannerHeightForWidth(width: number): Promise<number>;
139
+
140
+ createMRec(adUnitId: string, position: string): void;
141
+
142
+ setMRecPlacement(adUnitId: string, placement: string | null): void;
143
+
144
+ setMRecCustomData(adUnitId: string, customData: string | null): void;
145
+
146
+ updateMRecPosition(adUnitId: string, position: string): void;
147
+
148
+ setMRecExtraParameter(adUnitId: string, key: string, value: string | null): void;
149
+
150
+ setMRecLocalExtraParameter(adUnitId: string, parameters: UnsafeObject): void;
151
+
152
+ startMRecAutoRefresh(adUnitId: string): void;
153
+
154
+ stopMRecAutoRefresh(adUnitId: string): void;
155
+
156
+ showMRec(adUnitId: string): void;
157
+
158
+ hideMRec(adUnitId: string): void;
159
+
160
+ destroyMRec(adUnitId: string): void;
161
+
162
+ loadInterstitial(adUnitId: string): void;
163
+
164
+ isInterstitialReady(adUnitId: string): Promise<boolean>;
165
+
166
+ showInterstitial(adUnitId: string, placement?: string | null, customData?: string | null): void;
167
+
168
+ setInterstitialExtraParameter(adUnitId: string, key: string, value: string | null): void;
169
+
170
+ setInterstitialLocalExtraParameter(adUnitId: string, parameters: UnsafeObject): void;
171
+
172
+ loadRewardedAd(adUnitId: string): void;
173
+
174
+ isRewardedAdReady(adUnitId: string): Promise<boolean>;
175
+
176
+ showRewardedAd(adUnitId: string, placement?: string | null, customData?: string | null): void;
177
+
178
+ setRewardedAdExtraParameter(adUnitId: string, key: string, value: string | null): void;
179
+
180
+ setRewardedAdLocalExtraParameter(adUnitId: string, parameters: UnsafeObject): void;
181
+
182
+ loadAppOpenAd(adUnitId: string): void;
183
+
184
+ isAppOpenAdReady(adUnitId: string): Promise<boolean>;
185
+
186
+ showAppOpenAd(adUnitId: string, placement?: string | null, customData?: string | null): void;
187
+
188
+ setAppOpenAdExtraParameter(adUnitId: string, key: string, value: string | null): void;
189
+
190
+ setAppOpenAdLocalExtraParameter(adUnitId: string, parameters: UnsafeObject): void;
191
+
192
+ preloadNativeUIComponentAdView(
193
+ adUnitId: string,
194
+ adFormat: string,
195
+ placement?: string | null,
196
+ customData?: string | null,
197
+ extraParameters?: UnsafeObject | null,
198
+ localExtraParameters?: UnsafeObject | null
199
+ ): Promise<AdViewId>;
200
+
201
+ destroyNativeUIComponentAdView(adViewId: number): Promise<void>;
202
+
203
+ addListener(eventType: string): void;
204
+
205
+ removeListeners(count: number): void;
206
+ }
207
+
208
+ export default TurboModuleRegistry.getEnforcing<Spec>('AppLovinMAX');
@@ -77,7 +77,7 @@ export type AdInfo = {
77
77
  /**
78
78
  * The underlying waterfall of ad responses.
79
79
  */
80
- waterfall: AdWaterfallInfo;
80
+ waterfall?: AdWaterfallInfo;
81
81
 
82
82
  /**
83
83
  * The native ad info.
@@ -29,13 +29,13 @@ export type AdProps = {
29
29
  * A dictionary value representing the extra parameters to set a list of key-value string pairs
30
30
  * for the ad.
31
31
  */
32
- extraParameters?: { [key: string]: string | null };
32
+ extraParameters?: { [key: string]: string };
33
33
 
34
34
  /**
35
35
  * A dictionary value representing the local extra parameters to set a list of key-value pairs
36
36
  * to pass to the adapter instances.
37
37
  */
38
- localExtraParameters?: { [key: string]: LocalExtraParameterValue };
38
+ localExtraParameters?: { [key: string]: string | boolean };
39
39
 
40
40
  /**
41
41
  * A callback fuction that {@link AdView} or {@link NativeAdView} fires when it loads a new ad.
@@ -27,6 +27,11 @@ export type NativeAd = {
27
27
  */
28
28
  image?: boolean;
29
29
 
30
+ /**
31
+ * The data of the icon.
32
+ */
33
+ imageSource?: string | null;
34
+
30
35
  /**
31
36
  * The URL string of the icon.
32
37
  */
@@ -1,149 +0,0 @@
1
- package com.applovin.reactnative;
2
-
3
- import com.facebook.react.bridge.ReadableArray;
4
- import com.facebook.react.bridge.ReadableMap;
5
- import com.facebook.react.common.MapBuilder;
6
- import com.facebook.react.uimanager.SimpleViewManager;
7
- import com.facebook.react.uimanager.ThemedReactContext;
8
- import com.facebook.react.uimanager.annotations.ReactProp;
9
-
10
- import java.util.Map;
11
-
12
- import androidx.annotation.NonNull;
13
- import androidx.annotation.Nullable;
14
-
15
- /**
16
- * Created by Thomas So on September 26 2020
17
- */
18
- class AppLovinMAXAdViewManager
19
- extends SimpleViewManager<AppLovinMAXAdView>
20
- {
21
- private static final int COMMAND_LOAD_AD = 1;
22
-
23
- public AppLovinMAXAdViewManager() { }
24
-
25
- @NonNull
26
- @Override
27
- public String getName()
28
- {
29
- return "AppLovinMAXAdView";
30
- }
31
-
32
- @Nullable
33
- @Override
34
- public Map<String, Object> getExportedCustomDirectEventTypeConstants()
35
- {
36
- // mapping Android events to JavaScript events
37
- return MapBuilder.<String, Object>builder()
38
- .put( AppLovinMAXAdEvents.ON_AD_LOADED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_LOADED_EVENT ) )
39
- .put( AppLovinMAXAdEvents.ON_AD_LOAD_FAILED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_LOAD_FAILED_EVENT ) )
40
- .put( AppLovinMAXAdEvents.ON_AD_DISPLAY_FAILED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_DISPLAY_FAILED_EVENT ) )
41
- .put( AppLovinMAXAdEvents.ON_AD_CLICKED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_CLICKED_EVENT ) )
42
- .put( AppLovinMAXAdEvents.ON_AD_EXPANDED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_EXPANDED_EVENT ) )
43
- .put( AppLovinMAXAdEvents.ON_AD_COLLAPSED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_COLLAPSED_EVENT ) )
44
- .put( AppLovinMAXAdEvents.ON_AD_REVENUE_PAID_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_REVENUE_PAID_EVENT ) )
45
- .build();
46
- }
47
-
48
- @Nullable
49
- @Override
50
- public Map<String, Integer> getCommandsMap()
51
- {
52
- return MapBuilder.of(
53
- "loadAd", COMMAND_LOAD_AD
54
- );
55
- }
56
-
57
- @Override
58
- public void receiveCommand(@NonNull final AppLovinMAXAdView view, final int commandId, @Nullable final ReadableArray args)
59
- {
60
- if ( commandId == COMMAND_LOAD_AD )
61
- {
62
- view.loadAd();
63
- }
64
- }
65
-
66
- @NonNull
67
- @Override
68
- protected AppLovinMAXAdView createViewInstance(@NonNull final ThemedReactContext reactContext)
69
- {
70
- // NOTE: Do not set frame or backgroundColor as RN will overwrite the values set by your custom class in order to match your JavaScript component's layout props - hence wrapper
71
- return new AppLovinMAXAdView( reactContext );
72
- }
73
-
74
- @ReactProp(name = "adUnitId")
75
- public void setAdUnitId(final AppLovinMAXAdView view, final String adUnitId)
76
- {
77
- view.setAdUnitId( adUnitId );
78
- }
79
-
80
- @ReactProp(name = "adFormat")
81
- public void setAdFormat(final AppLovinMAXAdView view, final String adFormatStr)
82
- {
83
- view.setAdFormat( adFormatStr );
84
- }
85
-
86
- @ReactProp(name = "adViewId")
87
- public void setAdViewId(final AppLovinMAXAdView view, final int adViewId)
88
- {
89
- view.setAdViewId( adViewId );
90
- }
91
-
92
- @ReactProp(name = "placement")
93
- public void setPlacement(final AppLovinMAXAdView view, @Nullable final String placement)
94
- {
95
- view.setPlacement( placement );
96
- }
97
-
98
- @ReactProp(name = "customData")
99
- public void setCustomData(final AppLovinMAXAdView view, @Nullable final String customData)
100
- {
101
- view.setCustomData( customData );
102
- }
103
-
104
- @ReactProp(name = "adaptiveBannerEnabled")
105
- public void setAdaptiveBannerEnabled(final AppLovinMAXAdView view, final boolean enabled)
106
- {
107
- view.setAdaptiveBannerEnabled( enabled );
108
- }
109
-
110
- @ReactProp(name = "autoRefresh")
111
- public void setAutoRefresh(final AppLovinMAXAdView view, final boolean enabled)
112
- {
113
- view.setAutoRefreshEnabled( enabled );
114
- }
115
-
116
- @ReactProp(name = "loadOnMount")
117
- public void setLoadOnMount(final AppLovinMAXAdView view, final boolean enabled)
118
- {
119
- view.setLoadOnMount( enabled );
120
- }
121
-
122
- @ReactProp(name = "extraParameters")
123
- public void setExtraParameters(final AppLovinMAXAdView view, @Nullable final ReadableMap value)
124
- {
125
- view.setExtraParameters( value );
126
- }
127
-
128
- @ReactProp(name = "localExtraParameters")
129
- public void setLocalExtraParameters(final AppLovinMAXAdView view, @Nullable final ReadableMap value)
130
- {
131
- view.setLocalExtraParameters( value );
132
- }
133
-
134
- @Override
135
- public void onAfterUpdateTransaction(@NonNull final AppLovinMAXAdView view)
136
- {
137
- super.onAfterUpdateTransaction( view );
138
-
139
- view.onSetProps();
140
- }
141
-
142
- @Override
143
- public void onDropViewInstance(AppLovinMAXAdView view)
144
- {
145
- view.destroy();
146
-
147
- super.onDropViewInstance( view );
148
- }
149
- }
@@ -1,163 +0,0 @@
1
- package com.applovin.reactnative;
2
-
3
- import com.facebook.react.bridge.ReadableArray;
4
- import com.facebook.react.bridge.ReadableMap;
5
- import com.facebook.react.common.MapBuilder;
6
- import com.facebook.react.uimanager.ThemedReactContext;
7
- import com.facebook.react.uimanager.ViewGroupManager;
8
- import com.facebook.react.uimanager.annotations.ReactProp;
9
-
10
- import java.util.Map;
11
-
12
- import androidx.annotation.NonNull;
13
- import androidx.annotation.Nullable;
14
-
15
- public class AppLovinMAXNativeAdViewManager
16
- extends ViewGroupManager<AppLovinMAXNativeAdView>
17
- {
18
- public static final String REACT_CLASS = "AppLovinMAXNativeAdView";
19
-
20
- public final int COMMAND_LOAD_AD = 1;
21
-
22
- public AppLovinMAXNativeAdViewManager() { }
23
-
24
- @NonNull
25
- @Override
26
- protected AppLovinMAXNativeAdView createViewInstance(@NonNull final ThemedReactContext reactContext)
27
- {
28
- return new AppLovinMAXNativeAdView( reactContext );
29
- }
30
-
31
- @NonNull
32
- @Override
33
- public String getName()
34
- {
35
- return REACT_CLASS;
36
- }
37
-
38
- /// Callback to JavaScript
39
-
40
- @Nullable
41
- @Override
42
- public Map<String, Object> getExportedCustomDirectEventTypeConstants()
43
- {
44
- // mapping Android events to JavaScript events
45
- return MapBuilder.<String, Object>builder()
46
- .put( AppLovinMAXAdEvents.ON_AD_LOADED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_LOADED_EVENT ) )
47
- .put( AppLovinMAXAdEvents.ON_AD_LOAD_FAILED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_LOAD_FAILED_EVENT ) )
48
- .put( AppLovinMAXAdEvents.ON_AD_CLICKED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_CLICKED_EVENT ) )
49
- .put( AppLovinMAXAdEvents.ON_AD_REVENUE_PAID_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_REVENUE_PAID_EVENT ) )
50
- .build();
51
- }
52
-
53
- /// Call from JavaScript
54
-
55
- @Nullable
56
- @Override
57
- public Map<String, Integer> getCommandsMap()
58
- {
59
- return MapBuilder.of(
60
- "loadAd", COMMAND_LOAD_AD
61
- );
62
- }
63
-
64
- // NOTE: the method is deprecated but the new version won't work
65
- @Override
66
- public void receiveCommand(@NonNull final AppLovinMAXNativeAdView root, final int commandId, @Nullable final ReadableArray args)
67
- {
68
- if ( commandId == COMMAND_LOAD_AD )
69
- {
70
- root.loadAd();
71
- }
72
- }
73
-
74
- /// Property Setters
75
-
76
- @ReactProp(name = "adUnitId")
77
- public void setAdUnitId(final AppLovinMAXNativeAdView view, final String value)
78
- {
79
- view.setAdUnitId( value );
80
- }
81
-
82
- @ReactProp(name = "placement")
83
- public void setPlacement(final AppLovinMAXNativeAdView view, @Nullable final String value)
84
- {
85
- view.setPlacement( value );
86
- }
87
-
88
- @ReactProp(name = "customData")
89
- public void setCustomData(final AppLovinMAXNativeAdView view, @Nullable final String value)
90
- {
91
- view.setCustomData( value );
92
- }
93
-
94
- @ReactProp(name = "extraParameters")
95
- public void setExtraParameters(final AppLovinMAXNativeAdView view, @Nullable final ReadableMap value)
96
- {
97
- view.setExtraParameters( value );
98
- }
99
-
100
- @ReactProp(name = "localExtraParameters")
101
- public void setLocalExtraParameters(final AppLovinMAXNativeAdView view, @Nullable final ReadableMap value)
102
- {
103
- view.setLocalExtraParameters( value );
104
- }
105
-
106
- @ReactProp(name = "titleView")
107
- public void setTitleView(final AppLovinMAXNativeAdView view, final int value)
108
- {
109
- view.setTitleView( value );
110
- }
111
-
112
- @ReactProp(name = "advertiserView")
113
- public void setAdvertiserView(final AppLovinMAXNativeAdView view, final int value)
114
- {
115
- view.setAdvertiserView( value );
116
- }
117
-
118
- @ReactProp(name = "bodyView")
119
- public void setBodyView(final AppLovinMAXNativeAdView view, final int value)
120
- {
121
- view.setBodyView( value );
122
- }
123
-
124
- @ReactProp(name = "callToActionView")
125
- public void setCallToActionView(final AppLovinMAXNativeAdView view, final int value)
126
- {
127
- view.setCallToActionView( value );
128
- }
129
-
130
- @ReactProp(name = "iconView")
131
- public void setIconView(final AppLovinMAXNativeAdView view, final int value)
132
- {
133
- view.setIconView( value );
134
- }
135
-
136
- @ReactProp(name = "optionsView")
137
- public void setOptionsView(final AppLovinMAXNativeAdView view, final int value)
138
- {
139
- view.setOptionsView( value );
140
- }
141
-
142
- @ReactProp(name = "mediaView")
143
- public void setMediaView(final AppLovinMAXNativeAdView view, final int value)
144
- {
145
- view.setMediaView( value );
146
- }
147
-
148
- @Override
149
- public void onAfterUpdateTransaction(@NonNull final AppLovinMAXNativeAdView view)
150
- {
151
- super.onAfterUpdateTransaction( view );
152
-
153
- view.onSetProps();
154
- }
155
-
156
- @Override
157
- public void onDropViewInstance(@NonNull final AppLovinMAXNativeAdView view)
158
- {
159
- view.destroy();
160
-
161
- super.onDropViewInstance( view );
162
- }
163
- }