react-native-applovin-max 8.1.1 → 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 (165) hide show
  1. package/android/build.gradle +14 -3
  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 +17 -15
  5. package/android/src/main/java/com/applovin/reactnative/{AppLovinMAXModule.java → AppLovinMAXModuleImpl.java} +115 -179
  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 -8
  17. package/ios/{AppLovinMAX.m → AppLovinMAX.mm} +73 -64
  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 +67 -85
  26. package/lib/commonjs/AdView.js.map +1 -1
  27. package/lib/commonjs/AppLovinMAX.js +51 -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 +57 -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/commonjs/types/AdInfo.js +10 -3
  61. package/lib/commonjs/types/AdInfo.js.map +1 -1
  62. package/lib/module/AdView.js +62 -81
  63. package/lib/module/AdView.js.map +1 -1
  64. package/lib/module/AppLovinMAX.js +47 -7
  65. package/lib/module/AppLovinMAX.js.map +1 -1
  66. package/lib/module/AppOpenAd.js +1 -4
  67. package/lib/module/AppOpenAd.js.map +1 -1
  68. package/lib/module/BannerAd.js +1 -4
  69. package/lib/module/BannerAd.js.map +1 -1
  70. package/lib/module/ErrorCode.js +55 -4
  71. package/lib/module/ErrorCode.js.map +1 -1
  72. package/lib/module/EventEmitter.js +2 -4
  73. package/lib/module/EventEmitter.js.map +1 -1
  74. package/lib/module/InterstitialAd.js +2 -5
  75. package/lib/module/InterstitialAd.js.map +1 -1
  76. package/lib/module/MRecAd.js +1 -4
  77. package/lib/module/MRecAd.js.map +1 -1
  78. package/lib/module/Privacy.js +1 -4
  79. package/lib/module/Privacy.js.map +1 -1
  80. package/lib/module/RewardedAd.js +2 -5
  81. package/lib/module/RewardedAd.js.map +1 -1
  82. package/lib/module/Utils.js +17 -0
  83. package/lib/module/Utils.js.map +1 -0
  84. package/lib/module/nativeAd/NativeAdView.js +63 -40
  85. package/lib/module/nativeAd/NativeAdView.js.map +1 -1
  86. package/lib/module/nativeAd/NativeAdViewComponents.js +53 -49
  87. package/lib/module/nativeAd/NativeAdViewComponents.js.map +1 -1
  88. package/lib/module/nativeAd/NativeAdViewProvider.js +39 -9
  89. package/lib/module/nativeAd/NativeAdViewProvider.js.map +1 -1
  90. package/lib/module/nativeAd/img/blank_icon.png +0 -0
  91. package/lib/module/specs/AppLovinMAXAdViewNativeComponent.js +7 -0
  92. package/lib/module/specs/AppLovinMAXAdViewNativeComponent.js.map +1 -0
  93. package/lib/module/specs/AppLovinMAXNativeAdViewNativeComponent.js +7 -0
  94. package/lib/module/specs/AppLovinMAXNativeAdViewNativeComponent.js.map +1 -0
  95. package/lib/module/specs/NativeAppLovinMAXModule.js +3 -0
  96. package/lib/module/specs/NativeAppLovinMAXModule.js.map +1 -0
  97. package/lib/module/types/AdInfo.js +10 -4
  98. package/lib/module/types/AdInfo.js.map +1 -1
  99. package/lib/typescript/src/AdView.d.ts +16 -16
  100. package/lib/typescript/src/AdView.d.ts.map +1 -1
  101. package/lib/typescript/src/AppLovinMAX.d.ts.map +1 -1
  102. package/lib/typescript/src/AppOpenAd.d.ts.map +1 -1
  103. package/lib/typescript/src/BannerAd.d.ts.map +1 -1
  104. package/lib/typescript/src/ErrorCode.d.ts.map +1 -1
  105. package/lib/typescript/src/EventEmitter.d.ts.map +1 -1
  106. package/lib/typescript/src/InterstitialAd.d.ts.map +1 -1
  107. package/lib/typescript/src/MRecAd.d.ts.map +1 -1
  108. package/lib/typescript/src/Privacy.d.ts.map +1 -1
  109. package/lib/typescript/src/RewardedAd.d.ts.map +1 -1
  110. package/lib/typescript/src/Utils.d.ts +16 -0
  111. package/lib/typescript/src/Utils.d.ts.map +1 -0
  112. package/lib/typescript/src/nativeAd/NativeAdView.d.ts.map +1 -1
  113. package/lib/typescript/src/nativeAd/NativeAdViewComponents.d.ts +1 -1
  114. package/lib/typescript/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -1
  115. package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts +14 -5
  116. package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -1
  117. package/lib/typescript/src/specs/AppLovinMAXAdViewNativeComponent.d.ts +86 -0
  118. package/lib/typescript/src/specs/AppLovinMAXAdViewNativeComponent.d.ts.map +1 -0
  119. package/lib/typescript/src/specs/AppLovinMAXNativeAdViewNativeComponent.d.ts +80 -0
  120. package/lib/typescript/src/specs/AppLovinMAXNativeAdViewNativeComponent.d.ts.map +1 -0
  121. package/lib/typescript/src/specs/NativeAppLovinMAXModule.d.ts +132 -0
  122. package/lib/typescript/src/specs/NativeAppLovinMAXModule.d.ts.map +1 -0
  123. package/lib/typescript/src/types/AdEvent.d.ts +2 -2
  124. package/lib/typescript/src/types/AdEvent.d.ts.map +1 -1
  125. package/lib/typescript/src/types/AdInfo.d.ts +24 -25
  126. package/lib/typescript/src/types/AdInfo.d.ts.map +1 -1
  127. package/lib/typescript/src/types/AdProps.d.ts +4 -4
  128. package/lib/typescript/src/types/AdProps.d.ts.map +1 -1
  129. package/lib/typescript/src/types/FullscreenAd.d.ts +4 -4
  130. package/lib/typescript/src/types/FullscreenAd.d.ts.map +1 -1
  131. package/lib/typescript/src/types/NativeAd.d.ts +4 -0
  132. package/lib/typescript/src/types/NativeAd.d.ts.map +1 -1
  133. package/lib/typescript/src/types/ViewAd.d.ts +4 -4
  134. package/lib/typescript/src/types/ViewAd.d.ts.map +1 -1
  135. package/package.json +9 -1
  136. package/react-native-applovin-max.podspec +3 -3
  137. package/src/AdView.tsx +56 -121
  138. package/src/AppLovinMAX.ts +7 -8
  139. package/src/AppOpenAd.ts +3 -5
  140. package/src/BannerAd.ts +3 -5
  141. package/src/ErrorCode.ts +1 -3
  142. package/src/EventEmitter.ts +2 -3
  143. package/src/InterstitialAd.ts +4 -6
  144. package/src/MRecAd.ts +3 -5
  145. package/src/Privacy.ts +1 -3
  146. package/src/RewardedAd.ts +4 -6
  147. package/src/Utils.ts +26 -0
  148. package/src/nativeAd/NativeAdView.tsx +65 -65
  149. package/src/nativeAd/NativeAdViewComponents.tsx +32 -60
  150. package/src/nativeAd/NativeAdViewProvider.tsx +37 -12
  151. package/src/nativeAd/img/blank_icon.png +0 -0
  152. package/src/specs/AppLovinMAXAdViewNativeComponent.ts +96 -0
  153. package/src/specs/AppLovinMAXNativeAdViewNativeComponent.ts +89 -0
  154. package/src/specs/NativeAppLovinMAXModule.ts +208 -0
  155. package/src/types/AdEvent.ts +2 -2
  156. package/src/types/AdInfo.ts +28 -28
  157. package/src/types/AdProps.ts +4 -4
  158. package/src/types/FullscreenAd.ts +4 -4
  159. package/src/types/NativeAd.ts +5 -0
  160. package/src/types/ViewAd.ts +4 -4
  161. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewManager.java +0 -149
  162. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +0 -163
  163. package/ios/AppLovinMAXAdView.m +0 -323
  164. package/ios/AppLovinMAXNativeAdView.m +0 -432
  165. package/ios/AppLovinMAXNativeAdViewManager.m +0 -64
