cloudx-react-native 3.4.5 → 3.4.7
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 +1 -1
- package/android/src/main/java/com/cloudxreactnative/CloudXAdEvents.kt +10 -0
- package/android/src/main/java/com/cloudxreactnative/CloudXAdView.kt +244 -0
- package/android/src/main/java/com/cloudxreactnative/CloudXAdViewEvent.kt +28 -0
- package/android/src/main/java/com/cloudxreactnative/CloudXAdViewManagerImpl.kt +54 -0
- package/android/src/main/java/com/cloudxreactnative/CloudXExtraParameters.kt +101 -0
- package/android/src/main/java/com/cloudxreactnative/CloudXModuleImpl.kt +5 -57
- package/android/src/main/java/com/cloudxreactnative/CloudXPackage.kt +1 -1
- package/android/src/newarch/com/cloudxreactnative/CloudXAdViewManager.kt +52 -0
- package/android/src/oldarch/com/cloudxreactnative/CloudXAdViewManager.kt +46 -0
- package/ios/CloudX.mm +13 -57
- package/ios/CloudXAdView.h +35 -0
- package/ios/CloudXAdView.mm +505 -0
- package/ios/CloudXAdViewManager.h +12 -0
- package/ios/CloudXAdViewManager.mm +38 -0
- package/ios/CloudXExtraParameters.h +27 -0
- package/ios/CloudXExtraParameters.mm +117 -0
- package/lib/commonjs/CloudXAdViewBase.js +248 -0
- package/lib/commonjs/CloudXAdViewBase.js.map +1 -0
- package/lib/commonjs/CloudXBannerView.js +27 -0
- package/lib/commonjs/CloudXBannerView.js.map +1 -0
- package/lib/commonjs/CloudXMRECView.js +27 -0
- package/lib/commonjs/CloudXMRECView.js.map +1 -0
- package/lib/commonjs/index.js +16 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/specs/CloudXAdViewNativeComponent.js +30 -0
- package/lib/commonjs/specs/CloudXAdViewNativeComponent.js.map +1 -0
- package/lib/commonjs/version.js +5 -2
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/CloudXAdViewBase.js +240 -0
- package/lib/module/CloudXAdViewBase.js.map +1 -0
- package/lib/module/CloudXBannerView.js +19 -0
- package/lib/module/CloudXBannerView.js.map +1 -0
- package/lib/module/CloudXMRECView.js +19 -0
- package/lib/module/CloudXMRECView.js.map +1 -0
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/CloudXAdViewNativeComponent.js +27 -0
- package/lib/module/specs/CloudXAdViewNativeComponent.js.map +1 -0
- package/lib/module/version.js +5 -2
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/src/CloudXAdViewBase.d.ts +28 -0
- package/lib/typescript/src/CloudXAdViewBase.d.ts.map +1 -0
- package/lib/typescript/src/CloudXBannerView.d.ts +16 -0
- package/lib/typescript/src/CloudXBannerView.d.ts.map +1 -0
- package/lib/typescript/src/CloudXMRECView.d.ts +16 -0
- package/lib/typescript/src/CloudXMRECView.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/CloudXAdViewNativeComponent.d.ts +62 -0
- package/lib/typescript/src/specs/CloudXAdViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/types/AdProps.d.ts +3 -0
- package/lib/typescript/src/types/AdProps.d.ts.map +1 -1
- package/lib/typescript/src/version.d.ts +1 -1
- package/lib/typescript/src/version.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/CloudXAdViewBase.tsx +293 -0
- package/src/CloudXBannerView.tsx +20 -0
- package/src/CloudXMRECView.tsx +20 -0
- package/src/index.ts +5 -0
- package/src/specs/CloudXAdViewNativeComponent.ts +84 -0
- package/src/types/AdProps.ts +4 -0
- package/src/version.ts +5 -2
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* CloudXExtraParameters.h
|
|
3
|
+
* cloudx-react-native
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
#import <Foundation/Foundation.h>
|
|
7
|
+
#import <CloudXCore/CloudXCore.h>
|
|
8
|
+
|
|
9
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
10
|
+
|
|
11
|
+
typedef void (^CloudXExtraParametersLogBlock)(NSString *message);
|
|
12
|
+
|
|
13
|
+
@interface CloudXExtraParameters : NSObject
|
|
14
|
+
|
|
15
|
+
+ (NSDictionary<NSString *, id> *)dictionaryFromEntryArray:(nullable NSArray<NSDictionary<NSString *, id> *> *)entries;
|
|
16
|
+
+ (void)mergeExtraParameters:(NSDictionary<NSString *, id> *)extraParameters
|
|
17
|
+
intoPendingDictionary:(NSMutableDictionary<NSString *, id> *)pending;
|
|
18
|
+
+ (void)applyExtraParameters:(NSDictionary<NSString *, id> *)extraParameters
|
|
19
|
+
toAdView:(CLXBannerAdView *)adView
|
|
20
|
+
logBlock:(nullable CloudXExtraParametersLogBlock)logBlock;
|
|
21
|
+
+ (void)applyExtraParameters:(NSDictionary<NSString *, id> *)extraParameters
|
|
22
|
+
toFullscreenAd:(id<CLXFullscreenAd>)ad
|
|
23
|
+
logBlock:(nullable CloudXExtraParametersLogBlock)logBlock;
|
|
24
|
+
|
|
25
|
+
@end
|
|
26
|
+
|
|
27
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* CloudXExtraParameters.mm
|
|
3
|
+
* cloudx-react-native
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
#import "CloudXExtraParameters.h"
|
|
7
|
+
|
|
8
|
+
@implementation CloudXExtraParameters
|
|
9
|
+
|
|
10
|
+
+ (NSDictionary<NSString *, id> *)dictionaryFromEntryArray:(nullable NSArray<NSDictionary<NSString *, id> *> *)entries
|
|
11
|
+
{
|
|
12
|
+
if ( !entries || ![(id)entries isKindOfClass: [NSArray class]] )
|
|
13
|
+
{
|
|
14
|
+
return @{};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
NSMutableDictionary<NSString *, id> *extraParameters = [NSMutableDictionary dictionary];
|
|
18
|
+
for ( id entry in entries )
|
|
19
|
+
{
|
|
20
|
+
if ( ![entry isKindOfClass: [NSDictionary class]] ) continue;
|
|
21
|
+
|
|
22
|
+
NSDictionary<NSString *, id> *entryDictionary = (NSDictionary<NSString *, id> *)entry;
|
|
23
|
+
id keyValue = entryDictionary[@"key"];
|
|
24
|
+
if ( ![keyValue isKindOfClass: [NSString class]] ) continue;
|
|
25
|
+
|
|
26
|
+
NSString *key = (NSString *)keyValue;
|
|
27
|
+
if ( key.length == 0 ) continue;
|
|
28
|
+
|
|
29
|
+
extraParameters[key] = entryDictionary[@"value"] ?: [NSNull null];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return [extraParameters copy];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
+ (void)mergeExtraParameters:(NSDictionary<NSString *, id> *)extraParameters
|
|
36
|
+
intoPendingDictionary:(NSMutableDictionary<NSString *, id> *)pending
|
|
37
|
+
{
|
|
38
|
+
[extraParameters enumerateKeysAndObjectsUsingBlock:^(NSString *key, id value, BOOL *stop) {
|
|
39
|
+
if ( !key || key.length == 0 ) return;
|
|
40
|
+
if ( !value || [value isKindOfClass: [NSNull class]] )
|
|
41
|
+
{
|
|
42
|
+
[pending removeObjectForKey: key];
|
|
43
|
+
}
|
|
44
|
+
else
|
|
45
|
+
{
|
|
46
|
+
pending[key] = value;
|
|
47
|
+
}
|
|
48
|
+
}];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
+ (void)applyExtraParameters:(NSDictionary<NSString *, id> *)extraParameters
|
|
52
|
+
toAdView:(CLXBannerAdView *)adView
|
|
53
|
+
logBlock:(nullable CloudXExtraParametersLogBlock)logBlock
|
|
54
|
+
{
|
|
55
|
+
SEL selector = NSSelectorFromString(@"setExtraParameter:value:");
|
|
56
|
+
id target = [adView respondsToSelector: selector] ? adView : adView.ad;
|
|
57
|
+
|
|
58
|
+
[extraParameters enumerateKeysAndObjectsUsingBlock:^(NSString *key, id value, BOOL *stop) {
|
|
59
|
+
if ( !key || key.length == 0 ) return;
|
|
60
|
+
id normalizedValue = [value isKindOfClass: [NSNull class]] ? nil : value;
|
|
61
|
+
[self applyExtraParameterValue: normalizedValue forKey: key toTarget: target logBlock: logBlock];
|
|
62
|
+
}];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
+ (void)applyExtraParameters:(NSDictionary<NSString *, id> *)extraParameters
|
|
66
|
+
toFullscreenAd:(id<CLXFullscreenAd>)ad
|
|
67
|
+
logBlock:(nullable CloudXExtraParametersLogBlock)logBlock
|
|
68
|
+
{
|
|
69
|
+
[extraParameters enumerateKeysAndObjectsUsingBlock:^(NSString *key, id value, BOOL *stop) {
|
|
70
|
+
if ( !key || key.length == 0 ) return;
|
|
71
|
+
id normalizedValue = [value isKindOfClass: [NSNull class]] ? nil : value;
|
|
72
|
+
[self applyExtraParameterValue: normalizedValue forKey: key toTarget: ad logBlock: logBlock];
|
|
73
|
+
}];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
+ (void)applyExtraParameterValue:(id)value
|
|
77
|
+
forKey:(NSString *)key
|
|
78
|
+
toTarget:(id)target
|
|
79
|
+
logBlock:(nullable CloudXExtraParametersLogBlock)logBlock
|
|
80
|
+
{
|
|
81
|
+
if ( !target || !key || key.length == 0 ) return;
|
|
82
|
+
|
|
83
|
+
SEL selector = NSSelectorFromString(@"setExtraParameter:value:");
|
|
84
|
+
if ( ![target respondsToSelector: selector] )
|
|
85
|
+
{
|
|
86
|
+
selector = NSSelectorFromString(@"setExtraParameterForKey:value:");
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if ( ![target respondsToSelector: selector] )
|
|
90
|
+
{
|
|
91
|
+
if ( logBlock )
|
|
92
|
+
{
|
|
93
|
+
logBlock(
|
|
94
|
+
[NSString stringWithFormat: @"Skipping extra parameter \"%@\" because %@ does not respond to setExtraParameter:value: or setExtraParameterForKey:value:",
|
|
95
|
+
key,
|
|
96
|
+
NSStringFromClass([target class])]
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
using SetExtraParameterMethod = void (*)(id, SEL, NSString *, id);
|
|
103
|
+
SetExtraParameterMethod method = (SetExtraParameterMethod)[target methodForSelector: selector];
|
|
104
|
+
method(target, selector, key, value);
|
|
105
|
+
|
|
106
|
+
if ( logBlock )
|
|
107
|
+
{
|
|
108
|
+
logBlock(
|
|
109
|
+
[NSString stringWithFormat: @"Applied extra parameter \"%@\" with value \"%@\" to %@",
|
|
110
|
+
key,
|
|
111
|
+
value ?: @"(cleared)",
|
|
112
|
+
NSStringFromClass([target class])]
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
@end
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CloudXAdViewBase = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _CloudXAdViewNativeComponent = _interopRequireDefault(require("./specs/CloudXAdViewNativeComponent"));
|
|
10
|
+
var _NativeCloudX = _interopRequireDefault(require("./specs/NativeCloudX"));
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
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); }
|
|
13
|
+
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); }
|
|
14
|
+
/**
|
|
15
|
+
* Ad format rendered by the in-tree view component.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Props shared by CloudXBannerView and CloudXMRECView.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/** Internal props: the shared base additionally needs the concrete ad format. */
|
|
23
|
+
|
|
24
|
+
const AD_SIZE = {
|
|
25
|
+
banner: {
|
|
26
|
+
width: 320,
|
|
27
|
+
height: 50
|
|
28
|
+
},
|
|
29
|
+
leader: {
|
|
30
|
+
width: 728,
|
|
31
|
+
height: 90
|
|
32
|
+
},
|
|
33
|
+
mrec: {
|
|
34
|
+
width: 300,
|
|
35
|
+
height: 250
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/*
|
|
40
|
+
* Tablet status is a device constant, but NativeCloudX.isTablet() is async.
|
|
41
|
+
* Cache it at module level so only the first banner in a session can flash
|
|
42
|
+
* phone->leader; every later mount reads the resolved value synchronously.
|
|
43
|
+
*/
|
|
44
|
+
let cachedIsTablet = null;
|
|
45
|
+
|
|
46
|
+
/*
|
|
47
|
+
* Once the SDK reports initialized it stays initialized for the JS VM's life,
|
|
48
|
+
* so cache it module-wide: only the first ad view mounted before init has to
|
|
49
|
+
* poll + show a placeholder; every later mount renders the native view
|
|
50
|
+
* immediately. Mirrors cachedIsTablet above.
|
|
51
|
+
*/
|
|
52
|
+
let cachedIsInitialized = false;
|
|
53
|
+
const parseAdValues = json => {
|
|
54
|
+
if (!json) {
|
|
55
|
+
return {};
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const parsed = JSON.parse(json);
|
|
59
|
+
return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};
|
|
60
|
+
} catch {
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const toAdInfo = event => ({
|
|
65
|
+
adUnitId: event.adUnitId,
|
|
66
|
+
adFormat: event.adFormat,
|
|
67
|
+
networkName: event.networkName,
|
|
68
|
+
networkPlacement: event.networkPlacement || null,
|
|
69
|
+
placement: event.placement || null,
|
|
70
|
+
revenue: event.revenue ?? 0,
|
|
71
|
+
adValues: parseAdValues(event.adValuesJson)
|
|
72
|
+
});
|
|
73
|
+
const toLoadFailedInfo = event => ({
|
|
74
|
+
adUnitId: event.adUnitId,
|
|
75
|
+
code: event.code,
|
|
76
|
+
message: event.message || null
|
|
77
|
+
});
|
|
78
|
+
const warnIgnoredUndefinedExtraParameter = keyPath => {
|
|
79
|
+
console.warn(`CloudXAdView ignored extra parameter "${keyPath}" because ` + 'undefined values are not supported. Use null when a value is intentional.');
|
|
80
|
+
};
|
|
81
|
+
const normalizeExtraParameterValue = (keyPath, value) => {
|
|
82
|
+
if (value === undefined) {
|
|
83
|
+
warnIgnoredUndefinedExtraParameter(keyPath);
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
if (Array.isArray(value)) {
|
|
87
|
+
return value.reduce((items, item, index) => {
|
|
88
|
+
const normalized = normalizeExtraParameterValue(`${keyPath}[${index}]`, item);
|
|
89
|
+
if (normalized !== undefined) {
|
|
90
|
+
items.push(normalized);
|
|
91
|
+
}
|
|
92
|
+
return items;
|
|
93
|
+
}, []);
|
|
94
|
+
}
|
|
95
|
+
if (value !== null && typeof value === 'object') {
|
|
96
|
+
return Object.entries(value).reduce((object, [childKey, childValue]) => {
|
|
97
|
+
const normalized = normalizeExtraParameterValue(`${keyPath}.${childKey}`, childValue);
|
|
98
|
+
if (normalized !== undefined) {
|
|
99
|
+
object[childKey] = normalized;
|
|
100
|
+
}
|
|
101
|
+
return object;
|
|
102
|
+
}, {});
|
|
103
|
+
}
|
|
104
|
+
return value;
|
|
105
|
+
};
|
|
106
|
+
const toNativeExtraParameterEntries = extraParameters => {
|
|
107
|
+
if (!extraParameters) {
|
|
108
|
+
return [];
|
|
109
|
+
}
|
|
110
|
+
return Object.entries(extraParameters).reduce((entries, [key, value]) => {
|
|
111
|
+
const normalizedValue = normalizeExtraParameterValue(key, value);
|
|
112
|
+
if (normalizedValue === undefined) {
|
|
113
|
+
return entries;
|
|
114
|
+
}
|
|
115
|
+
entries.push({
|
|
116
|
+
key,
|
|
117
|
+
value: normalizedValue
|
|
118
|
+
});
|
|
119
|
+
return entries;
|
|
120
|
+
}, []);
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Shared implementation for the in-tree banner/MREC view component. Resolves a
|
|
125
|
+
* default fixed size (overridable via `style`), wires the native per-view direct
|
|
126
|
+
* events to the public CloudXAdProps callbacks, and hosts the native ad view.
|
|
127
|
+
*
|
|
128
|
+
* Note: overriding `style` with a non-IAB size resizes the host frame, not the
|
|
129
|
+
* creative - iOS pins the ad view to the host bounds and Android measures the
|
|
130
|
+
* creative from the host, so the served creative keeps its own standard
|
|
131
|
+
* dimensions inside the resized frame.
|
|
132
|
+
*/
|
|
133
|
+
const CloudXAdViewBase = ({
|
|
134
|
+
adFormat,
|
|
135
|
+
adUnitId,
|
|
136
|
+
placement,
|
|
137
|
+
customData,
|
|
138
|
+
extraParameters,
|
|
139
|
+
onAdLoaded,
|
|
140
|
+
onAdLoadFailed,
|
|
141
|
+
onAdClicked,
|
|
142
|
+
onAdRevenuePaid,
|
|
143
|
+
style,
|
|
144
|
+
...viewProps
|
|
145
|
+
}) => {
|
|
146
|
+
const [isTablet, setIsTablet] = (0, _react.useState)(cachedIsTablet ?? false);
|
|
147
|
+
const nativeViewProps = viewProps;
|
|
148
|
+
|
|
149
|
+
/*
|
|
150
|
+
* Gate native ad-view creation on SDK initialization. A view mounted before
|
|
151
|
+
* CloudX.initialize() completes would create the ad against an uninitialized
|
|
152
|
+
* SDK - on iOS createBannerWithAdUnitId: returns nil and the view is
|
|
153
|
+
* permanently dead (no retry, no load-failed event). There is no init event
|
|
154
|
+
* to subscribe to, so poll isInitialized() until ready, then mount the
|
|
155
|
+
* native view (which is what delivers adUnitId/adFormat and triggers create).
|
|
156
|
+
* Mirrors CloudXNativeAdView. Cached module-wide so only the first pre-init
|
|
157
|
+
* mount pays the placeholder + poll.
|
|
158
|
+
*/
|
|
159
|
+
const [isInitialized, setIsInitialized] = (0, _react.useState)(cachedIsInitialized);
|
|
160
|
+
(0, _react.useEffect)(() => {
|
|
161
|
+
if (cachedIsInitialized) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
let cancelled = false;
|
|
165
|
+
let timer;
|
|
166
|
+
let warnedOnce = false;
|
|
167
|
+
const check = () => {
|
|
168
|
+
_NativeCloudX.default.isInitialized().then(ready => {
|
|
169
|
+
if (cancelled) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
if (ready) {
|
|
173
|
+
cachedIsInitialized = true;
|
|
174
|
+
setIsInitialized(true);
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
if (!warnedOnce) {
|
|
178
|
+
warnedOnce = true;
|
|
179
|
+
console.warn('CloudXAdView mounted before CloudX SDK initialization; will render once initialize() completes.');
|
|
180
|
+
}
|
|
181
|
+
timer = setTimeout(check, 1000);
|
|
182
|
+
}).catch(error => {
|
|
183
|
+
if (cancelled) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
console.warn('CloudXAdView failed to read initialization state:', error);
|
|
187
|
+
timer = setTimeout(check, 1000);
|
|
188
|
+
});
|
|
189
|
+
};
|
|
190
|
+
check();
|
|
191
|
+
return () => {
|
|
192
|
+
cancelled = true;
|
|
193
|
+
if (timer) {
|
|
194
|
+
clearTimeout(timer);
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
}, []);
|
|
198
|
+
(0, _react.useEffect)(() => {
|
|
199
|
+
if (adFormat !== 'BANNER' || cachedIsTablet !== null) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
let cancelled = false;
|
|
203
|
+
_NativeCloudX.default.isTablet().then(tablet => {
|
|
204
|
+
cachedIsTablet = tablet;
|
|
205
|
+
if (!cancelled) {
|
|
206
|
+
setIsTablet(tablet);
|
|
207
|
+
}
|
|
208
|
+
}).catch(() => {
|
|
209
|
+
/* keep phone default on failure */
|
|
210
|
+
});
|
|
211
|
+
return () => {
|
|
212
|
+
cancelled = true;
|
|
213
|
+
};
|
|
214
|
+
}, [adFormat]);
|
|
215
|
+
const defaultSize = (0, _react.useMemo)(() => {
|
|
216
|
+
if (adFormat === 'MREC') {
|
|
217
|
+
return AD_SIZE.mrec;
|
|
218
|
+
}
|
|
219
|
+
return isTablet ? AD_SIZE.leader : AD_SIZE.banner;
|
|
220
|
+
}, [adFormat, isTablet]);
|
|
221
|
+
const resolvedStyle = (0, _react.useMemo)(() => [defaultSize, style], [defaultSize, style]);
|
|
222
|
+
const nativeExtraParameters = (0, _react.useMemo)(() => toNativeExtraParameterEntries(extraParameters), [extraParameters]);
|
|
223
|
+
|
|
224
|
+
/*
|
|
225
|
+
* Until the SDK is initialized, render a sized placeholder that reserves
|
|
226
|
+
* the ad slot's layout but does NOT mount the native view (so no pre-init
|
|
227
|
+
* create). Swaps to the real ad view once isInitialized flips true.
|
|
228
|
+
*/
|
|
229
|
+
if (!isInitialized) {
|
|
230
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({
|
|
231
|
+
style: resolvedStyle
|
|
232
|
+
}, nativeViewProps));
|
|
233
|
+
}
|
|
234
|
+
return /*#__PURE__*/_react.default.createElement(_CloudXAdViewNativeComponent.default, _extends({}, nativeViewProps, {
|
|
235
|
+
style: resolvedStyle,
|
|
236
|
+
adUnitId: adUnitId,
|
|
237
|
+
adFormat: adFormat,
|
|
238
|
+
placement: placement ?? null,
|
|
239
|
+
customData: customData ?? null,
|
|
240
|
+
extraParameters: nativeExtraParameters,
|
|
241
|
+
onAdLoadedEvent: e => onAdLoaded === null || onAdLoaded === void 0 ? void 0 : onAdLoaded(toAdInfo(e.nativeEvent)),
|
|
242
|
+
onAdLoadFailedEvent: e => onAdLoadFailed === null || onAdLoadFailed === void 0 ? void 0 : onAdLoadFailed(toLoadFailedInfo(e.nativeEvent)),
|
|
243
|
+
onAdClickedEvent: e => onAdClicked === null || onAdClicked === void 0 ? void 0 : onAdClicked(toAdInfo(e.nativeEvent)),
|
|
244
|
+
onAdRevenuePaidEvent: e => onAdRevenuePaid === null || onAdRevenuePaid === void 0 ? void 0 : onAdRevenuePaid(toAdInfo(e.nativeEvent))
|
|
245
|
+
}));
|
|
246
|
+
};
|
|
247
|
+
exports.CloudXAdViewBase = CloudXAdViewBase;
|
|
248
|
+
//# sourceMappingURL=CloudXAdViewBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_CloudXAdViewNativeComponent","_interopRequireDefault","_NativeCloudX","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","AD_SIZE","banner","width","height","leader","mrec","cachedIsTablet","cachedIsInitialized","parseAdValues","json","parsed","JSON","parse","Array","isArray","toAdInfo","event","adUnitId","adFormat","networkName","networkPlacement","placement","revenue","adValues","adValuesJson","toLoadFailedInfo","code","message","warnIgnoredUndefinedExtraParameter","keyPath","console","warn","normalizeExtraParameterValue","value","undefined","reduce","items","item","index","normalized","push","entries","object","childKey","childValue","toNativeExtraParameterEntries","extraParameters","key","normalizedValue","CloudXAdViewBase","customData","onAdLoaded","onAdLoadFailed","onAdClicked","onAdRevenuePaid","style","viewProps","isTablet","setIsTablet","useState","nativeViewProps","isInitialized","setIsInitialized","useEffect","cancelled","timer","warnedOnce","check","NativeCloudX","then","ready","setTimeout","catch","error","clearTimeout","tablet","defaultSize","useMemo","resolvedStyle","nativeExtraParameters","createElement","View","onAdLoadedEvent","nativeEvent","onAdLoadFailedEvent","onAdClickedEvent","onAdRevenuePaidEvent","exports"],"sourceRoot":"../../src","sources":["CloudXAdViewBase.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,4BAAA,GAAAC,sBAAA,CAAAH,OAAA;AAMA,IAAAI,aAAA,GAAAD,sBAAA,CAAAH,OAAA;AAAgD,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAM,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAAA,SAAAgB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAf,CAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAK,CAAA,IAAAF,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAa,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAKhD;AACA;AACA;;AAGA;AACA;AACA;;AAGA;;AAKA,MAAMG,OAAO,GAAG;EACZC,MAAM,EAAE;IAAEC,KAAK,EAAE,GAAG;IAAEC,MAAM,EAAE;EAAG,CAAC;EAClCC,MAAM,EAAE;IAAEF,KAAK,EAAE,GAAG;IAAEC,MAAM,EAAE;EAAG,CAAC;EAClCE,IAAI,EAAE;IAAEH,KAAK,EAAE,GAAG;IAAEC,MAAM,EAAE;EAAI;AACpC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,IAAIG,cAA8B,GAAG,IAAI;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,mBAAmB,GAAG,KAAK;AAE/B,MAAMC,aAAa,GAAIC,IAAoB,IAA6B;EACpE,IAAI,CAACA,IAAI,EAAE;IACP,OAAO,CAAC,CAAC;EACb;EACA,IAAI;IACA,MAAMC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IAC/B,OAAOC,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAI,CAACG,KAAK,CAACC,OAAO,CAACJ,MAAM,CAAC,GAC/DA,MAAM,GACN,CAAC,CAAC;EACZ,CAAC,CAAC,MAAM;IACJ,OAAO,CAAC,CAAC;EACb;AACJ,CAAC;AAED,MAAMK,QAAQ,GAAIC,KAAwB,KAAoB;EAC1DC,QAAQ,EAAED,KAAK,CAACC,QAAQ;EACxBC,QAAQ,EAAEF,KAAK,CAACE,QAAQ;EACxBC,WAAW,EAAEH,KAAK,CAACG,WAAW;EAC9BC,gBAAgB,EAAEJ,KAAK,CAACI,gBAAgB,IAAI,IAAI;EAChDC,SAAS,EAAEL,KAAK,CAACK,SAAS,IAAI,IAAI;EAClCC,OAAO,EAAEN,KAAK,CAACM,OAAO,IAAI,CAAC;EAC3BC,QAAQ,EAAEf,aAAa,CAACQ,KAAK,CAACQ,YAAY;AAC9C,CAAC,CAAC;AAEF,MAAMC,gBAAgB,GAAIT,KAA8B,KAA8B;EAClFC,QAAQ,EAAED,KAAK,CAACC,QAAQ;EACxBS,IAAI,EAAEV,KAAK,CAACU,IAAuB;EACnCC,OAAO,EAAEX,KAAK,CAACW,OAAO,IAAI;AAC9B,CAAC,CAAC;AAEF,MAAMC,kCAAkC,GAAIC,OAAe,IAAW;EAClEC,OAAO,CAACC,IAAI,CACR,yCAAyCF,OAAO,YAAY,GACxD,2EACR,CAAC;AACL,CAAC;AAED,MAAMG,4BAA4B,GAAGA,CACjCH,OAAe,EACfI,KAAc,KACmC;EACjD,IAAIA,KAAK,KAAKC,SAAS,EAAE;IACrBN,kCAAkC,CAACC,OAAO,CAAC;IAC3C,OAAOK,SAAS;EACpB;EAEA,IAAIrB,KAAK,CAACC,OAAO,CAACmB,KAAK,CAAC,EAAE;IACtB,OAAOA,KAAK,CAACE,MAAM,CAAY,CAACC,KAAK,EAAEC,IAAI,EAAEC,KAAK,KAAK;MACnD,MAAMC,UAAU,GAAGP,4BAA4B,CAAC,GAAGH,OAAO,IAAIS,KAAK,GAAG,EAAED,IAAI,CAAC;MAC7E,IAAIE,UAAU,KAAKL,SAAS,EAAE;QAC1BE,KAAK,CAACI,IAAI,CAACD,UAAU,CAAC;MAC1B;MACA,OAAOH,KAAK;IAChB,CAAC,EAAE,EAAE,CAAC;EACV;EAEA,IAAIH,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7C,OAAO1C,MAAM,CAACkD,OAAO,CAACR,KAAgC,CAAC,CAACE,MAAM,CAC1D,CAACO,MAAM,EAAE,CAACC,QAAQ,EAAEC,UAAU,CAAC,KAAK;MAChC,MAAML,UAAU,GAAGP,4BAA4B,CAAC,GAAGH,OAAO,IAAIc,QAAQ,EAAE,EAAEC,UAAU,CAAC;MACrF,IAAIL,UAAU,KAAKL,SAAS,EAAE;QAC1BQ,MAAM,CAACC,QAAQ,CAAC,GAAGJ,UAAU;MACjC;MACA,OAAOG,MAAM;IACjB,CAAC,EACD,CAAC,CACL,CAAC;EACL;EAEA,OAAOT,KAAK;AAChB,CAAC;AAED,MAAMY,6BAA6B,GAC/BC,eAAkD,IACP;EAC3C,IAAI,CAACA,eAAe,EAAE;IAClB,OAAO,EAAE;EACb;EAEA,OAAOvD,MAAM,CAACkD,OAAO,CAACK,eAA0C,CAAC,CAACX,MAAM,CACpE,CAACM,OAAO,EAAE,CAACM,GAAG,EAAEd,KAAK,CAAC,KAAK;IACvB,MAAMe,eAAe,GAAGhB,4BAA4B,CAACe,GAAG,EAAEd,KAAK,CAAC;IAChE,IAAIe,eAAe,KAAKd,SAAS,EAAE;MAC/B,OAAOO,OAAO;IAClB;IAEAA,OAAO,CAACD,IAAI,CAAC;MAAEO,GAAG;MAAEd,KAAK,EAAEe;IAAgB,CAAC,CAAC;IAC7C,OAAOP,OAAO;EAClB,CAAC,EACD,EACJ,CAAC;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMQ,gBAAiD,GAAGA,CAAC;EAC9D/B,QAAQ;EACRD,QAAQ;EACRI,SAAS;EACT6B,UAAU;EACVJ,eAAe;EACfK,UAAU;EACVC,cAAc;EACdC,WAAW;EACXC,eAAe;EACfC,KAAK;EACL,GAAGC;AACP,CAAC,KAAK;EACF,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAACrD,cAAc,IAAI,KAAK,CAAC;EACjE,MAAMsD,eAAe,GAAGJ,SAAS;;EAEjC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI,MAAM,CAACK,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAH,eAAQ,EAACpD,mBAAmB,CAAC;EAEvE,IAAAwD,gBAAS,EAAC,MAAM;IACZ,IAAIxD,mBAAmB,EAAE;MACrB;IACJ;IACA,IAAIyD,SAAS,GAAG,KAAK;IACrB,IAAIC,KAAgD;IACpD,IAAIC,UAAU,GAAG,KAAK;IACtB,MAAMC,KAAK,GAAGA,CAAA,KAAM;MAChBC,qBAAY,CAACP,aAAa,CAAC,CAAC,CACvBQ,IAAI,CAAEC,KAAK,IAAK;QACb,IAAIN,SAAS,EAAE;UACX;QACJ;QACA,IAAIM,KAAK,EAAE;UACP/D,mBAAmB,GAAG,IAAI;UAC1BuD,gBAAgB,CAAC,IAAI,CAAC;UACtB;QACJ;QACA,IAAI,CAACI,UAAU,EAAE;UACbA,UAAU,GAAG,IAAI;UACjBpC,OAAO,CAACC,IAAI,CACR,iGACJ,CAAC;QACL;QACAkC,KAAK,GAAGM,UAAU,CAACJ,KAAK,EAAE,IAAI,CAAC;MACnC,CAAC,CAAC,CACDK,KAAK,CAAEC,KAAK,IAAK;QACd,IAAIT,SAAS,EAAE;UACX;QACJ;QACAlC,OAAO,CAACC,IAAI,CAAC,mDAAmD,EAAE0C,KAAK,CAAC;QACxER,KAAK,GAAGM,UAAU,CAACJ,KAAK,EAAE,IAAI,CAAC;MACnC,CAAC,CAAC;IACV,CAAC;IACDA,KAAK,CAAC,CAAC;IACP,OAAO,MAAM;MACTH,SAAS,GAAG,IAAI;MAChB,IAAIC,KAAK,EAAE;QACPS,YAAY,CAACT,KAAK,CAAC;MACvB;IACJ,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAF,gBAAS,EAAC,MAAM;IACZ,IAAI7C,QAAQ,KAAK,QAAQ,IAAIZ,cAAc,KAAK,IAAI,EAAE;MAClD;IACJ;IACA,IAAI0D,SAAS,GAAG,KAAK;IACrBI,qBAAY,CAACX,QAAQ,CAAC,CAAC,CAClBY,IAAI,CAAEM,MAAM,IAAK;MACdrE,cAAc,GAAGqE,MAAM;MACvB,IAAI,CAACX,SAAS,EAAE;QACZN,WAAW,CAACiB,MAAM,CAAC;MACvB;IACJ,CAAC,CAAC,CACDH,KAAK,CAAC,MAAM;MACT;IAAA,CACH,CAAC;IACN,OAAO,MAAM;MACTR,SAAS,GAAG,IAAI;IACpB,CAAC;EACL,CAAC,EAAE,CAAC9C,QAAQ,CAAC,CAAC;EAEd,MAAM0D,WAAW,GAAG,IAAAC,cAAO,EAAY,MAAM;IACzC,IAAI3D,QAAQ,KAAK,MAAM,EAAE;MACrB,OAAOlB,OAAO,CAACK,IAAI;IACvB;IACA,OAAOoD,QAAQ,GAAGzD,OAAO,CAACI,MAAM,GAAGJ,OAAO,CAACC,MAAM;EACrD,CAAC,EAAE,CAACiB,QAAQ,EAAEuC,QAAQ,CAAC,CAAC;EAExB,MAAMqB,aAAa,GAAG,IAAAD,cAAO,EACzB,MAAM,CAACD,WAAW,EAAErB,KAAK,CAAC,EAC1B,CAACqB,WAAW,EAAErB,KAAK,CACvB,CAAC;EACD,MAAMwB,qBAAqB,GAAG,IAAAF,cAAO,EACjC,MAAMhC,6BAA6B,CAACC,eAAe,CAAC,EACpD,CAACA,eAAe,CACpB,CAAC;;EAED;AACJ;AACA;AACA;AACA;EACI,IAAI,CAACe,aAAa,EAAE;IAChB,oBAAO7F,MAAA,CAAAS,OAAA,CAAAuG,aAAA,CAAC7G,YAAA,CAAA8G,IAAI,EAAAvF,QAAA;MAAC6D,KAAK,EAAEuB;IAAc,GAAKlB,eAAe,CAAG,CAAC;EAC9D;EAEA,oBACI5F,MAAA,CAAAS,OAAA,CAAAuG,aAAA,CAAC5G,4BAAA,CAAAK,OAAkB,EAAAiB,QAAA,KACXkE,eAAe;IACnBL,KAAK,EAAEuB,aAAc;IACrB7D,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEA,QAAS;IACnBG,SAAS,EAAEA,SAAS,IAAI,IAAK;IAC7B6B,UAAU,EAAEA,UAAU,IAAI,IAAK;IAC/BJ,eAAe,EAAEiC,qBAAsB;IACvCG,eAAe,EAAG3G,CAA0C,IACxD4E,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGpC,QAAQ,CAACxC,CAAC,CAAC4G,WAAW,CAAC,CACvC;IACDC,mBAAmB,EAAG7G,CAAgD,IAClE6E,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAG3B,gBAAgB,CAAClD,CAAC,CAAC4G,WAAW,CAAC,CACnD;IACDE,gBAAgB,EAAG9G,CAA0C,IACzD8E,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAGtC,QAAQ,CAACxC,CAAC,CAAC4G,WAAW,CAAC,CACxC;IACDG,oBAAoB,EAAG/G,CAA0C,IAC7D+E,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAGvC,QAAQ,CAACxC,CAAC,CAAC4G,WAAW,CAAC;EAC5C,EACJ,CAAC;AAEV,CAAC;AAACI,OAAA,CAAAtC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.CloudXBannerView = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _CloudXAdViewBase = require("./CloudXAdViewBase");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
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); }
|
|
11
|
+
/**
|
|
12
|
+
* In-tree banner ad component.
|
|
13
|
+
*
|
|
14
|
+
* Unlike the imperative `CloudXBannerAd` API (a native overlay above the whole
|
|
15
|
+
* RN view tree), this renders the banner as an ordinary React Native view, so
|
|
16
|
+
* app overlays such as toasts layer above it via normal RN z-ordering.
|
|
17
|
+
*
|
|
18
|
+
* Defaults to 320x50 on phones and 728x90 on tablets; override via `style`.
|
|
19
|
+
* Overriding `style` to a non-standard size resizes the host frame, not the
|
|
20
|
+
* creative - the served banner keeps its own IAB dimensions inside that frame.
|
|
21
|
+
*/
|
|
22
|
+
const CloudXBannerView = props => /*#__PURE__*/_react.default.createElement(_CloudXAdViewBase.CloudXAdViewBase, _extends({
|
|
23
|
+
adFormat: "BANNER"
|
|
24
|
+
}, props));
|
|
25
|
+
exports.CloudXBannerView = CloudXBannerView;
|
|
26
|
+
var _default = exports.default = CloudXBannerView;
|
|
27
|
+
//# sourceMappingURL=CloudXBannerView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_CloudXAdViewBase","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","CloudXBannerView","props","createElement","CloudXAdViewBase","adFormat","exports","_default"],"sourceRoot":"../../src","sources":["CloudXBannerView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAAsD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAGtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMO,gBAA6C,GAAIC,KAAK,iBAC/DpB,MAAA,CAAAM,OAAA,CAAAe,aAAA,CAAClB,iBAAA,CAAAmB,gBAAgB,EAAAf,QAAA;EAACgB,QAAQ,EAAC;AAAQ,GAAKH,KAAK,CAAG,CACnD;AAACI,OAAA,CAAAL,gBAAA,GAAAA,gBAAA;AAAA,IAAAM,QAAA,GAAAD,OAAA,CAAAlB,OAAA,GAEaa,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.CloudXMRECView = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _CloudXAdViewBase = require("./CloudXAdViewBase");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
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); }
|
|
11
|
+
/**
|
|
12
|
+
* In-tree MREC ad component.
|
|
13
|
+
*
|
|
14
|
+
* Unlike the imperative `CloudXMRECAd` API (a native overlay above the whole RN
|
|
15
|
+
* view tree), this renders the MREC as an ordinary React Native view, so app
|
|
16
|
+
* overlays such as toasts layer above it via normal RN z-ordering.
|
|
17
|
+
*
|
|
18
|
+
* Fixed size of 300x250; override via `style`.
|
|
19
|
+
* Overriding `style` to a non-standard size resizes the host frame, not the
|
|
20
|
+
* creative - the served MREC keeps its own dimensions inside that frame.
|
|
21
|
+
*/
|
|
22
|
+
const CloudXMRECView = props => /*#__PURE__*/_react.default.createElement(_CloudXAdViewBase.CloudXAdViewBase, _extends({
|
|
23
|
+
adFormat: "MREC"
|
|
24
|
+
}, props));
|
|
25
|
+
exports.CloudXMRECView = CloudXMRECView;
|
|
26
|
+
var _default = exports.default = CloudXMRECView;
|
|
27
|
+
//# sourceMappingURL=CloudXMRECView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_CloudXAdViewBase","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","CloudXMRECView","props","createElement","CloudXAdViewBase","adFormat","exports","_default"],"sourceRoot":"../../src","sources":["CloudXMRECView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAAsD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAGtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMO,cAA2C,GAAIC,KAAK,iBAC7DpB,MAAA,CAAAM,OAAA,CAAAe,aAAA,CAAClB,iBAAA,CAAAmB,gBAAgB,EAAAf,QAAA;EAACgB,QAAQ,EAAC;AAAM,GAAKH,KAAK,CAAG,CACjD;AAACI,OAAA,CAAAL,cAAA,GAAAA,cAAA;AAAA,IAAAM,QAAA,GAAAD,OAAA,CAAAlB,OAAA,GAEaa,cAAc","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "CloudXBannerAd", {
|
|
|
33
33
|
return _CloudXBannerAd.CloudXBannerAd;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "CloudXBannerView", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _CloudXBannerView.CloudXBannerView;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
36
42
|
Object.defineProperty(exports, "CloudXErrorCode", {
|
|
37
43
|
enumerable: true,
|
|
38
44
|
get: function () {
|
|
@@ -52,6 +58,12 @@ Object.defineProperty(exports, "CloudXMRECAd", {
|
|
|
52
58
|
return _CloudXMRECAd.CloudXMRECAd;
|
|
53
59
|
}
|
|
54
60
|
});
|
|
61
|
+
Object.defineProperty(exports, "CloudXMRECView", {
|
|
62
|
+
enumerable: true,
|
|
63
|
+
get: function () {
|
|
64
|
+
return _CloudXMRECView.CloudXMRECView;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
55
67
|
Object.defineProperty(exports, "CloudXRewardedAd", {
|
|
56
68
|
enumerable: true,
|
|
57
69
|
get: function () {
|
|
@@ -108,6 +120,8 @@ var _CloudXRewardedAd = require("./CloudXRewardedAd");
|
|
|
108
120
|
var _CloudXBannerAd = require("./CloudXBannerAd");
|
|
109
121
|
var _CloudXMRECAd = require("./CloudXMRECAd");
|
|
110
122
|
var _CloudXAdPosition = require("./CloudXAdPosition");
|
|
123
|
+
var _CloudXBannerView = require("./CloudXBannerView");
|
|
124
|
+
var _CloudXMRECView = require("./CloudXMRECView");
|
|
111
125
|
var _CloudXErrorCode = require("./CloudXErrorCode");
|
|
112
126
|
var _AppTrackingTransparency = require("./AppTrackingTransparency");
|
|
113
127
|
var _hooks = require("./hooks");
|
|
@@ -117,6 +131,8 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
117
131
|
|
|
118
132
|
// Ad Modules
|
|
119
133
|
|
|
134
|
+
// Ad View Components (in-tree; layer correctly under app overlays)
|
|
135
|
+
|
|
120
136
|
// Error Codes
|
|
121
137
|
|
|
122
138
|
// App Tracking Transparency (iOS)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_CloudX","_interopRequireWildcard","require","_NativeCloudX","_interopRequireDefault","_Arbiter","_CloudXInterstitialAd","_CloudXRewardedAd","_CloudXBannerAd","_CloudXMRECAd","_CloudXAdPosition","_CloudXErrorCode","_AppTrackingTransparency","_hooks","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CloudXLogLevel","exports","VERBOSE","DEBUG","INFO","WARN","ERROR","NONE"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_CloudX","_interopRequireWildcard","require","_NativeCloudX","_interopRequireDefault","_Arbiter","_CloudXInterstitialAd","_CloudXRewardedAd","_CloudXBannerAd","_CloudXMRECAd","_CloudXAdPosition","_CloudXBannerView","_CloudXMRECView","_CloudXErrorCode","_AppTrackingTransparency","_hooks","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CloudXLogLevel","exports","VERBOSE","DEBUG","INFO","WARN","ERROR","NONE"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAGA,IAAAI,qBAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,iBAAA,GAAAR,OAAA;AAGA,IAAAS,iBAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA;AAIA,IAAAW,gBAAA,GAAAX,OAAA;AAGA,IAAAY,wBAAA,GAAAZ,OAAA;AAGA,IAAAa,MAAA,GAAAb,OAAA;AAAoF,SAAAE,uBAAAY,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAf,wBAAAe,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAnB,uBAAA,YAAAA,CAAAe,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAxBpF;;AAKA;;AAOA;;AAKA;;AAGA;;AAGA;;AAIA;;AA6BA;AACO,MAAMgB,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC1BE,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE;AACV,CAAU","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _codegenNativeComponent = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
/**
|
|
10
|
+
* Payload for ad lifecycle events (load, click, revenue).
|
|
11
|
+
*
|
|
12
|
+
* Codegen cannot express `Record<string, string>`, so the SDK-owned ad values
|
|
13
|
+
* are delivered as a JSON-encoded string in `adValuesJson` and re-parsed into a
|
|
14
|
+
* map by the JS wrapper before surfacing a CloudXAdInfo to the publisher.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Payload for ad load-failure events.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Props for the native CloudXAdView component (banner + MREC).
|
|
21
|
+
*
|
|
22
|
+
* This is the in-tree view component: the ad renders as an ordinary React
|
|
23
|
+
* Native view, so publisher overlays (toasts, modals) layer above it via
|
|
24
|
+
* normal RN z-ordering - unlike the imperative overlay banner API.
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Native in-tree view component backing CloudXBannerView / CloudXMRECView.
|
|
28
|
+
*/
|
|
29
|
+
var _default = exports.default = (0, _codegenNativeComponent.default)('CloudXAdView');
|
|
30
|
+
//# sourceMappingURL=CloudXAdViewNativeComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/CloudXAdViewNativeComponent.ts"],"mappings":";;;;;;AAMA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AAWA;AACA;AACA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AAmCA;AACA;AACA;AAFA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAGe,IAAAG,+BAAsB,EAAc,cAAc,CAAC","ignoreList":[]}
|
package/lib/commonjs/version.js
CHANGED
|
@@ -5,6 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.PLUGIN_VERSION = void 0;
|
|
7
7
|
// Keep PLUGIN_VERSION in sync with the `version` field in package.json.
|
|
8
|
-
// Phase 1
|
|
9
|
-
|
|
8
|
+
// RELEASE.md Phase 1 bumps both together (see the Version Files table).
|
|
9
|
+
// This value is reported to the native SDK in CloudX.initialize() and is used
|
|
10
|
+
// for wrapper-version telemetry/attribution, so a stale value mis-attributes
|
|
11
|
+
// installs to the wrong release.
|
|
12
|
+
const PLUGIN_VERSION = exports.PLUGIN_VERSION = '3.4.7';
|
|
10
13
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PLUGIN_VERSION","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAA;AACA;AACO,MAAMA,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,OAAO","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PLUGIN_VERSION","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,MAAMA,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,OAAO","ignoreList":[]}
|