react-native-applovin-max 9.0.0 → 9.2.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 +3 -3
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdView.java +4 -10
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewUiComponent.java +17 -8
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXModuleImpl.java +36 -14
- package/android/src/newarch/com/applovin/reactnative/AppLovinMAXModule.java +6 -6
- package/android/src/oldarch/com/applovin/reactnative/AppLovinMAXModule.java +6 -6
- package/ios/AppLovinMAX.mm +36 -13
- package/ios/AppLovinMAXAdView.h +1 -0
- package/ios/AppLovinMAXAdView.mm +3 -9
- package/ios/AppLovinMAXAdViewUIComponent.h +1 -2
- package/ios/AppLovinMAXAdViewUIComponent.mm +18 -10
- package/lib/commonjs/AdView.js +63 -79
- package/lib/commonjs/AdView.js.map +1 -1
- package/lib/commonjs/AppLovinMAX.js +43 -29
- package/lib/commonjs/AppLovinMAX.js.map +1 -1
- package/lib/commonjs/BannerAd.js +2 -3
- package/lib/commonjs/BannerAd.js.map +1 -1
- package/lib/commonjs/ErrorCode.js +24 -31
- package/lib/commonjs/ErrorCode.js.map +1 -1
- package/lib/commonjs/EventEmitter.js +22 -1
- package/lib/commonjs/EventEmitter.js.map +1 -1
- package/lib/commonjs/Utils.js +22 -4
- package/lib/commonjs/Utils.js.map +1 -1
- package/lib/commonjs/index.js +1 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdView.js +34 -24
- package/lib/commonjs/nativeAd/NativeAdView.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js +85 -43
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js +30 -2
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js.map +1 -1
- package/lib/commonjs/specs/AppLovinMAXAdViewNativeComponent.js +27 -0
- package/lib/commonjs/specs/AppLovinMAXAdViewNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/AppLovinMAXNativeAdViewNativeComponent.js +23 -0
- package/lib/commonjs/specs/AppLovinMAXNativeAdViewNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/NativeAppLovinMAXModule.js +7 -0
- package/lib/commonjs/specs/NativeAppLovinMAXModule.js.map +1 -1
- package/lib/commonjs/types/AdInfo.js +13 -16
- package/lib/commonjs/types/AdInfo.js.map +1 -1
- package/lib/module/AdView.js +62 -77
- package/lib/module/AdView.js.map +1 -1
- package/lib/module/AppLovinMAX.js +44 -29
- package/lib/module/AppLovinMAX.js.map +1 -1
- package/lib/module/BannerAd.js +2 -3
- package/lib/module/BannerAd.js.map +1 -1
- package/lib/module/ErrorCode.js +24 -31
- package/lib/module/ErrorCode.js.map +1 -1
- package/lib/module/EventEmitter.js +22 -1
- package/lib/module/EventEmitter.js.map +1 -1
- package/lib/module/Utils.js +22 -4
- package/lib/module/Utils.js.map +1 -1
- package/lib/module/nativeAd/NativeAdView.js +34 -21
- package/lib/module/nativeAd/NativeAdView.js.map +1 -1
- package/lib/module/nativeAd/NativeAdViewComponents.js +87 -40
- package/lib/module/nativeAd/NativeAdViewComponents.js.map +1 -1
- package/lib/module/nativeAd/NativeAdViewProvider.js +30 -0
- package/lib/module/nativeAd/NativeAdViewProvider.js.map +1 -1
- package/lib/module/specs/AppLovinMAXAdViewNativeComponent.js +28 -0
- package/lib/module/specs/AppLovinMAXAdViewNativeComponent.js.map +1 -1
- package/lib/module/specs/AppLovinMAXNativeAdViewNativeComponent.js +24 -0
- package/lib/module/specs/AppLovinMAXNativeAdViewNativeComponent.js.map +1 -1
- package/lib/module/specs/NativeAppLovinMAXModule.js +9 -0
- package/lib/module/specs/NativeAppLovinMAXModule.js.map +1 -1
- package/lib/module/types/AdInfo.js +13 -16
- package/lib/module/types/AdInfo.js.map +1 -1
- package/lib/typescript/src/AdView.d.ts +27 -21
- package/lib/typescript/src/AdView.d.ts.map +1 -1
- package/lib/typescript/src/AppLovinMAX.d.ts +22 -21
- package/lib/typescript/src/AppLovinMAX.d.ts.map +1 -1
- package/lib/typescript/src/BannerAd.d.ts.map +1 -1
- package/lib/typescript/src/ErrorCode.d.ts +24 -31
- package/lib/typescript/src/ErrorCode.d.ts.map +1 -1
- package/lib/typescript/src/EventEmitter.d.ts +16 -0
- package/lib/typescript/src/EventEmitter.d.ts.map +1 -1
- package/lib/typescript/src/Utils.d.ts +15 -0
- package/lib/typescript/src/Utils.d.ts.map +1 -1
- package/lib/typescript/src/nativeAd/NativeAdView.d.ts +15 -7
- package/lib/typescript/src/nativeAd/NativeAdView.d.ts.map +1 -1
- package/lib/typescript/src/nativeAd/NativeAdViewComponents.d.ts +65 -1
- package/lib/typescript/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -1
- package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts +17 -0
- package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -1
- package/lib/typescript/src/specs/AppLovinMAXAdViewNativeComponent.d.ts +45 -1
- package/lib/typescript/src/specs/AppLovinMAXAdViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/AppLovinMAXNativeAdViewNativeComponent.d.ts +57 -6
- package/lib/typescript/src/specs/AppLovinMAXNativeAdViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeAppLovinMAXModule.d.ts +13 -3
- package/lib/typescript/src/specs/NativeAppLovinMAXModule.d.ts.map +1 -1
- package/lib/typescript/src/types/AdEvent.d.ts +10 -4
- package/lib/typescript/src/types/AdEvent.d.ts.map +1 -1
- package/lib/typescript/src/types/AdInfo.d.ts +78 -85
- package/lib/typescript/src/types/AdInfo.d.ts.map +1 -1
- package/lib/typescript/src/types/AdProps.d.ts +14 -15
- package/lib/typescript/src/types/AdProps.d.ts.map +1 -1
- package/lib/typescript/src/types/AdViewProps.d.ts +32 -29
- package/lib/typescript/src/types/AdViewProps.d.ts.map +1 -1
- package/lib/typescript/src/types/AppLovinMAX.d.ts +50 -53
- package/lib/typescript/src/types/AppLovinMAX.d.ts.map +1 -1
- package/lib/typescript/src/types/BannerAd.d.ts +24 -18
- package/lib/typescript/src/types/BannerAd.d.ts.map +1 -1
- package/lib/typescript/src/types/CMPError.d.ts +7 -4
- package/lib/typescript/src/types/CMPError.d.ts.map +1 -1
- package/lib/typescript/src/types/Configuration.d.ts +12 -14
- package/lib/typescript/src/types/Configuration.d.ts.map +1 -1
- package/lib/typescript/src/types/FullscreenAd.d.ts +39 -46
- package/lib/typescript/src/types/FullscreenAd.d.ts.map +1 -1
- package/lib/typescript/src/types/MRecAd.d.ts +7 -3
- package/lib/typescript/src/types/MRecAd.d.ts.map +1 -1
- package/lib/typescript/src/types/NativeAd.d.ts +12 -11
- package/lib/typescript/src/types/NativeAd.d.ts.map +1 -1
- package/lib/typescript/src/types/NativeAdViewProps.d.ts +4 -3
- package/lib/typescript/src/types/NativeAdViewProps.d.ts.map +1 -1
- package/lib/typescript/src/types/Privacy.d.ts +13 -6
- package/lib/typescript/src/types/Privacy.d.ts.map +1 -1
- package/lib/typescript/src/types/RewardedAd.d.ts +7 -5
- package/lib/typescript/src/types/RewardedAd.d.ts.map +1 -1
- package/lib/typescript/src/types/ViewAd.d.ts +46 -50
- package/lib/typescript/src/types/ViewAd.d.ts.map +1 -1
- package/package.json +1 -1
- package/react-native-applovin-max.podspec +2 -2
- package/src/AdView.tsx +64 -82
- package/src/AppLovinMAX.ts +39 -29
- package/src/BannerAd.ts +2 -3
- package/src/ErrorCode.ts +24 -31
- package/src/EventEmitter.ts +20 -2
- package/src/Utils.ts +20 -1
- package/src/nativeAd/NativeAdView.tsx +31 -21
- package/src/nativeAd/NativeAdViewComponents.tsx +97 -38
- package/src/nativeAd/NativeAdViewProvider.tsx +23 -0
- package/src/specs/AppLovinMAXAdViewNativeComponent.ts +62 -1
- package/src/specs/AppLovinMAXNativeAdViewNativeComponent.ts +70 -6
- package/src/specs/NativeAppLovinMAXModule.ts +77 -56
- package/src/types/AdEvent.ts +10 -4
- package/src/types/AdInfo.ts +78 -85
- package/src/types/AdProps.ts +14 -15
- package/src/types/AdViewProps.ts +33 -29
- package/src/types/AppLovinMAX.ts +50 -53
- package/src/types/BannerAd.ts +24 -18
- package/src/types/CMPError.ts +7 -4
- package/src/types/Configuration.ts +12 -14
- package/src/types/FullscreenAd.ts +39 -46
- package/src/types/MRecAd.ts +7 -3
- package/src/types/NativeAd.ts +12 -11
- package/src/types/NativeAdViewProps.ts +4 -3
- package/src/types/Privacy.ts +13 -6
- package/src/types/RewardedAd.ts +7 -5
- package/src/types/ViewAd.ts +46 -50
|
@@ -22,74 +22,67 @@ const {
|
|
|
22
22
|
} = _NativeAppLovinMAXModule.default.getConstants();
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
* display.
|
|
25
|
+
* Error codes returned by the AppLovin MAX SDK when an ad fails to load or display.
|
|
27
26
|
*/
|
|
28
27
|
let ErrorCode = exports.ErrorCode = /*#__PURE__*/function (ErrorCode) {
|
|
29
28
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
29
|
+
* An unspecified error occurred.
|
|
30
|
+
* See the `message` field for more details.
|
|
32
31
|
*/
|
|
33
32
|
ErrorCode[ErrorCode["UNSPECIFIED"] = MAX_ERROR_CODE_UNSPECIFIED] = "UNSPECIFIED";
|
|
34
33
|
/**
|
|
35
|
-
*
|
|
36
|
-
* app/device.
|
|
34
|
+
* No eligible ads were returned from any mediated networks.
|
|
37
35
|
*/
|
|
38
36
|
ErrorCode[ErrorCode["NO_FILL"] = MAX_ERROR_CODE_NO_FILL] = "NO_FILL";
|
|
39
37
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
38
|
+
* Eligible ads were returned but all failed to load.
|
|
39
|
+
* See `adLoadFailureInfo` for more details.
|
|
42
40
|
*/
|
|
43
41
|
ErrorCode[ErrorCode["AD_LOAD_FAILED"] = MAX_ERROR_CODE_AD_LOAD_FAILED] = "AD_LOAD_FAILED";
|
|
44
42
|
/**
|
|
45
|
-
*
|
|
43
|
+
* An error occurred while attempting to display the ad.
|
|
46
44
|
*/
|
|
47
45
|
ErrorCode[ErrorCode["AD_DISPLAY_FAILED"] = MAX_ERROR_CODE_AD_DISPLAY_FAILED] = "AD_DISPLAY_FAILED";
|
|
48
46
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
47
|
+
* The ad request failed due to a general network issue.
|
|
48
|
+
* See the `message` field for details.
|
|
51
49
|
*/
|
|
52
50
|
ErrorCode[ErrorCode["NETWORK_ERROR"] = MAX_ERROR_CODE_NETWORK_ERROR] = "NETWORK_ERROR";
|
|
53
51
|
/**
|
|
54
|
-
*
|
|
52
|
+
* The ad request timed out, likely due to a slow internet connection.
|
|
55
53
|
*/
|
|
56
54
|
ErrorCode[ErrorCode["NETWORK_TIMEOUT"] = MAX_ERROR_CODE_NETWORK_TIMEOUT] = "NETWORK_TIMEOUT";
|
|
57
55
|
/**
|
|
58
|
-
*
|
|
59
|
-
* internet.
|
|
56
|
+
* The ad request failed because the device was offline.
|
|
60
57
|
*/
|
|
61
58
|
ErrorCode[ErrorCode["NO_NETWORK"] = MAX_ERROR_CODE_NO_NETWORK] = "NO_NETWORK";
|
|
62
59
|
/**
|
|
63
|
-
*
|
|
64
|
-
* is still showing.
|
|
60
|
+
* A fullscreen ad was requested while another one was already showing.
|
|
65
61
|
*/
|
|
66
62
|
ErrorCode[ErrorCode["FULLSCREEN_AD_ALREADY_SHOWING"] = MAX_ERROR_CODE_FULLSCREEN_AD_ALREADY_SHOWING] = "FULLSCREEN_AD_ALREADY_SHOWING";
|
|
67
63
|
/**
|
|
68
|
-
*
|
|
69
|
-
* loaded.
|
|
64
|
+
* A fullscreen ad was requested before it had finished loading.
|
|
70
65
|
*/
|
|
71
66
|
ErrorCode[ErrorCode["FULLSCREEN_AD_NOT_READY"] = MAX_ERROR_CODE_FULLSCREEN_AD_NOT_READY] = "FULLSCREEN_AD_NOT_READY";
|
|
72
67
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* **iOS ONLY**.
|
|
68
|
+
* The ad was presented from an invalid view controller.
|
|
69
|
+
* **iOS only**.
|
|
76
70
|
*/
|
|
77
71
|
ErrorCode[ErrorCode["FULLSCREEN_AD_INVALID_VIEW_CONTROLLER"] = MAX_ERROR_CODE_FULLSCREEN_AD_INVALID_VIEW_CONTROLLER] = "FULLSCREEN_AD_INVALID_VIEW_CONTROLLER";
|
|
78
72
|
/**
|
|
79
|
-
*
|
|
80
|
-
* "Don't Keep Activities" developer setting enabled.
|
|
81
|
-
* **Android
|
|
73
|
+
* The SDK was unable to display the ad because the
|
|
74
|
+
* "Don't Keep Activities" developer setting is enabled.
|
|
75
|
+
* **Android only**.
|
|
82
76
|
*/
|
|
83
77
|
ErrorCode[ErrorCode["DONT_KEEP_ACTIVITIES_ENABLED"] = MAX_ERROR_CODE_DONT_KEEP_ACTIVITIES_ENABLED] = "DONT_KEEP_ACTIVITIES_ENABLED";
|
|
84
78
|
/**
|
|
85
|
-
*
|
|
86
|
-
* invalid ad unit identifier.
|
|
79
|
+
* The ad failed to load due to an invalid ad unit identifier.
|
|
87
80
|
*
|
|
88
|
-
* Possible
|
|
89
|
-
* 1.
|
|
90
|
-
* 2.
|
|
91
|
-
* 3.
|
|
92
|
-
* 4.
|
|
81
|
+
* Possible causes:
|
|
82
|
+
* 1. The ad unit ID is malformed or does not exist.
|
|
83
|
+
* 2. The ad unit is disabled.
|
|
84
|
+
* 3. The ad unit is not linked to the current app’s package name.
|
|
85
|
+
* 4. The ad unit was recently created (less than ~30–60 minutes ago).
|
|
93
86
|
*/
|
|
94
87
|
ErrorCode[ErrorCode["INVALID_AD_UNIT_ID"] = MAX_ERROR_CODE_INVALID_AD_UNIT_ID] = "INVALID_AD_UNIT_ID";
|
|
95
88
|
return ErrorCode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_NativeAppLovinMAXModule","_interopRequireDefault","require","e","__esModule","default","MAX_ERROR_CODE_UNSPECIFIED","MAX_ERROR_CODE_NO_FILL","MAX_ERROR_CODE_AD_LOAD_FAILED","MAX_ERROR_CODE_AD_DISPLAY_FAILED","MAX_ERROR_CODE_NETWORK_ERROR","MAX_ERROR_CODE_NETWORK_TIMEOUT","MAX_ERROR_CODE_NO_NETWORK","MAX_ERROR_CODE_FULLSCREEN_AD_ALREADY_SHOWING","MAX_ERROR_CODE_FULLSCREEN_AD_NOT_READY","MAX_ERROR_CODE_FULLSCREEN_AD_INVALID_VIEW_CONTROLLER","MAX_ERROR_CODE_DONT_KEEP_ACTIVITIES_ENABLED","MAX_ERROR_CODE_INVALID_AD_UNIT_ID","AppLovinMAX","getConstants","ErrorCode","exports"],"sourceRoot":"../../src","sources":["ErrorCode.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0D,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1D,MAAM;EACFG,0BAA0B;EAC1BC,sBAAsB;EACtBC,6BAA6B;EAC7BC,gCAAgC;EAChCC,4BAA4B;EAC5BC,8BAA8B;EAC9BC,yBAAyB;EACzBC,4CAA4C;EAC5CC,sCAAsC;EACtCC,oDAAoD;EACpDC,2CAA2C;EAC3CC;AACJ,CAAC,GAAGC,gCAAW,CAACC,YAAY,CAAC,CAAC;;AAE9B;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["_NativeAppLovinMAXModule","_interopRequireDefault","require","e","__esModule","default","MAX_ERROR_CODE_UNSPECIFIED","MAX_ERROR_CODE_NO_FILL","MAX_ERROR_CODE_AD_LOAD_FAILED","MAX_ERROR_CODE_AD_DISPLAY_FAILED","MAX_ERROR_CODE_NETWORK_ERROR","MAX_ERROR_CODE_NETWORK_TIMEOUT","MAX_ERROR_CODE_NO_NETWORK","MAX_ERROR_CODE_FULLSCREEN_AD_ALREADY_SHOWING","MAX_ERROR_CODE_FULLSCREEN_AD_NOT_READY","MAX_ERROR_CODE_FULLSCREEN_AD_INVALID_VIEW_CONTROLLER","MAX_ERROR_CODE_DONT_KEEP_ACTIVITIES_ENABLED","MAX_ERROR_CODE_INVALID_AD_UNIT_ID","AppLovinMAX","getConstants","ErrorCode","exports"],"sourceRoot":"../../src","sources":["ErrorCode.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0D,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1D,MAAM;EACFG,0BAA0B;EAC1BC,sBAAsB;EACtBC,6BAA6B;EAC7BC,gCAAgC;EAChCC,4BAA4B;EAC5BC,8BAA8B;EAC9BC,yBAAyB;EACzBC,4CAA4C;EAC5CC,sCAAsC;EACtCC,oDAAoD;EACpDC,2CAA2C;EAC3CC;AACJ,CAAC,GAAGC,gCAAW,CAACC,YAAY,CAAC,CAAC;;AAE9B;AACA;AACA;AAFA,IAGYC,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EACjB;AACJ;AACA;AACA;EAJYA,SAAS,CAATA,SAAS,kBAKHd,0BAA0B;EAExC;AACJ;AACA;EATYc,SAAS,CAATA,SAAS,cAUPb,sBAAsB;EAEhC;AACJ;AACA;AACA;EAfYa,SAAS,CAATA,SAAS,qBAgBAZ,6BAA6B;EAE9C;AACJ;AACA;EApBYY,SAAS,CAATA,SAAS,wBAqBGX,gCAAgC;EAEpD;AACJ;AACA;AACA;EA1BYW,SAAS,CAATA,SAAS,oBA2BDV,4BAA4B;EAE5C;AACJ;AACA;EA/BYU,SAAS,CAATA,SAAS,sBAgCCT,8BAA8B;EAEhD;AACJ;AACA;EApCYS,SAAS,CAATA,SAAS,iBAqCJR,yBAAyB;EAEtC;AACJ;AACA;EAzCYQ,SAAS,CAATA,SAAS,oCA0CeP,4CAA4C;EAE5E;AACJ;AACA;EA9CYO,SAAS,CAATA,SAAS,8BA+CSN,sCAAsC;EAEhE;AACJ;AACA;AACA;EApDYM,SAAS,CAATA,SAAS,4CAqDuBL,oDAAoD;EAE5F;AACJ;AACA;AACA;AACA;EA3DYK,SAAS,CAATA,SAAS,mCA4DcJ,2CAA2C;EAE1E;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAtEYI,SAAS,CAATA,SAAS,yBAuEIH,iCAAiC;EAAA,OAvE9CG,SAAS;AAAA","ignoreList":[]}
|
|
@@ -7,9 +7,24 @@ exports.removeEventListener = exports.addEventListener = void 0;
|
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _NativeAppLovinMAXModule = _interopRequireDefault(require("./specs/NativeAppLovinMAXModule"));
|
|
9
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Manages AppLovin MAX ad event listeners using a shared NativeEventEmitter.
|
|
12
|
+
* Ensures only one active subscription per event type at any given time.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
// Singleton event emitter for AppLovin MAX native events.
|
|
11
16
|
const emitter = new _reactNative.NativeEventEmitter(_NativeAppLovinMAXModule.default);
|
|
17
|
+
|
|
18
|
+
// Tracks active subscriptions by event type.
|
|
12
19
|
const subscriptions = {};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Subscribes to a specific ad event.
|
|
23
|
+
* If a listener already exists for the event, it will be replaced.
|
|
24
|
+
*
|
|
25
|
+
* @param event - The event name to listen for.
|
|
26
|
+
* @param handler - The callback to handle the event.
|
|
27
|
+
*/
|
|
13
28
|
const addEventListener = (event, handler) => {
|
|
14
29
|
const subscription = emitter.addListener(event, handler);
|
|
15
30
|
const currentSubscription = subscriptions[event];
|
|
@@ -18,6 +33,12 @@ const addEventListener = (event, handler) => {
|
|
|
18
33
|
}
|
|
19
34
|
subscriptions[event] = subscription;
|
|
20
35
|
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Unsubscribes from a specific ad event, if a listener exists.
|
|
39
|
+
*
|
|
40
|
+
* @param event - The event name to unsubscribe from.
|
|
41
|
+
*/
|
|
21
42
|
exports.addEventListener = addEventListener;
|
|
22
43
|
const removeEventListener = event => {
|
|
23
44
|
const currentSubscription = subscriptions[event];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_NativeAppLovinMAXModule","_interopRequireDefault","e","__esModule","default","emitter","NativeEventEmitter","AppLovinMAX","subscriptions","addEventListener","event","handler","subscription","addListener","currentSubscription","remove","exports","removeEventListener"],"sourceRoot":"../../src","sources":["EventEmitter.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_NativeAppLovinMAXModule","_interopRequireDefault","e","__esModule","default","emitter","NativeEventEmitter","AppLovinMAX","subscriptions","addEventListener","event","handler","subscription","addListener","currentSubscription","remove","exports","removeEventListener"],"sourceRoot":"../../src","sources":["EventEmitter.ts"],"mappings":";;;;;;AAKA,IAAAA,YAAA,GAAAC,OAAA;AAGA,IAAAC,wBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0D,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAR1D;AACA;AACA;AACA;;AAOA;AACA,MAAMG,OAAO,GAAG,IAAIC,+BAAkB,CAACC,gCAAW,CAAC;;AAEnD;AACA,MAAMC,aAAgD,GAAG,CAAC,CAAC;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,gBAAgB,GAAGA,CAA0BC,KAAa,EAAEC,OAA2B,KAAW;EAC3G,MAAMC,YAAY,GAAGP,OAAO,CAACQ,WAAW,CAACH,KAAK,EAAEC,OAAO,CAAC;EACxD,MAAMG,mBAAmB,GAAGN,aAAa,CAACE,KAAK,CAAC;EAChD,IAAII,mBAAmB,EAAE;IACrBA,mBAAmB,CAACC,MAAM,CAAC,CAAC;EAChC;EACAP,aAAa,CAACE,KAAK,CAAC,GAAGE,YAAY;AACvC,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAI,OAAA,CAAAP,gBAAA,GAAAA,gBAAA;AAKO,MAAMQ,mBAAmB,GAAIP,KAAa,IAAW;EACxD,MAAMI,mBAAmB,GAAGN,aAAa,CAACE,KAAK,CAAC;EAChD,IAAII,mBAAmB,EAAE;IACrBA,mBAAmB,CAACC,MAAM,CAAC,CAAC;IAC5B,OAAOP,aAAa,CAACE,KAAK,CAAC;EAC/B;AACJ,CAAC;AAACM,OAAA,CAAAC,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
package/lib/commonjs/Utils.js
CHANGED
|
@@ -4,11 +4,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.makeLocalExtraParametersArray = exports.makeExtraParametersArray = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Converts a record of string-based extra parameters into an array of `{ key, value }` objects.
|
|
9
|
+
* Used for sending extra parameters to the native SDK.
|
|
10
|
+
*
|
|
11
|
+
* @param input - An optional map of key-value string pairs (or null values).
|
|
12
|
+
* @returns An array of `{ key, value }` objects. Returns an empty array if input is undefined.
|
|
13
|
+
*/
|
|
14
|
+
const makeExtraParametersArray = input => {
|
|
15
|
+
if (!input) return [];
|
|
16
|
+
return Object.entries(input).map(([key, value]) => ({
|
|
17
|
+
key,
|
|
18
|
+
value
|
|
19
|
+
}));
|
|
20
|
+
};
|
|
11
21
|
exports.makeExtraParametersArray = makeExtraParametersArray;
|
|
22
|
+
/**
|
|
23
|
+
* Converts a map of local extra parameters into a filtered array of `{ key, value }` pairs.
|
|
24
|
+
* Only values matching the specified type (`'str'` or `'bool'`) are included.
|
|
25
|
+
*
|
|
26
|
+
* @param input - A record of local extra parameters (string, boolean, or null).
|
|
27
|
+
* @param type - The expected type of each value: `'str'` for strings, `'bool'` for booleans.
|
|
28
|
+
* @returns A filtered array of `{ key, value }` objects, cast to the specified type.
|
|
29
|
+
*/
|
|
12
30
|
const makeLocalExtraParametersArray = (input, type) => {
|
|
13
31
|
if (!input) return [];
|
|
14
32
|
return Object.entries(input).filter(([_, value]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["makeExtraParametersArray","input","Object","entries","map","key","value","exports","makeLocalExtraParametersArray","type","filter","_"],"sourceRoot":"../../src","sources":["Utils.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["makeExtraParametersArray","input","Object","entries","map","key","value","exports","makeLocalExtraParametersArray","type","filter","_"],"sourceRoot":"../../src","sources":["Utils.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,wBAAwB,GAAIC,KAAqC,IAA8C;EACxH,IAAI,CAACA,KAAK,EAAE,OAAO,EAAE;EAErB,OAAOC,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CAACG,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,MAAM;IAAED,GAAG;IAAEC;EAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAACC,OAAA,CAAAP,wBAAA,GAAAA,wBAAA;AASF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMQ,6BAA6B,GAAGA,CACzCP,KAA2D,EAC3DQ,IAAO,KACoD;EAC3D,IAAI,CAACR,KAAK,EAAE,OAAO,EAAE;EAErB,OAAOC,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CACvBS,MAAM,CAAC,CAAC,CAACC,CAAC,EAAEL,KAAK,CAAC,KAAK;IACpB,IAAIA,KAAK,KAAK,IAAI,EAAE,OAAO,IAAI;IAC/B,IAAIG,IAAI,KAAK,KAAK,EAAE,OAAO,OAAOH,KAAK,KAAK,QAAQ;IACpD,IAAIG,IAAI,KAAK,MAAM,EAAE,OAAO,OAAOH,KAAK,KAAK,SAAS;IACtD,OAAO,KAAK;EAChB,CAAC,CAAC,CACDF,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,MAAM;IAAED,GAAG;IAAEC,KAAK,EAAEA;EAAwC,CAAC,CAAC,CAAC;AACzF,CAAC;AAACC,OAAA,CAAAC,6BAAA,GAAAA,6BAAA","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -237,6 +237,5 @@ Object.keys(_types).forEach(function (key) {
|
|
|
237
237
|
}
|
|
238
238
|
});
|
|
239
239
|
});
|
|
240
|
-
function
|
|
241
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
240
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
242
241
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_AppLovinMAX","_interopRequireWildcard","require","_ErrorCode","_Privacy","_InterstitialAd","_RewardedAd","_AppOpenAd","_BannerAd","_MRecAd","_AdView","_NativeAdView","_NativeAdViewComponents","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","
|
|
1
|
+
{"version":3,"names":["_AppLovinMAX","_interopRequireWildcard","require","_ErrorCode","_Privacy","_InterstitialAd","_RewardedAd","_AppOpenAd","_BannerAd","_MRecAd","_AdView","_NativeAdView","_NativeAdViewComponents","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","set","getOwnPropertyDescriptor"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AASA,IAAAS,aAAA,GAAAT,OAAA;AACA,IAAAU,uBAAA,GAAAV,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AAAAY,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAAwB,SAAAhB,wBAAAyB,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAA3B,uBAAA,YAAAA,CAAAyB,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAP,GAAA,CAAAC,CAAA,GAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAR,cAAA,CAAAC,IAAA,CAAAM,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAlB,MAAA,CAAAS,cAAA,KAAAT,MAAA,CAAAyB,wBAAA,CAAAb,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAR,GAAA,IAAAQ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA","ignoreList":[]}
|
|
@@ -12,12 +12,13 @@ var _AppLovinMAXNativeAdViewNativeComponent = _interopRequireWildcard(require(".
|
|
|
12
12
|
var _NativeAdViewProvider = require("./NativeAdViewProvider");
|
|
13
13
|
var _Utils = require("../Utils");
|
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
function
|
|
16
|
-
function
|
|
17
|
-
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /**
|
|
17
|
+
* Provides the NativeAdView component, which manages loading and rendering of native ads using the
|
|
18
|
+
* AppLovin MAX SDK in React Native.
|
|
19
|
+
*/
|
|
18
20
|
/**
|
|
19
|
-
* The {@link NativeAdView} component
|
|
20
|
-
* renders it with the asset views:
|
|
21
|
+
* The {@link NativeAdView} component renders a native ad and binds it to asset views:
|
|
21
22
|
*
|
|
22
23
|
* - {@link IconView}
|
|
23
24
|
* - {@link TitleView}
|
|
@@ -27,19 +28,21 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
27
28
|
* - {@link MediaView}
|
|
28
29
|
* - {@link CallToActionView}
|
|
29
30
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
31
|
+
* Each asset view must be manually laid out and styled.
|
|
32
|
+
* The component automatically populates content once an ad is loaded.
|
|
33
|
+
* You can reload the ad using the component’s ref via `loadAd()`.
|
|
34
|
+
*
|
|
35
|
+
* **Note:** The AppLovin SDK must be initialized before using this component.
|
|
33
36
|
*
|
|
34
37
|
* ### Example:
|
|
35
|
-
* ```
|
|
38
|
+
* ```tsx
|
|
36
39
|
* <NativeAdView
|
|
37
40
|
* ref={nativeAdViewHandler}
|
|
38
41
|
* adUnitId={adUnitId}
|
|
39
42
|
* style={styles.nativead}
|
|
40
43
|
* onAdLoaded={(adInfo: AdInfo) => { ... }}
|
|
41
44
|
* >
|
|
42
|
-
* <View style={
|
|
45
|
+
* <View style={...}>
|
|
43
46
|
* <IconView style={styles.icon} />
|
|
44
47
|
* <TitleView style={styles.title} />
|
|
45
48
|
* <AdvertiserView style={styles.advertiser} />
|
|
@@ -51,6 +54,9 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
51
54
|
* </View>
|
|
52
55
|
* </NativeAdView>
|
|
53
56
|
* ```
|
|
57
|
+
*
|
|
58
|
+
* For a complete implementation example, see:
|
|
59
|
+
* https://github.com/AppLovin/AppLovin-MAX-React-Native/blob/master/example/src/NativeAdViewExample.tsx
|
|
54
60
|
*/
|
|
55
61
|
const NativeAdView = exports.NativeAdView = /*#__PURE__*/(0, _react.forwardRef)(function NativeAdView(props, ref) {
|
|
56
62
|
const [isInitialized, setIsInitialized] = (0, _react.useState)(false);
|
|
@@ -72,21 +78,14 @@ const NativeAdView = exports.NativeAdView = /*#__PURE__*/(0, _react.forwardRef)(
|
|
|
72
78
|
ref: ref
|
|
73
79
|
})));
|
|
74
80
|
});
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Extracts native ad info from a synthetic event and invokes the provided callback, if any.
|
|
84
|
+
* Ensures optional native ad fields have fallback defaults.
|
|
85
|
+
*/
|
|
75
86
|
const handleNativeAdViewEvent = (event, callback) => {
|
|
76
87
|
if (!callback) return;
|
|
77
|
-
|
|
78
|
-
...event.nativeEvent
|
|
79
|
-
};
|
|
80
|
-
if ('nativeAd' in event.nativeEvent) {
|
|
81
|
-
var _event$nativeEvent$na, _event$nativeEvent$na2, _event$nativeEvent$na3;
|
|
82
|
-
adInfo.nativeAd = {
|
|
83
|
-
...event.nativeEvent.nativeAd,
|
|
84
|
-
isIconImageAvailable: ((_event$nativeEvent$na = event.nativeEvent.nativeAd) === null || _event$nativeEvent$na === void 0 ? void 0 : _event$nativeEvent$na.isIconImageAvailable) ?? false,
|
|
85
|
-
isOptionsViewAvailable: ((_event$nativeEvent$na2 = event.nativeEvent.nativeAd) === null || _event$nativeEvent$na2 === void 0 ? void 0 : _event$nativeEvent$na2.isOptionsViewAvailable) ?? false,
|
|
86
|
-
isMediaViewAvailable: ((_event$nativeEvent$na3 = event.nativeEvent.nativeAd) === null || _event$nativeEvent$na3 === void 0 ? void 0 : _event$nativeEvent$na3.isMediaViewAvailable) ?? false
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
callback(adInfo);
|
|
88
|
+
callback(event.nativeEvent);
|
|
90
89
|
};
|
|
91
90
|
const NativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function NativeAdViewImpl({
|
|
92
91
|
adUnitId,
|
|
@@ -115,13 +114,17 @@ const NativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function NativeAdVi
|
|
|
115
114
|
} = (0, _react.useContext)(_NativeAdViewProvider.NativeAdViewContext);
|
|
116
115
|
const nativeAdViewRef = (0, _react.useRef)();
|
|
117
116
|
|
|
118
|
-
//
|
|
117
|
+
// Triggers a native ad load via the native command
|
|
119
118
|
const loadAd = (0, _react.useCallback)(() => {
|
|
120
119
|
nativeAdViewRef.current && _AppLovinMAXNativeAdViewNativeComponent.Commands.loadAd(nativeAdViewRef.current);
|
|
121
120
|
}, []);
|
|
122
121
|
(0, _react.useImperativeHandle)(ref, () => ({
|
|
123
122
|
loadAd
|
|
124
123
|
}), [loadAd]);
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Updates the native asset view binding for a given view type (e.g., TitleView, MediaView).
|
|
127
|
+
*/
|
|
125
128
|
const updateAssetView = (0, _react.useCallback)((assetViewRef, type) => {
|
|
126
129
|
if (!nativeAdViewRef.current || !assetViewRef.current) return;
|
|
127
130
|
const node = (0, _reactNative.findNodeHandle)(assetViewRef.current);
|
|
@@ -129,6 +132,13 @@ const NativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function NativeAdVi
|
|
|
129
132
|
_AppLovinMAXNativeAdViewNativeComponent.Commands.updateAssetView(nativeAdViewRef.current, node, type);
|
|
130
133
|
}
|
|
131
134
|
}, []);
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Handles native ad load event:
|
|
138
|
+
* - Updates context with the new native ad data
|
|
139
|
+
* - Notifies native module of updated asset view mappings
|
|
140
|
+
* - Triggers native rendering after all asset views are registered
|
|
141
|
+
*/
|
|
132
142
|
const onAdLoadedEvent = (0, _react.useCallback)(event => {
|
|
133
143
|
const nativeAdImpl = event.nativeEvent.nativeAdImpl;
|
|
134
144
|
if (nativeAdImpl) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_NativeAppLovinMAXModule","_interopRequireDefault","_AppLovinMAXNativeAdViewNativeComponent","_NativeAdViewProvider","_Utils","e","__esModule","default","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_NativeAppLovinMAXModule","_interopRequireDefault","_AppLovinMAXNativeAdViewNativeComponent","_NativeAdViewProvider","_Utils","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","NativeAdView","exports","forwardRef","props","ref","isInitialized","setIsInitialized","useState","useEffect","result","AppLovinMAX","console","warn","createElement","View","NativeAdViewProvider","NativeAdViewImpl","handleNativeAdViewEvent","event","callback","nativeEvent","adUnitId","placement","customData","extraParameters","localExtraParameters","onAdLoaded","onAdLoadFailed","onAdClicked","onAdRevenuePaid","children","style","otherProps","titleRef","advertiserRef","bodyRef","callToActionRef","imageRef","optionViewRef","mediaViewRef","setNativeAd","useContext","NativeAdViewContext","nativeAdViewRef","useRef","loadAd","useCallback","current","Commands","useImperativeHandle","updateAssetView","assetViewRef","type","node","findNodeHandle","onAdLoadedEvent","nativeAdImpl","title","advertiser","body","callToAction","url","image","imageSource","isOptionsViewAvailable","isMediaViewAvailable","renderNativeAd","onAdLoadFailedEvent","onAdClickedEvent","onAdRevenuePaidEvent","element","undefined","makeExtraParametersArray","strLocalExtraParameters","makeLocalExtraParametersArray","boolLocalExtraParameters"],"sourceRoot":"../../../src","sources":["nativeAd/NativeAdView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,9 +8,25 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var React = _react;
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
10
|
var _NativeAdViewProvider = require("./NativeAdViewProvider");
|
|
11
|
-
function
|
|
12
|
-
function
|
|
13
|
-
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /**
|
|
13
|
+
* Provides pre-styled React Native components for each native ad asset view:
|
|
14
|
+
*
|
|
15
|
+
* - TitleView
|
|
16
|
+
* - AdvertiserView
|
|
17
|
+
* - BodyView
|
|
18
|
+
* - CallToActionView
|
|
19
|
+
* - IconView
|
|
20
|
+
* - OptionsView
|
|
21
|
+
* - MediaView
|
|
22
|
+
* - StarRatingView
|
|
23
|
+
*
|
|
24
|
+
* Each component pulls ad content and view refs from NativeAdView context,
|
|
25
|
+
* and must be rendered inside a {@link NativeAdView}.
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* Renders the native ad’s title.
|
|
29
|
+
*/
|
|
14
30
|
const TitleView = props => {
|
|
15
31
|
const {
|
|
16
32
|
titleRef,
|
|
@@ -20,6 +36,10 @@ const TitleView = props => {
|
|
|
20
36
|
ref: titleRef
|
|
21
37
|
}), nativeAd.title ?? '');
|
|
22
38
|
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Renders the advertiser name.
|
|
42
|
+
*/
|
|
23
43
|
exports.TitleView = TitleView;
|
|
24
44
|
const AdvertiserView = props => {
|
|
25
45
|
const {
|
|
@@ -30,6 +50,10 @@ const AdvertiserView = props => {
|
|
|
30
50
|
ref: advertiserRef
|
|
31
51
|
}), nativeAd.advertiser ?? '');
|
|
32
52
|
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Renders the ad’s body text (description).
|
|
56
|
+
*/
|
|
33
57
|
exports.AdvertiserView = AdvertiserView;
|
|
34
58
|
const BodyView = props => {
|
|
35
59
|
const {
|
|
@@ -40,23 +64,31 @@ const BodyView = props => {
|
|
|
40
64
|
ref: bodyRef
|
|
41
65
|
}), nativeAd.body ?? '');
|
|
42
66
|
};
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Renders the call-to-action label.
|
|
70
|
+
* On iOS, wraps the text with a TouchableOpacity for better click behavior.
|
|
71
|
+
*/
|
|
43
72
|
exports.BodyView = BodyView;
|
|
44
73
|
const CallToActionView = props => {
|
|
45
74
|
const {
|
|
46
75
|
callToActionRef,
|
|
47
76
|
nativeAd
|
|
48
77
|
} = (0, _react.useContext)(_NativeAdViewProvider.NativeAdViewContext);
|
|
49
|
-
// TouchableOpacity disables clicking on certain Android devices.
|
|
50
78
|
if (_reactNative.Platform.OS === 'android') {
|
|
51
79
|
return /*#__PURE__*/React.createElement(_reactNative.Text, _extends({}, props, {
|
|
52
80
|
ref: callToActionRef
|
|
53
81
|
}), nativeAd.callToAction ?? '');
|
|
54
|
-
} else {
|
|
55
|
-
return /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, null, /*#__PURE__*/React.createElement(_reactNative.Text, _extends({}, props, {
|
|
56
|
-
ref: callToActionRef
|
|
57
|
-
}), nativeAd.callToAction ?? ''));
|
|
58
82
|
}
|
|
83
|
+
return /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, null, /*#__PURE__*/React.createElement(_reactNative.Text, _extends({}, props, {
|
|
84
|
+
ref: callToActionRef
|
|
85
|
+
}), nativeAd.callToAction ?? ''));
|
|
59
86
|
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Renders the icon image for the native ad.
|
|
90
|
+
* Falls back to a blank placeholder if not available.
|
|
91
|
+
*/
|
|
60
92
|
exports.CallToActionView = CallToActionView;
|
|
61
93
|
const IconView = props => {
|
|
62
94
|
const {
|
|
@@ -64,7 +96,7 @@ const IconView = props => {
|
|
|
64
96
|
nativeAd
|
|
65
97
|
} = (0, _react.useContext)(_NativeAdViewProvider.NativeAdViewContext);
|
|
66
98
|
const defaultIcon = require('./img/blank_icon.png');
|
|
67
|
-
const imageSource = (() => {
|
|
99
|
+
const imageSource = (0, _react.useMemo)(() => {
|
|
68
100
|
if (nativeAd !== null && nativeAd !== void 0 && nativeAd.url) {
|
|
69
101
|
return {
|
|
70
102
|
uri: nativeAd.url
|
|
@@ -76,12 +108,16 @@ const IconView = props => {
|
|
|
76
108
|
};
|
|
77
109
|
}
|
|
78
110
|
return defaultIcon;
|
|
79
|
-
})
|
|
111
|
+
}, [nativeAd.url, nativeAd.imageSource, defaultIcon]);
|
|
80
112
|
return /*#__PURE__*/React.createElement(_reactNative.Image, _extends({}, props, {
|
|
81
113
|
ref: imageRef,
|
|
82
114
|
source: imageSource
|
|
83
115
|
}));
|
|
84
116
|
};
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Renders the native ad’s options view.
|
|
120
|
+
*/
|
|
85
121
|
exports.IconView = IconView;
|
|
86
122
|
const OptionsView = props => {
|
|
87
123
|
const {
|
|
@@ -91,6 +127,10 @@ const OptionsView = props => {
|
|
|
91
127
|
ref: optionViewRef
|
|
92
128
|
}));
|
|
93
129
|
};
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Renders the native ad’s media content.
|
|
133
|
+
*/
|
|
94
134
|
exports.OptionsView = OptionsView;
|
|
95
135
|
const MediaView = props => {
|
|
96
136
|
const {
|
|
@@ -100,59 +140,61 @@ const MediaView = props => {
|
|
|
100
140
|
ref: mediaViewRef
|
|
101
141
|
}));
|
|
102
142
|
};
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Props for the {@link StarRatingView} component, which displays a star rating
|
|
146
|
+
* using Unicode stars (★ and ☆) styled with color, shadow, and size.
|
|
147
|
+
*/
|
|
103
148
|
exports.MediaView = MediaView;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
149
|
+
/**
|
|
150
|
+
* Renders the star rating of the ad, using Unicode stars (★ and ☆).
|
|
151
|
+
* Filled stars are rendered over hollow stars using a clipped view.
|
|
152
|
+
*/
|
|
153
|
+
const StarRatingView = ({
|
|
154
|
+
color = '#ffe234',
|
|
155
|
+
shadowColor = '#dedede',
|
|
156
|
+
size = 10,
|
|
157
|
+
style
|
|
158
|
+
}) => {
|
|
113
159
|
const {
|
|
114
160
|
nativeAd
|
|
115
161
|
} = (0, _react.useContext)(_NativeAdViewProvider.NativeAdViewContext);
|
|
116
|
-
|
|
117
|
-
|
|
162
|
+
const maxStarCount = 5;
|
|
163
|
+
const containerStyle = (0, _react.useMemo)(() => _reactNative.StyleSheet.flatten([style, styles.starRatingContainer]), [style]);
|
|
118
164
|
const stars = (0, _react.useMemo)(() => {
|
|
119
|
-
|
|
120
|
-
return Array.from({
|
|
121
|
-
length: maxStarCount
|
|
122
|
-
}).map((_, index) => /*#__PURE__*/React.createElement(_reactNative.Text, {
|
|
123
|
-
key: index,
|
|
124
|
-
style: {
|
|
125
|
-
fontSize: starSize
|
|
126
|
-
}
|
|
127
|
-
}, ' '));
|
|
128
|
-
}
|
|
165
|
+
const starRating = Math.max(0, Math.min(maxStarCount, nativeAd.starRating ?? 0));
|
|
129
166
|
return Array.from({
|
|
130
167
|
length: maxStarCount
|
|
131
168
|
}).map((_, index) => {
|
|
132
|
-
const
|
|
133
|
-
const width = (starRating - index) *
|
|
169
|
+
const isFull = starRating > index;
|
|
170
|
+
const width = Math.min(size, Math.max(0, (starRating - index) * size));
|
|
134
171
|
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
135
172
|
key: index
|
|
136
173
|
}, /*#__PURE__*/React.createElement(_reactNative.Text, {
|
|
137
174
|
style: {
|
|
138
|
-
fontSize:
|
|
139
|
-
color:
|
|
175
|
+
fontSize: size,
|
|
176
|
+
color: isFull ? color : shadowColor
|
|
140
177
|
}
|
|
141
|
-
}, String.fromCodePoint(0x2606)),
|
|
178
|
+
}, String.fromCodePoint(0x2606)), isFull && /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
142
179
|
style: [{
|
|
143
|
-
width
|
|
180
|
+
width
|
|
144
181
|
}, styles.starRating]
|
|
145
182
|
}, /*#__PURE__*/React.createElement(_reactNative.Text, {
|
|
146
183
|
style: {
|
|
147
|
-
fontSize:
|
|
148
|
-
color
|
|
184
|
+
fontSize: size,
|
|
185
|
+
color
|
|
149
186
|
}
|
|
150
187
|
}, String.fromCodePoint(0x2605))));
|
|
151
188
|
});
|
|
152
|
-
}, [nativeAd.starRating,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
189
|
+
}, [nativeAd.starRating, color, shadowColor, size]);
|
|
190
|
+
if (!nativeAd.starRating) {
|
|
191
|
+
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
192
|
+
style: containerStyle
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
196
|
+
style: containerStyle
|
|
197
|
+
}, stars);
|
|
156
198
|
};
|
|
157
199
|
exports.StarRatingView = StarRatingView;
|
|
158
200
|
const styles = _reactNative.StyleSheet.create({
|