@@ -8,6 +8,10 @@ export type AdInfo = {
8
8
  * The ad unit ID for which this ad was loaded.
9
9
  */
10
10
  adUnitId: string;
11
+ /**
12
+ * The format of this ad.
13
+ */
14
+ adFormat: string;
11
15
  /**
12
16
  * The unique ID of the native UI component AdView.
13
17
  */
@@ -25,6 +29,10 @@ export type AdInfo = {
25
29
  * @see {@link https://support.applovin.com/hc/en-us/articles/13986039797389-Creative-Debugger#h_01HC10588YWTJHYE1E35HWQTX7}
26
30
  */
27
31
  networkName: string;
32
+ /**
33
+ * The ad network placement for which this ad was loaded.
34
+ */
35
+ networkPlacement: string;
28
36
  /**
29
37
  * The placement name that you assign when you integrate each ad format, for granular reporting
30
38
  * in postbacks.
@@ -35,14 +43,29 @@ export type AdInfo = {
35
43
  * yet, returns 0.
36
44
  */
37
45
  revenue: number;
46
+ /**
47
+ * The precision of the revenue value for this ad.
48
+ *
49
+ * Possible values are:
50
+ * - "publisher_defined" - If the revenue is the price assigned to the line item by the publisher.
51
+ * - "exact" - If the revenue is the resulting price of a real-time auction.
52
+ * - "estimated" - If the revenue is the price obtained by auto-CPM.
53
+ * - "undefined" - If we do not have permission from the ad network to share impression-level data.
54
+ * - "" - An empty string, if revenue and precision are not valid (for example, in test mode).
55
+ */
56
+ revenuePrecision: string;
38
57
  /**
39
58
  * The DSP network that provides the loaded ad when the ad is served through AppLovin Exchange.
40
59
  */
41
60
  dspName?: string | null;
61
+ /**
62
+ * The latency of the mediation ad load request in milliseconds.
63
+ */
64
+ latencyMillis: number;
42
65
  /**
43
66
  * The underlying waterfall of ad responses.
44
67
  */
45
- waterfall: AdWaterfallInfo;
68
+ waterfall?: AdWaterfallInfo;
46
69
  /**
47
70
  * The native ad info.
48
71
  */
@@ -126,30 +149,6 @@ export type AdRewardInfo = AdInfo & {
126
149
  */
127
150
  rewardAmount: string;
128
151
  };
129
- /**
130
- * Represents revenue given to the publisher.
131
- */
132
- export type AdRevenueInfo = AdInfo & {
133
- /**
134
- * The ad network placement for which this ad was loaded.
135
- */
136
- networkPlacement: string;
137
- /**
138
- * The precision of the revenue value for this ad.
139
- *
140
- * Possible values are:
141
- * - "publisher_defined" - If the revenue is the price assigned to the line item by the publisher.
142
- * - "exact" - If the revenue is the resulting price of a real-time auction.
143
- * - "estimated" - If the revenue is the price obtained by auto-CPM.
144
- * - "undefined" - If we do not have permission from the ad network to share impression-level data.
145
- * - "" - An empty string, if revenue and precision are not valid (for example, in test mode).
146
- */
147
- revenuePrecision: string;
148
- /**
149
- * The current country code where the ad was shown.
150
- */
151
- countryCode: string;
152
- };
153
152
  /**
154
153
  * Represents a native ad.
155
154
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AdInfo.d.ts","sourceRoot":"","sources":["../../../../src/types/AdInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdInfo.d.ts","sourceRoot":"","sources":["../../../../src/types/AdInfo.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AdDisplayFailedInfo, AdInfo, AdLoadFailedInfo, AdRevenueInfo } from './AdInfo';
1
+ import type { AdDisplayFailedInfo, AdInfo, AdLoadFailedInfo } from './AdInfo';
2
2
  /**
3
3
  * Local extra parameters can be of type: string, number, boolean, array, map, and null.
4
4
  */
@@ -25,14 +25,14 @@ export type AdProps = {
25
25
  * for the ad.
26
26
  */
27
27
  extraParameters?: {
28
- [key: string]: string | null;
28
+ [key: string]: string;
29
29
  };
30
30
  /**
31
31
  * A dictionary value representing the local extra parameters to set a list of key-value pairs
32
32
  * to pass to the adapter instances.
33
33
  */
34
34
  localExtraParameters?: {
35
- [key: string]: LocalExtraParameterValue;
35
+ [key: string]: string | boolean;
36
36
  };
37
37
  /**
38
38
  * A callback fuction that {@link AdView} or {@link NativeAdView} fires when it loads a new ad.
@@ -53,6 +53,6 @@ export type AdProps = {
53
53
  /**
54
54
  * A callback fuction that {@link AdView} or {@link NativeAdView} fires when it pays ad revenue to the publisher.
55
55
  */
56
- onAdRevenuePaid?: (adInfo: AdRevenueInfo) => void;
56
+ onAdRevenuePaid?: (adInfo: AdInfo) => void;
57
57
  };
58
58
  //# sourceMappingURL=AdProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdProps.d.ts","sourceRoot":"","sources":["../../../../src/types/AdProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE7F;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;AAEjF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IAClB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAEnD;;;OAGG;IACH,oBAAoB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAA;KAAE,CAAC;IAEnE;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEnD;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAEzD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CACrD,CAAC"}
1
+ {"version":3,"file":"AdProps.d.ts","sourceRoot":"","sources":["../../../../src/types/AdProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;AAEjF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IAClB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAE5C;;;OAGG;IACH,oBAAoB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAE3D;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEnD;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAEzD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AdEventListener } from './AdEvent';
2
- import type { AdInfo, AdLoadFailedInfo, AdRevenueInfo, AdDisplayFailedInfo } from './AdInfo';
2
+ import type { AdInfo, AdLoadFailedInfo, AdDisplayFailedInfo } from './AdInfo';
3
3
  import type { LocalExtraParameterValue } from './AdProps';
4
4
  /**
5
5
  * Defines a full-screen ad (i.e Intestitial / Rewarded / AppOpen)
@@ -108,14 +108,14 @@ export type FullscreenAdType = {
108
108
  */
109
109
  removeAdHiddenEventListener(): void;
110
110
  /**
111
- * Adds the specified event listener to receive {@link AdRevenueInfo} when a full-screen ad
111
+ * Adds the specified event listener to receive {@link AdInfo} when a full-screen ad
112
112
  * pays ad revenue to the publisher.
113
113
  *
114
114
  * @param listener Listener to be notified.
115
115
  */
116
- addAdRevenuePaidListener(listener: AdEventListener<AdRevenueInfo>): void;
116
+ addAdRevenuePaidListener(listener: AdEventListener<AdInfo>): void;
117
117
  /**
118
- * Removes the event listener to receive {@link AdRevenueInfo} when a full-screen ad pays
118
+ * Removes the event listener to receive {@link AdInfo} when a full-screen ad pays
119
119
  * ad revenue to the publisher.
120
120
  */
121
121
  removeAdRevenuePaidListener(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"FullscreenAd.d.ts","sourceRoot":"","sources":["../../../../src/types/FullscreenAd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC7F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAEtF;;;;;;OAMG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE7E;;;;;;OAMG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAE7F;;;;OAIG;IACH,wBAAwB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAElE;;OAEG;IACH,2BAA2B,IAAI,IAAI,CAAC;IAEpC;;;;;OAKG;IACH,4BAA4B,CAAC,QAAQ,EAAE,eAAe,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAEhF;;;OAGG;IACH,+BAA+B,IAAI,IAAI,CAAC;IAExC;;;;OAIG;IACH,yBAAyB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEnE;;OAEG;IACH,4BAA4B,IAAI,IAAI,CAAC;IAErC;;;;OAIG;IACH,2BAA2B,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAErE;;OAEG;IACH,8BAA8B,IAAI,IAAI,CAAC;IAEvC;;;;;OAKG;IACH,iCAAiC,CAAC,QAAQ,EAAE,eAAe,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAExF;;;OAGG;IACH,oCAAoC,IAAI,IAAI,CAAC;IAE7C;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAElE;;OAEG;IACH,2BAA2B,IAAI,IAAI,CAAC;IAEpC;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,eAAe,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAEzE;;;OAGG;IACH,2BAA2B,IAAI,IAAI,CAAC;CACvC,CAAC"}
1
+ {"version":3,"file":"FullscreenAd.d.ts","sourceRoot":"","sources":["../../../../src/types/FullscreenAd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAEtF;;;;;;OAMG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE7E;;;;;;OAMG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAE7F;;;;OAIG;IACH,wBAAwB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAElE;;OAEG;IACH,2BAA2B,IAAI,IAAI,CAAC;IAEpC;;;;;OAKG;IACH,4BAA4B,CAAC,QAAQ,EAAE,eAAe,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAEhF;;;OAGG;IACH,+BAA+B,IAAI,IAAI,CAAC;IAExC;;;;OAIG;IACH,yBAAyB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEnE;;OAEG;IACH,4BAA4B,IAAI,IAAI,CAAC;IAErC;;;;OAIG;IACH,2BAA2B,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAErE;;OAEG;IACH,8BAA8B,IAAI,IAAI,CAAC;IAEvC;;;;;OAKG;IACH,iCAAiC,CAAC,QAAQ,EAAE,eAAe,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAExF;;;OAGG;IACH,oCAAoC,IAAI,IAAI,CAAC;IAE7C;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAElE;;OAEG;IACH,2BAA2B,IAAI,IAAI,CAAC;IAEpC;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAElE;;;OAGG;IACH,2BAA2B,IAAI,IAAI,CAAC;CACvC,CAAC"}
@@ -22,6 +22,10 @@ export type NativeAd = {
22
22
  * Whether or not this has an image icon.
23
23
  */
24
24
  image?: boolean;
25
+ /**
26
+ * The data of the icon.
27
+ */
28
+ imageSource?: string | null;
25
29
  /**
26
30
  * The URL string of the icon.
27
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"NativeAd.d.ts","sourceRoot":"","sources":["../../../../src/types/NativeAd.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"NativeAd.d.ts","sourceRoot":"","sources":["../../../../src/types/NativeAd.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;CACjC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AdEventListener } from './AdEvent';
2
- import type { AdInfo, AdLoadFailedInfo, AdRevenueInfo } from './AdInfo';
2
+ import type { AdInfo, AdLoadFailedInfo } from './AdInfo';
3
3
  import type { LocalExtraParameterValue } from './AdProps';
4
4
  import type { AdViewPosition } from '../AdView';
5
5
  /**
@@ -126,14 +126,14 @@ export type ViewAdType = {
126
126
  */
127
127
  removeAdExpandedEventListener(): void;
128
128
  /**
129
- * Adds the specified event listener to receive {@link AdRevenueInfo} when a view-base ad pays
129
+ * Adds the specified event listener to receive {@link AdInfo} when a view-base ad pays
130
130
  * ad revenue to the publisher.
131
131
  *
132
132
  * @param listener Listener to be notified.
133
133
  */
134
- addAdRevenuePaidListener(listener: AdEventListener<AdRevenueInfo>): void;
134
+ addAdRevenuePaidListener(listener: AdEventListener<AdInfo>): void;
135
135
  /**
136
- * Removes the event listener to receive {@link AdRevenueInfo} when when a view-base ad pays ad
136
+ * Removes the event listener to receive {@link AdInfo} when when a view-base ad pays ad
137
137
  * revenue to the publisher.
138
138
  */
139
139
  removeAdRevenuePaidListener(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewAd.d.ts","sourceRoot":"","sources":["../../../../src/types/ViewAd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE/D;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAEjE;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAEvE;;;;;;OAMG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE7E;;;;;;OAMG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAE7F;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzC;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,wBAAwB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAElE;;OAEG;IACH,2BAA2B,IAAI,IAAI,CAAC;IAEpC;;;;;OAKG;IACH,4BAA4B,CAAC,QAAQ,EAAE,eAAe,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAEhF;;;OAGG;IACH,+BAA+B,IAAI,IAAI,CAAC;IAExC;;;;OAIG;IACH,yBAAyB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEnE;;OAEG;IACH,4BAA4B,IAAI,IAAI,CAAC;IAErC;;;;OAIG;IACH,2BAA2B,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAErE;;OAEG;IACH,8BAA8B,IAAI,IAAI,CAAC;IAEvC;;;;OAIG;IACH,0BAA0B,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEpE;;OAEG;IACH,6BAA6B,IAAI,IAAI,CAAC;IAEtC;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,eAAe,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAEzE;;;OAGG;IACH,2BAA2B,IAAI,IAAI,CAAC;CACvC,CAAC"}
1
+ {"version":3,"file":"ViewAd.d.ts","sourceRoot":"","sources":["../../../../src/types/ViewAd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE/D;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAEjE;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAEvE;;;;;;OAMG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE7E;;;;;;OAMG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAE7F;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzC;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,wBAAwB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAElE;;OAEG;IACH,2BAA2B,IAAI,IAAI,CAAC;IAEpC;;;;;OAKG;IACH,4BAA4B,CAAC,QAAQ,EAAE,eAAe,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAEhF;;;OAGG;IACH,+BAA+B,IAAI,IAAI,CAAC;IAExC;;;;OAIG;IACH,yBAAyB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEnE;;OAEG;IACH,4BAA4B,IAAI,IAAI,CAAC;IAErC;;;;OAIG;IACH,2BAA2B,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAErE;;OAEG;IACH,8BAA8B,IAAI,IAAI,CAAC;IAEvC;;;;OAIG;IACH,0BAA0B,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEpE;;OAEG;IACH,6BAA6B,IAAI,IAAI,CAAC;IAEtC;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAElE;;;OAGG;IACH,2BAA2B,IAAI,IAAI,CAAC;CACvC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-native-applovin-max",
3
3
  "author": "AppLovin Corporation <support@applovin.com> (https://applovin.com)",
4
- "version": "8.1.1",
4
+ "version": "9.0.0",
5
5
  "description": "AppLovin MAX React Native Plugin for Android and iOS",
6
6
  "main": "lib/commonjs/index",
7
7
  "module": "lib/module/index",
@@ -117,5 +117,13 @@
117
117
  }
118
118
  ]
119
119
  ]
120
+ },
121
+ "codegenConfig": {
122
+ "name": "RNAppLovinMAXSpec",
123
+ "type": "all",
124
+ "jsSrcsDir": "./src/specs",
125
+ "android": {
126
+ "javaPackageName": "com.applovin.reactnative"
127
+ }
120
128
  }
121
129
  }
@@ -11,11 +11,11 @@ Pod::Spec.new do |s|
11
11
  s.authors = package["author"]
12
12
 
13
13
  s.platforms = { :ios => min_ios_version_supported }
14
- s.source = { :git => "https://github.com/AppLovin/AppLovin-MAX-React-Native.git", :tag => "release_8_1_1" }
14
+ s.source = { :git => "https://github.com/AppLovin/AppLovin-MAX-React-Native.git", :tag => "release_9_0_0" }
15
15
 
16
- s.source_files = "ios/AppLovinMAX*.{h,m}"
16
+ s.source_files = "ios/AppLovinMAX*.{h,mm}"
17
17
 
18
- s.dependency "AppLovinSDK", "13.0.1"
18
+ s.dependency "AppLovinSDK", "13.1.0"
19
19
 
20
20
  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
21
21
  # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
package/src/AdView.tsx CHANGED
@@ -1,31 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import { useEffect, useState, useRef, useCallback, useImperativeHandle, useReducer, forwardRef } from 'react';
3
- import { NativeModules, requireNativeComponent, StyleSheet, UIManager, findNodeHandle, useWindowDimensions, View } from 'react-native';
4
- import type { ViewProps, ViewStyle, StyleProp, NativeMethods, DimensionValue } from 'react-native';
5
- import type { AdDisplayFailedInfo, AdInfo, AdLoadFailedInfo, AdRevenueInfo } from './types/AdInfo';
6
- import type { AdNativeEvent } from './types/AdEvent';
7
- import type { AdViewProps, AdViewHandler, NativeUIComponentAdViewOptions, AdViewId } from './types/AdViewProps';
3
+ import { StyleSheet, useWindowDimensions, View } from 'react-native';
4
+ import type { NativeSyntheticEvent, ViewProps, ViewStyle, StyleProp, DimensionValue } from 'react-native';
5
+ import AppLovinMAX from './specs/NativeAppLovinMAXModule';
6
+ import AdViewComponent, { Commands } from './specs/AppLovinMAXAdViewNativeComponent';
7
+ import type { AdInfoEvent, AdLoadFailedEvent, AdDisplayFailedEvent } from './specs/AppLovinMAXAdViewNativeComponent';
8
8
  import { addEventListener, removeEventListener } from './EventEmitter';
9
+ import type { AdInfo, AdLoadFailedInfo } from './types/AdInfo';
10
+ import type { AdViewProps, AdViewHandler, NativeUIComponentAdViewOptions, AdViewId } from './types/AdViewProps';
11
+ import { makeExtraParametersArray, makeLocalExtraParametersArray } from './Utils';
9
12
 
10
- const { AppLovinMAX } = NativeModules;
11
-
12
- const {
13
- BANNER_AD_FORMAT_LABEL,
14
- MREC_AD_FORMAT_LABEL,
15
-
16
- TOP_CENTER_POSITION,
17
- TOP_LEFT_POSITION,
18
- TOP_RIGHT_POSITION,
19
- CENTERED_POSITION,
20
- CENTER_LEFT_POSITION,
21
- CENTER_RIGHT_POSITION,
22
- BOTTOM_LEFT_POSITION,
23
- BOTTOM_CENTER_POSITION,
24
- BOTTOM_RIGHT_POSITION,
25
-
26
- ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT,
27
- ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT,
28
- } = AppLovinMAX.getConstants();
13
+ const { ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT, ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT } = AppLovinMAX.getConstants();
29
14
 
30
15
  /**
31
16
  * Defines a format of an ad.
@@ -34,43 +19,29 @@ export enum AdFormat {
34
19
  /**
35
20
  * Banner ad.
36
21
  */
37
- BANNER = BANNER_AD_FORMAT_LABEL,
22
+ BANNER = 'BANNER',
38
23
 
39
24
  /**
40
25
  * MREC ad.
41
26
  */
42
- MREC = MREC_AD_FORMAT_LABEL,
27
+ MREC = 'MREC',
43
28
  }
44
29
 
45
30
  /**
46
31
  * Defines a position of a banner or MREC ad.
47
32
  */
48
33
  export enum AdViewPosition {
49
- TOP_CENTER = TOP_CENTER_POSITION,
50
- TOP_LEFT = TOP_LEFT_POSITION,
51
- TOP_RIGHT = TOP_RIGHT_POSITION,
52
- CENTERED = CENTERED_POSITION,
53
- CENTER_LEFT = CENTER_LEFT_POSITION,
54
- CENTER_RIGHT = CENTER_RIGHT_POSITION,
55
- BOTTOM_LEFT = BOTTOM_LEFT_POSITION,
56
- BOTTOM_CENTER = BOTTOM_CENTER_POSITION,
57
- BOTTOM_RIGHT = BOTTOM_RIGHT_POSITION,
34
+ TOP_CENTER = 'top_center',
35
+ TOP_LEFT = 'top_left',
36
+ TOP_RIGHT = 'top_right',
37
+ CENTERED = 'centered',
38
+ CENTER_LEFT = 'center_left',
39
+ CENTER_RIGHT = 'center_right',
40
+ BOTTOM_LEFT = 'bottom_left',
41
+ BOTTOM_CENTER = 'bottom_center',
42
+ BOTTOM_RIGHT = 'bottom_right',
58
43
  }
59
44
 
60
- type AdViewNativeEvents = {
61
- onAdLoadedEvent(event: AdNativeEvent<AdInfo>): void;
62
- onAdLoadFailedEvent(event: AdNativeEvent<AdLoadFailedInfo>): void;
63
- onAdDisplayFailedEvent(event: AdNativeEvent<AdDisplayFailedInfo>): void;
64
- onAdClickedEvent(event: AdNativeEvent<AdInfo>): void;
65
- onAdExpandedEvent(event: AdNativeEvent<AdInfo>): void;
66
- onAdCollapsedEvent(event: AdNativeEvent<AdInfo>): void;
67
- onAdRevenuePaidEvent(event: AdNativeEvent<AdRevenueInfo>): void;
68
- };
69
-
70
- const AdViewComponent = requireNativeComponent<AdViewProps & ViewProps & AdViewNativeEvents>('AppLovinMAXAdView');
71
-
72
- type AdViewType = React.Component<AdViewProps> & NativeMethods;
73
-
74
45
  type SizeKey = 'width' | 'height';
75
46
  type SizeRecord = Partial<Record<SizeKey, DimensionValue>>;
76
47
 
@@ -108,6 +79,21 @@ const sizeBannerDimensions = async (sizeProps: SizeRecord, adaptiveBannerEnabled
108
79
  return { width, height };
109
80
  };
110
81
 
82
+ const handleAdViewEvent = <T extends AdInfoEvent | AdLoadFailedEvent | AdDisplayFailedEvent>(event: NativeSyntheticEvent<T>, callback?: (adInfo: T) => void) => {
83
+ if (!callback) return;
84
+
85
+ let adInfo: any = { ...event.nativeEvent };
86
+
87
+ if ('size' in event.nativeEvent) {
88
+ adInfo.size = {
89
+ width: event.nativeEvent.size?.width ?? 0,
90
+ height: event.nativeEvent.size?.height ?? 0,
91
+ };
92
+ }
93
+
94
+ callback(adInfo);
95
+ };
96
+
111
97
  /**
112
98
  * The {@link AdView} component renders banner or MREC ads with responsive sizing.
113
99
  * - **Banners**: 320x50 on phones, 728x90 on tablets.
@@ -163,38 +149,17 @@ export const AdView = forwardRef<AdViewHandler, AdViewProps & ViewProps>(functio
163
149
  const { width: screenWidth } = useWindowDimensions();
164
150
  const adFormatSize = useRef<SizeRecord>({});
165
151
  const [, forceUpdate] = useReducer((x) => x + 1, 0);
166
- const adViewRef = useRef<AdViewType | null>(null);
152
+ const adViewRef = useRef<React.ElementRef<typeof AdViewComponent> | undefined>();
167
153
  const [isInitialized, setIsInitialized] = useState<boolean>(false);
168
154
  const sizeProps = useRef<SizeRecord>({});
169
155
  const dimensions = useRef<SizeRecord>({});
170
156
 
171
- const loadAd = useCallback(() => {
172
- if (adViewRef.current) {
173
- UIManager.dispatchViewManagerCommand(
174
- findNodeHandle(adViewRef.current),
175
- // @ts-ignore: Issue in RN ts defs
176
- UIManager.getViewManagerConfig('AppLovinMAXAdView').Commands.loadAd,
177
- undefined
178
- );
179
- }
180
- }, []);
181
-
182
- useImperativeHandle(ref, () => ({ loadAd }), [loadAd]);
183
-
184
- const saveElement = useCallback((element: AdViewType | null) => {
185
- adViewRef.current = element;
186
- }, []);
157
+ useImperativeHandle(ref, () => ({ loadAd: () => Commands.loadAd(adViewRef.current!) }), []);
187
158
 
188
159
  useEffect(() => {
189
160
  (async () => {
190
- if (adFormat === AdFormat.BANNER) {
191
- const isTablet = await AppLovinMAX.isTablet();
192
- adFormatSize.current = isTablet
193
- ? { width: ADVIEW_SIZE.leader.width, height: ADVIEW_SIZE.leader.height }
194
- : { width: ADVIEW_SIZE.banner.width, height: ADVIEW_SIZE.banner.height };
195
- } else {
196
- adFormatSize.current = { width: ADVIEW_SIZE.mrec.width, height: ADVIEW_SIZE.mrec.height };
197
- }
161
+ const isTablet = adFormat === AdFormat.BANNER ? await AppLovinMAX.isTablet() : false;
162
+ adFormatSize.current = adFormat === AdFormat.BANNER ? (isTablet ? ADVIEW_SIZE.leader : ADVIEW_SIZE.banner) : ADVIEW_SIZE.mrec;
198
163
 
199
164
  const initialized = await AppLovinMAX.isInitialized();
200
165
  setIsInitialized(initialized);
@@ -229,54 +194,19 @@ export const AdView = forwardRef<AdViewHandler, AdViewProps & ViewProps>(functio
229
194
  })();
230
195
  }, [adFormat, adaptiveBannerEnabled, isInitialized, screenWidth, style]);
231
196
 
232
- const onAdLoadedEvent = useCallback(
233
- (event: AdNativeEvent<AdInfo>) => {
234
- onAdLoaded?.(event.nativeEvent);
235
- },
236
- [onAdLoaded]
237
- );
197
+ const onAdLoadedEvent = useCallback((event: NativeSyntheticEvent<AdInfoEvent>) => handleAdViewEvent(event, onAdLoaded), [onAdLoaded]);
238
198
 
239
- const onAdLoadFailedEvent = useCallback(
240
- (event: AdNativeEvent<AdLoadFailedInfo>) => {
241
- onAdLoadFailed?.(event.nativeEvent);
242
- },
243
- [onAdLoadFailed]
244
- );
199
+ const onAdLoadFailedEvent = useCallback((event: NativeSyntheticEvent<AdLoadFailedEvent>) => handleAdViewEvent(event, onAdLoadFailed), [onAdLoadFailed]);
245
200
 
246
- const onAdDisplayFailedEvent = useCallback(
247
- (event: AdNativeEvent<AdDisplayFailedInfo>) => {
248
- onAdDisplayFailed?.(event.nativeEvent);
249
- },
250
- [onAdDisplayFailed]
251
- );
201
+ const onAdDisplayFailedEvent = useCallback((event: NativeSyntheticEvent<AdDisplayFailedEvent>) => handleAdViewEvent(event, onAdDisplayFailed), [onAdDisplayFailed]);
252
202
 
253
- const onAdClickedEvent = useCallback(
254
- (event: AdNativeEvent<AdInfo>) => {
255
- onAdClicked?.(event.nativeEvent);
256
- },
257
- [onAdClicked]
258
- );
203
+ const onAdClickedEvent = useCallback((event: NativeSyntheticEvent<AdInfoEvent>) => handleAdViewEvent(event, onAdClicked), [onAdClicked]);
259
204
 
260
- const onAdExpandedEvent = useCallback(
261
- (event: AdNativeEvent<AdInfo>) => {
262
- onAdExpanded?.(event.nativeEvent);
263
- },
264
- [onAdExpanded]
265
- );
205
+ const onAdExpandedEvent = useCallback((event: NativeSyntheticEvent<AdInfoEvent>) => handleAdViewEvent(event, onAdExpanded), [onAdExpanded]);
266
206
 
267
- const onAdCollapsedEvent = useCallback(
268
- (event: AdNativeEvent<AdInfo>) => {
269
- onAdCollapsed?.(event.nativeEvent);
270
- },
271
- [onAdCollapsed]
272
- );
207
+ const onAdCollapsedEvent = useCallback((event: NativeSyntheticEvent<AdInfoEvent>) => handleAdViewEvent(event, onAdCollapsed), [onAdCollapsed]);
273
208
 
274
- const onAdRevenuePaidEvent = useCallback(
275
- (event: AdNativeEvent<AdRevenueInfo>) => {
276
- onAdRevenuePaid?.(event.nativeEvent);
277
- },
278
- [onAdRevenuePaid]
279
- );
209
+ const onAdRevenuePaidEvent = useCallback((event: NativeSyntheticEvent<AdInfoEvent>) => handleAdViewEvent(event, onAdRevenuePaid), [onAdRevenuePaid]);
280
210
 
281
211
  if (!isInitialized || Object.keys(dimensions.current).length === 0) {
282
212
  // Early return if not initialized or dimensions are not set
@@ -285,7 +215,7 @@ export const AdView = forwardRef<AdViewHandler, AdViewProps & ViewProps>(functio
285
215
 
286
216
  return (
287
217
  <AdViewComponent
288
- ref={saveElement}
218
+ ref={(element) => (adViewRef.current = element ?? undefined)}
289
219
  adUnitId={adUnitId}
290
220
  adFormat={adFormat}
291
221
  adViewId={adViewId || 0}
@@ -294,8 +224,9 @@ export const AdView = forwardRef<AdViewHandler, AdViewProps & ViewProps>(functio
294
224
  adaptiveBannerEnabled={adaptiveBannerEnabled}
295
225
  autoRefresh={autoRefresh}
296
226
  loadOnMount={loadOnMount}
297
- extraParameters={extraParameters}
298
- localExtraParameters={localExtraParameters}
227
+ extraParameters={makeExtraParametersArray(extraParameters)}
228
+ strLocalExtraParameters={makeLocalExtraParametersArray(localExtraParameters, 'str')}
229
+ boolLocalExtraParameters={makeLocalExtraParametersArray(localExtraParameters, 'bool')}
299
230
  onAdLoadedEvent={onAdLoadedEvent}
300
231
  onAdLoadFailedEvent={onAdLoadFailedEvent}
301
232
  onAdDisplayFailedEvent={onAdDisplayFailedEvent}
@@ -322,8 +253,9 @@ export const AdView = forwardRef<AdViewHandler, AdViewProps & ViewProps>(functio
322
253
  * @returns A promise resolving to an {@link AdViewId}, which uniquely identifies the preloaded component.
323
254
  * @throws An error if the preload request fails.
324
255
  */
325
- export const preloadNativeUIComponentAdView = async (adUnitId: string, adFormat: AdFormat, options?: NativeUIComponentAdViewOptions): Promise<AdViewId> => {
326
- return AppLovinMAX.preloadNativeUIComponentAdView(adUnitId, adFormat, options?.placement, options?.customData, options?.extraParameters, options?.localExtraParameters);
256
+ export const preloadNativeUIComponentAdView = async (adUnitId: string, adFormat: AdFormat, options: NativeUIComponentAdViewOptions = {}): Promise<AdViewId> => {
257
+ const { placement = null, customData = null, extraParameters = {}, localExtraParameters = {} } = options;
258
+ return AppLovinMAX.preloadNativeUIComponentAdView(adUnitId, adFormat, placement, customData, extraParameters, localExtraParameters);
327
259
  };
328
260
 
329
261
  /**
@@ -336,6 +268,9 @@ export const preloadNativeUIComponentAdView = async (adUnitId: string, adFormat:
336
268
  * @throws An error if the destruction process fails.
337
269
  */
338
270
  export const destroyNativeUIComponentAdView = async (adViewId: AdViewId): Promise<void> => {
271
+ if (adViewId === undefined) {
272
+ return Promise.reject(new Error('adViewId is not provided'));
273
+ }
339
274
  return AppLovinMAX.destroyNativeUIComponentAdView(adViewId);
340
275
  };
341
276
 
@@ -1,10 +1,8 @@
1
- import { NativeModules } from 'react-native';
2
1
  import type { AppLovinMAXType } from './types/AppLovinMAX';
3
2
  import type { Configuration } from './types/Configuration';
3
+ import NativeAppLovinMAX from './specs/NativeAppLovinMAXModule';
4
4
 
5
- const NativeAppLovinMAX = NativeModules.AppLovinMAX;
6
-
7
- const VERSION = '8.1.1';
5
+ const VERSION = '9.0.0';
8
6
 
9
7
  /**
10
8
  * This enum represents the user's geography used to determine the type of consent flow shown to the
@@ -101,10 +99,11 @@ const getSegments = async (): Promise<Map<number, number[]> | null> => {
101
99
  const map = new Map<number, number[]>();
102
100
 
103
101
  for (const key in segments) {
104
- if (segments.hasOwnProperty(key)) {
105
- // Convert the key from a string to a number. In JavaScript, an object cannot have an
106
- // integer as a key, but the Map object can have keys of any data type.
107
- map.set(Number(key), segments[key]);
102
+ // Convert the key from a string to a number. In JavaScript, an object cannot have an
103
+ // integer as a key, but the Map object can have keys of any data type.
104
+ const value = segments[key];
105
+ if (value) {
106
+ map.set(Number(key), value);
108
107
  }
109
108
  }
110
109
 
package/src/AppOpenAd.ts CHANGED
@@ -1,10 +1,8 @@
1
- import { NativeModules } from 'react-native';
2
1
  import { addEventListener, removeEventListener } from './EventEmitter';
3
- import type { AdDisplayFailedInfo, AdInfo, AdLoadFailedInfo, AdRevenueInfo } from './types/AdInfo';
2
+ import type { AdDisplayFailedInfo, AdInfo, AdLoadFailedInfo } from './types/AdInfo';
4
3
  import type { LocalExtraParameterValue } from './types/AdProps';
5
4
  import type { AppOpenAdType } from './types/AppOpenAd';
6
-
7
- const { AppLovinMAX } = NativeModules;
5
+ import AppLovinMAX from './specs/NativeAppLovinMAXModule';
8
6
 
9
7
  const {
10
8
  ON_APPOPEN_AD_LOADED_EVENT,
@@ -84,7 +82,7 @@ const removeAdHiddenEventListener = (): void => {
84
82
  removeEventListener(ON_APPOPEN_AD_HIDDEN_EVENT);
85
83
  };
86
84
 
87
- const addAdRevenuePaidListener = (listener: (adInfo: AdRevenueInfo) => void): void => {
85
+ const addAdRevenuePaidListener = (listener: (adInfo: AdInfo) => void): void => {
88
86
  addEventListener(ON_APPOPEN_AD_REVENUE_PAID, listener);
89
87
  };
90
88
 
package/src/BannerAd.ts CHANGED
@@ -1,11 +1,9 @@
1
- import { NativeModules } from 'react-native';
2
1
  import { addEventListener, removeEventListener } from './EventEmitter';
3
- import type { AdInfo, AdLoadFailedInfo, AdRevenueInfo } from './types/AdInfo';
2
+ import type { AdInfo, AdLoadFailedInfo } from './types/AdInfo';
4
3
  import type { LocalExtraParameterValue } from './types/AdProps';
5
4
  import type { BannerAdType } from './types/BannerAd';
6
5
  import type { AdViewPosition } from './AdView';
7
-
8
- const { AppLovinMAX } = NativeModules;
6
+ import AppLovinMAX from './specs/NativeAppLovinMAXModule';
9
7
 
10
8
  const {
11
9
  ON_BANNER_AD_LOADED_EVENT,
@@ -101,7 +99,7 @@ const removeAdExpandedEventListener = (): void => {
101
99
  removeEventListener(ON_BANNER_AD_EXPANDED_EVENT);
102
100
  };
103
101
 
104
- const addAdRevenuePaidListener = (listener: (adInfo: AdRevenueInfo) => void): void => {
102
+ const addAdRevenuePaidListener = (listener: (adInfo: AdInfo) => void): void => {
105
103
  addEventListener(ON_BANNER_AD_REVENUE_PAID, listener);
106
104
  };
107
105
 
package/src/ErrorCode.ts CHANGED
@@ -1,6 +1,4 @@
1
- import { NativeModules } from 'react-native';
2
-
3
- const { AppLovinMAX } = NativeModules;
1
+ import AppLovinMAX from './specs/NativeAppLovinMAXModule';
4
2
 
5
3
  const {
6
4
  MAX_ERROR_CODE_UNSPECIFIED,
@@ -1,8 +1,7 @@
1
- import { NativeModules, NativeEventEmitter } from 'react-native';
1
+ import { NativeEventEmitter } from 'react-native';
2
2
  import type { EventSubscription } from 'react-native';
3
3
  import type { AdEventObject, AdEventListener } from './types/AdEvent';
4
-
5
- const { AppLovinMAX } = NativeModules;
4
+ import AppLovinMAX from './specs/NativeAppLovinMAXModule';
6
5
 
7
6
  // Note that this is a singleton in ES6 module
8
7
  const emitter = new NativeEventEmitter(AppLovinMAX);