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.
- package/android/build.gradle +14 -3
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdView.java +33 -26
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewManagerImpl.java +110 -0
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewUiComponent.java +17 -15
- package/android/src/main/java/com/applovin/reactnative/{AppLovinMAXModule.java → AppLovinMAXModuleImpl.java} +115 -179
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdView.java +84 -56
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdViewManagerImpl.java +101 -0
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXPackage.java +44 -11
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXUtils.java +56 -0
- package/android/src/newarch/com/applovin/reactnative/AppLovinMAXAdViewManager.java +151 -0
- package/android/src/newarch/com/applovin/reactnative/AppLovinMAXModule.java +453 -0
- package/android/src/newarch/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +130 -0
- package/android/src/oldarch/com/applovin/reactnative/AppLovinMAXAdViewManager.java +128 -0
- package/android/src/oldarch/com/applovin/reactnative/AppLovinMAXModule.java +453 -0
- package/android/src/oldarch/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +93 -0
- package/ios/AppLovinMAX.h +8 -8
- package/ios/{AppLovinMAX.m → AppLovinMAX.mm} +73 -64
- package/ios/AppLovinMAXAdView.h +7 -2
- package/ios/AppLovinMAXAdView.mm +747 -0
- package/ios/{AppLovinMAXAdViewManager.m → AppLovinMAXAdViewManager.mm} +3 -2
- package/ios/{AppLovinMAXAdViewUIComponent.m → AppLovinMAXAdViewUIComponent.mm} +2 -1
- package/ios/AppLovinMAXNativeAdView.h +15 -4
- package/ios/AppLovinMAXNativeAdView.mm +745 -0
- package/ios/AppLovinMAXNativeAdViewManager.mm +116 -0
- package/lib/commonjs/AdView.js +67 -85
- package/lib/commonjs/AdView.js.map +1 -1
- package/lib/commonjs/AppLovinMAX.js +51 -10
- package/lib/commonjs/AppLovinMAX.js.map +1 -1
- package/lib/commonjs/AppOpenAd.js +8 -10
- package/lib/commonjs/AppOpenAd.js.map +1 -1
- package/lib/commonjs/BannerAd.js +19 -21
- package/lib/commonjs/BannerAd.js.map +1 -1
- package/lib/commonjs/ErrorCode.js +57 -5
- package/lib/commonjs/ErrorCode.js.map +1 -1
- package/lib/commonjs/EventEmitter.js +3 -5
- package/lib/commonjs/EventEmitter.js.map +1 -1
- package/lib/commonjs/InterstitialAd.js +8 -10
- package/lib/commonjs/InterstitialAd.js.map +1 -1
- package/lib/commonjs/MRecAd.js +14 -16
- package/lib/commonjs/MRecAd.js.map +1 -1
- package/lib/commonjs/Privacy.js +3 -5
- package/lib/commonjs/Privacy.js.map +1 -1
- package/lib/commonjs/RewardedAd.js +8 -10
- package/lib/commonjs/RewardedAd.js.map +1 -1
- package/lib/commonjs/Utils.js +25 -0
- package/lib/commonjs/Utils.js.map +1 -0
- package/lib/commonjs/nativeAd/NativeAdView.js +65 -42
- package/lib/commonjs/nativeAd/NativeAdView.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js +51 -47
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js +38 -8
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js.map +1 -1
- package/lib/commonjs/nativeAd/img/blank_icon.png +0 -0
- package/lib/commonjs/specs/AppLovinMAXAdViewNativeComponent.js +14 -0
- package/lib/commonjs/specs/AppLovinMAXAdViewNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/AppLovinMAXNativeAdViewNativeComponent.js +14 -0
- package/lib/commonjs/specs/AppLovinMAXNativeAdViewNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/NativeAppLovinMAXModule.js +9 -0
- package/lib/commonjs/specs/NativeAppLovinMAXModule.js.map +1 -0
- package/lib/commonjs/types/AdInfo.js +10 -3
- package/lib/commonjs/types/AdInfo.js.map +1 -1
- package/lib/module/AdView.js +62 -81
- package/lib/module/AdView.js.map +1 -1
- package/lib/module/AppLovinMAX.js +47 -7
- package/lib/module/AppLovinMAX.js.map +1 -1
- package/lib/module/AppOpenAd.js +1 -4
- package/lib/module/AppOpenAd.js.map +1 -1
- package/lib/module/BannerAd.js +1 -4
- package/lib/module/BannerAd.js.map +1 -1
- package/lib/module/ErrorCode.js +55 -4
- package/lib/module/ErrorCode.js.map +1 -1
- package/lib/module/EventEmitter.js +2 -4
- package/lib/module/EventEmitter.js.map +1 -1
- package/lib/module/InterstitialAd.js +2 -5
- package/lib/module/InterstitialAd.js.map +1 -1
- package/lib/module/MRecAd.js +1 -4
- package/lib/module/MRecAd.js.map +1 -1
- package/lib/module/Privacy.js +1 -4
- package/lib/module/Privacy.js.map +1 -1
- package/lib/module/RewardedAd.js +2 -5
- package/lib/module/RewardedAd.js.map +1 -1
- package/lib/module/Utils.js +17 -0
- package/lib/module/Utils.js.map +1 -0
- package/lib/module/nativeAd/NativeAdView.js +63 -40
- package/lib/module/nativeAd/NativeAdView.js.map +1 -1
- package/lib/module/nativeAd/NativeAdViewComponents.js +53 -49
- package/lib/module/nativeAd/NativeAdViewComponents.js.map +1 -1
- package/lib/module/nativeAd/NativeAdViewProvider.js +39 -9
- package/lib/module/nativeAd/NativeAdViewProvider.js.map +1 -1
- package/lib/module/nativeAd/img/blank_icon.png +0 -0
- package/lib/module/specs/AppLovinMAXAdViewNativeComponent.js +7 -0
- package/lib/module/specs/AppLovinMAXAdViewNativeComponent.js.map +1 -0
- package/lib/module/specs/AppLovinMAXNativeAdViewNativeComponent.js +7 -0
- package/lib/module/specs/AppLovinMAXNativeAdViewNativeComponent.js.map +1 -0
- package/lib/module/specs/NativeAppLovinMAXModule.js +3 -0
- package/lib/module/specs/NativeAppLovinMAXModule.js.map +1 -0
- package/lib/module/types/AdInfo.js +10 -4
- package/lib/module/types/AdInfo.js.map +1 -1
- package/lib/typescript/src/AdView.d.ts +16 -16
- package/lib/typescript/src/AdView.d.ts.map +1 -1
- package/lib/typescript/src/AppLovinMAX.d.ts.map +1 -1
- package/lib/typescript/src/AppOpenAd.d.ts.map +1 -1
- package/lib/typescript/src/BannerAd.d.ts.map +1 -1
- package/lib/typescript/src/ErrorCode.d.ts.map +1 -1
- package/lib/typescript/src/EventEmitter.d.ts.map +1 -1
- package/lib/typescript/src/InterstitialAd.d.ts.map +1 -1
- package/lib/typescript/src/MRecAd.d.ts.map +1 -1
- package/lib/typescript/src/Privacy.d.ts.map +1 -1
- package/lib/typescript/src/RewardedAd.d.ts.map +1 -1
- package/lib/typescript/src/Utils.d.ts +16 -0
- package/lib/typescript/src/Utils.d.ts.map +1 -0
- package/lib/typescript/src/nativeAd/NativeAdView.d.ts.map +1 -1
- package/lib/typescript/src/nativeAd/NativeAdViewComponents.d.ts +1 -1
- package/lib/typescript/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -1
- package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts +14 -5
- package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -1
- package/lib/typescript/src/specs/AppLovinMAXAdViewNativeComponent.d.ts +86 -0
- package/lib/typescript/src/specs/AppLovinMAXAdViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/AppLovinMAXNativeAdViewNativeComponent.d.ts +80 -0
- package/lib/typescript/src/specs/AppLovinMAXNativeAdViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeAppLovinMAXModule.d.ts +132 -0
- package/lib/typescript/src/specs/NativeAppLovinMAXModule.d.ts.map +1 -0
- package/lib/typescript/src/types/AdEvent.d.ts +2 -2
- package/lib/typescript/src/types/AdEvent.d.ts.map +1 -1
- package/lib/typescript/src/types/AdInfo.d.ts +24 -25
- package/lib/typescript/src/types/AdInfo.d.ts.map +1 -1
- package/lib/typescript/src/types/AdProps.d.ts +4 -4
- package/lib/typescript/src/types/AdProps.d.ts.map +1 -1
- package/lib/typescript/src/types/FullscreenAd.d.ts +4 -4
- package/lib/typescript/src/types/FullscreenAd.d.ts.map +1 -1
- package/lib/typescript/src/types/NativeAd.d.ts +4 -0
- package/lib/typescript/src/types/NativeAd.d.ts.map +1 -1
- package/lib/typescript/src/types/ViewAd.d.ts +4 -4
- package/lib/typescript/src/types/ViewAd.d.ts.map +1 -1
- package/package.json +9 -1
- package/react-native-applovin-max.podspec +3 -3
- package/src/AdView.tsx +56 -121
- package/src/AppLovinMAX.ts +7 -8
- package/src/AppOpenAd.ts +3 -5
- package/src/BannerAd.ts +3 -5
- package/src/ErrorCode.ts +1 -3
- package/src/EventEmitter.ts +2 -3
- package/src/InterstitialAd.ts +4 -6
- package/src/MRecAd.ts +3 -5
- package/src/Privacy.ts +1 -3
- package/src/RewardedAd.ts +4 -6
- package/src/Utils.ts +26 -0
- package/src/nativeAd/NativeAdView.tsx +65 -65
- package/src/nativeAd/NativeAdViewComponents.tsx +32 -60
- package/src/nativeAd/NativeAdViewProvider.tsx +37 -12
- package/src/nativeAd/img/blank_icon.png +0 -0
- package/src/specs/AppLovinMAXAdViewNativeComponent.ts +96 -0
- package/src/specs/AppLovinMAXNativeAdViewNativeComponent.ts +89 -0
- package/src/specs/NativeAppLovinMAXModule.ts +208 -0
- package/src/types/AdEvent.ts +2 -2
- package/src/types/AdInfo.ts +28 -28
- package/src/types/AdProps.ts +4 -4
- package/src/types/FullscreenAd.ts +4 -4
- package/src/types/NativeAd.ts +5 -0
- package/src/types/ViewAd.ts +4 -4
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewManager.java +0 -149
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +0 -163
- package/ios/AppLovinMAXAdView.m +0 -323
- package/ios/AppLovinMAXNativeAdView.m +0 -432
- 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
|
|
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":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;OAEG;IACH,SAAS,EAAE,eAAe,CAAC;
|
|
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
|
|
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
|
|
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]:
|
|
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:
|
|
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,
|
|
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,
|
|
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
|
|
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<
|
|
116
|
+
addAdRevenuePaidListener(listener: AdEventListener<AdInfo>): void;
|
|
117
117
|
/**
|
|
118
|
-
* Removes the event listener to receive {@link
|
|
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,
|
|
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"}
|
|
@@ -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
|
|
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
|
|
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<
|
|
134
|
+
addAdRevenuePaidListener(listener: AdEventListener<AdInfo>): void;
|
|
135
135
|
/**
|
|
136
|
-
* Removes the event listener to receive {@link
|
|
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,
|
|
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": "
|
|
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 => "
|
|
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,
|
|
16
|
+
s.source_files = "ios/AppLovinMAX*.{h,mm}"
|
|
17
17
|
|
|
18
|
-
s.dependency "AppLovinSDK", "13.0
|
|
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 {
|
|
4
|
-
import type { ViewProps, ViewStyle, StyleProp,
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import type {
|
|
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 {
|
|
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 =
|
|
22
|
+
BANNER = 'BANNER',
|
|
38
23
|
|
|
39
24
|
/**
|
|
40
25
|
* MREC ad.
|
|
41
26
|
*/
|
|
42
|
-
MREC =
|
|
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 =
|
|
50
|
-
TOP_LEFT =
|
|
51
|
-
TOP_RIGHT =
|
|
52
|
-
CENTERED =
|
|
53
|
-
CENTER_LEFT =
|
|
54
|
-
CENTER_RIGHT =
|
|
55
|
-
BOTTOM_LEFT =
|
|
56
|
-
BOTTOM_CENTER =
|
|
57
|
-
BOTTOM_RIGHT =
|
|
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<
|
|
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
|
-
|
|
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
|
-
|
|
191
|
-
|
|
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={
|
|
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
|
-
|
|
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
|
|
326
|
-
|
|
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
|
|
package/src/AppLovinMAX.ts
CHANGED
|
@@ -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
|
|
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
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
|
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:
|
|
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
|
|
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:
|
|
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
package/src/EventEmitter.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
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);
|