cloudx-react-native 3.11.0 → 3.11.1
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 +9 -0
- package/android/src/main/java/com/cloudxreactnative/CloudXAdInfo.kt +76 -0
- package/android/src/main/java/com/cloudxreactnative/CloudXModuleImpl.kt +110 -0
- package/android/src/main/java/com/cloudxreactnative/CloudXNativeAdHolder.kt +184 -0
- package/android/src/main/java/com/cloudxreactnative/CloudXNativeAdView.kt +209 -70
- package/android/src/main/java/com/cloudxreactnative/CloudXNativeAdViewManagerImpl.kt +6 -0
- package/android/src/newarch/com/cloudxreactnative/CloudXModule.kt +9 -0
- package/android/src/newarch/com/cloudxreactnative/CloudXNativeAdViewManager.kt +2 -0
- package/android/src/oldarch/com/cloudxreactnative/CloudXModule.kt +14 -0
- package/android/src/oldarch/com/cloudxreactnative/CloudXNativeAdViewManager.kt +3 -0
- package/android/src/test/java/com/cloudxreactnative/CloudXNativeAdPreloadTest.kt +351 -0
- package/android/src/test/java/com/cloudxreactnative/FakeReadable.kt +2 -2
- package/ios/CloudX.h +12 -0
- package/ios/CloudX.mm +94 -1
- package/ios/CloudXNativeAdHolder.h +66 -0
- package/ios/CloudXNativeAdHolder.mm +247 -0
- package/ios/CloudXNativeAdView.h +9 -0
- package/ios/CloudXNativeAdView.mm +308 -64
- package/ios/CloudXNativeAdViewManager.mm +7 -0
- package/lib/commonjs/CloudXNativeAd.js +178 -0
- package/lib/commonjs/CloudXNativeAd.js.map +1 -0
- package/lib/commonjs/CloudXNativeAdView.js +58 -11
- package/lib/commonjs/CloudXNativeAdView.js.map +1 -1
- package/lib/commonjs/hooks.js +203 -0
- package/lib/commonjs/hooks.js.map +1 -1
- package/lib/commonjs/index.js +13 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/specs/CloudXNativeAdViewNativeComponent.js +2 -0
- package/lib/commonjs/specs/CloudXNativeAdViewNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/NativeCloudX.js.map +1 -1
- package/lib/commonjs/types/NativeAd.js +21 -1
- package/lib/commonjs/types/NativeAd.js.map +1 -1
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/CloudXNativeAd.js +170 -0
- package/lib/module/CloudXNativeAd.js.map +1 -0
- package/lib/module/CloudXNativeAdView.js +58 -11
- package/lib/module/CloudXNativeAdView.js.map +1 -1
- package/lib/module/hooks.js +202 -0
- package/lib/module/hooks.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/CloudXNativeAdViewNativeComponent.js +2 -0
- package/lib/module/specs/CloudXNativeAdViewNativeComponent.js.map +1 -1
- package/lib/module/specs/NativeCloudX.js.map +1 -1
- package/lib/module/types/NativeAd.js +26 -1
- package/lib/module/types/NativeAd.js.map +1 -1
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/src/CloudXNativeAd.d.ts +58 -0
- package/lib/typescript/src/CloudXNativeAd.d.ts.map +1 -0
- package/lib/typescript/src/CloudXNativeAdView.d.ts +6 -13
- package/lib/typescript/src/CloudXNativeAdView.d.ts.map +1 -1
- package/lib/typescript/src/hooks.d.ts +30 -0
- package/lib/typescript/src/hooks.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +4 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/CloudXNativeAdViewNativeComponent.d.ts +23 -2
- package/lib/typescript/src/specs/CloudXNativeAdViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeCloudX.d.ts +13 -0
- package/lib/typescript/src/specs/NativeCloudX.d.ts.map +1 -1
- package/lib/typescript/src/types/NativeAd.d.ts +76 -13
- package/lib/typescript/src/types/NativeAd.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +1 -1
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/CloudXNativeAd.ts +177 -0
- package/src/CloudXNativeAdView.tsx +82 -15
- package/src/hooks.ts +236 -0
- package/src/index.ts +14 -1
- package/src/specs/CloudXNativeAdViewNativeComponent.ts +27 -2
- package/src/specs/NativeCloudX.ts +20 -0
- package/src/types/NativeAd.ts +85 -18
- package/src/types/index.ts +4 -0
- package/src/version.ts +1 -1
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CloudXNativeAd = void 0;
|
|
7
|
+
var _EventEmitter = require("./EventEmitter");
|
|
8
|
+
var _extraParameters = require("./extraParameters");
|
|
9
|
+
var _NativeCloudX = _interopRequireDefault(require("./specs/NativeCloudX"));
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
const {
|
|
12
|
+
ON_NATIVE_AD_CLICKED_EVENT,
|
|
13
|
+
ON_NATIVE_AD_EXPIRED_EVENT,
|
|
14
|
+
ON_NATIVE_AD_CLOSED_EVENT,
|
|
15
|
+
ON_NATIVE_AD_REVENUE_PAID
|
|
16
|
+
} = _NativeCloudX.default.getConstants();
|
|
17
|
+
const toAdInfo = (payload, adUnitId) => ({
|
|
18
|
+
adUnitId: payload.adUnitId ?? adUnitId,
|
|
19
|
+
adFormat: payload.adFormat ?? 'NATIVE',
|
|
20
|
+
networkName: payload.networkName ?? '',
|
|
21
|
+
networkPlacement: payload.networkPlacement ?? null,
|
|
22
|
+
placement: payload.placement ?? null,
|
|
23
|
+
creativeId: payload.creativeId ?? null,
|
|
24
|
+
revenue: payload.revenue ?? 0,
|
|
25
|
+
adValues: payload.adValues ?? {},
|
|
26
|
+
nativeAd: payload.nativeAd ?? null
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
// Live handles by native id. Native events arrive on the module-wide emitter
|
|
30
|
+
// and are routed here, so a handle never hears another ad's events.
|
|
31
|
+
const liveAds = new Map();
|
|
32
|
+
let routingSubscriptions = null;
|
|
33
|
+
const ensureEventRouting = () => {
|
|
34
|
+
if (routingSubscriptions) return;
|
|
35
|
+
const route = type => payload => {
|
|
36
|
+
const ad = payload.nativeAdId ? liveAds.get(payload.nativeAdId) : undefined;
|
|
37
|
+
ad === null || ad === void 0 || ad._handleNativeEvent(type, payload);
|
|
38
|
+
};
|
|
39
|
+
// Subscribe on the shared emitter directly: the module-level
|
|
40
|
+
// addEventListener helper keeps one listener per event name and would
|
|
41
|
+
// replace a publisher's own subscription.
|
|
42
|
+
routingSubscriptions = [_EventEmitter.emitter.addListener(ON_NATIVE_AD_CLICKED_EVENT, route('clicked')), _EventEmitter.emitter.addListener(ON_NATIVE_AD_REVENUE_PAID, route('revenuePaid')), _EventEmitter.emitter.addListener(ON_NATIVE_AD_EXPIRED_EVENT, route('expired')), _EventEmitter.emitter.addListener(ON_NATIVE_AD_CLOSED_EVENT, route('closed'))];
|
|
43
|
+
};
|
|
44
|
+
const toLoadFailedInfo = (adUnitId, error) => {
|
|
45
|
+
const {
|
|
46
|
+
code,
|
|
47
|
+
message
|
|
48
|
+
} = error ?? {};
|
|
49
|
+
const numeric = Number(code);
|
|
50
|
+
return {
|
|
51
|
+
adUnitId,
|
|
52
|
+
code: Number.isFinite(numeric) ? numeric : 0,
|
|
53
|
+
message: typeof message === 'string' ? message : null
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* A native ad loaded ahead of its view.
|
|
59
|
+
*
|
|
60
|
+
* Load it whenever it suits the app, then render it with
|
|
61
|
+
* `<CloudXNativeAdView nativeAd={ad} />`. The handle owns the ad: unmounting a
|
|
62
|
+
* view never destroys it, and its impression is counted once. Clicks, revenue,
|
|
63
|
+
* expiry and close are reported here, not on the view.
|
|
64
|
+
*
|
|
65
|
+
* Moving an ad to another view differs by platform:
|
|
66
|
+
* - iOS: mount another view with the same ad and it shows there; the latest
|
|
67
|
+
* view wins.
|
|
68
|
+
* - Android: once the ad has been shown in a view, it stays with that view.
|
|
69
|
+
* Any other view, including a remounted list cell or a reopened screen,
|
|
70
|
+
* reports `onAdDisplayFailed` with `AD_ALREADY_SHOWING`. Load a fresh ad
|
|
71
|
+
* for each new view.
|
|
72
|
+
*
|
|
73
|
+
* An ad that expires before its impression (its `revenuePaid` event) reports
|
|
74
|
+
* `expired` on both platforms, even if it was already shown in a view.
|
|
75
|
+
*
|
|
76
|
+
* Call `destroy()` when the ad is no longer needed.
|
|
77
|
+
*/
|
|
78
|
+
class CloudXNativeAd {
|
|
79
|
+
/** Ad info as of load. Revenue callbacks carry the impression-time values. */
|
|
80
|
+
|
|
81
|
+
/** Asset metadata for manual layouts; `null` if the network reported none. */
|
|
82
|
+
|
|
83
|
+
expired = false;
|
|
84
|
+
destroyed = false;
|
|
85
|
+
listeners = new Map();
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Loads a native ad without a view. Resolves once the ad is held natively;
|
|
89
|
+
* rejects with a `CloudXAdLoadFailedInfo`.
|
|
90
|
+
*
|
|
91
|
+
* Loads per ad unit are limited, so preload several ads one after another
|
|
92
|
+
* rather than all at once.
|
|
93
|
+
*/
|
|
94
|
+
static async load(adUnitId, options = {}) {
|
|
95
|
+
var _result;
|
|
96
|
+
ensureEventRouting();
|
|
97
|
+
// Extra parameters cross the bridge as {key, value} entries, the same
|
|
98
|
+
// wire format CloudXNativeAdView sends, so both native load paths
|
|
99
|
+
// configure the loader through one helper.
|
|
100
|
+
const wireOptions = {
|
|
101
|
+
...options,
|
|
102
|
+
extraParameters: (0, _extraParameters.toNativeExtraParameterEntries)(options.extraParameters),
|
|
103
|
+
localExtraParameters: (0, _extraParameters.toNativeExtraParameterEntries)(options.localExtraParameters)
|
|
104
|
+
};
|
|
105
|
+
let result;
|
|
106
|
+
try {
|
|
107
|
+
result = await _NativeCloudX.default.loadNativeAd(adUnitId, wireOptions);
|
|
108
|
+
} catch (error) {
|
|
109
|
+
throw toLoadFailedInfo(adUnitId, error);
|
|
110
|
+
}
|
|
111
|
+
if (!((_result = result) !== null && _result !== void 0 && _result.nativeAdId)) {
|
|
112
|
+
throw toLoadFailedInfo(adUnitId, {
|
|
113
|
+
code: 0,
|
|
114
|
+
message: 'Native module returned no native ad id'
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return new CloudXNativeAd(result.nativeAdId, adUnitId, result.adInfo ?? {});
|
|
118
|
+
}
|
|
119
|
+
constructor(id, adUnitId, payload) {
|
|
120
|
+
this.id = id;
|
|
121
|
+
this.adUnitId = adUnitId;
|
|
122
|
+
this.info = toAdInfo(payload, adUnitId);
|
|
123
|
+
this.metadata = this.info.nativeAd ?? null;
|
|
124
|
+
liveAds.set(id, this);
|
|
125
|
+
}
|
|
126
|
+
get isExpired() {
|
|
127
|
+
return this.expired;
|
|
128
|
+
}
|
|
129
|
+
get isDestroyed() {
|
|
130
|
+
return this.destroyed;
|
|
131
|
+
}
|
|
132
|
+
addListener(type, listener) {
|
|
133
|
+
if (this.destroyed) {
|
|
134
|
+
console.warn(`CloudXNativeAd(${this.id}): addListener('${type}') after destroy() never fires.`);
|
|
135
|
+
return {
|
|
136
|
+
remove: () => undefined
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
let set = this.listeners.get(type);
|
|
140
|
+
if (!set) {
|
|
141
|
+
set = new Set();
|
|
142
|
+
this.listeners.set(type, set);
|
|
143
|
+
}
|
|
144
|
+
set.add(listener);
|
|
145
|
+
return {
|
|
146
|
+
remove: () => {
|
|
147
|
+
var _this$listeners$get;
|
|
148
|
+
return (_this$listeners$get = this.listeners.get(type)) === null || _this$listeners$get === void 0 ? void 0 : _this$listeners$get.delete(listener);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/** Releases the native ad. Safe to call more than once. */
|
|
154
|
+
destroy() {
|
|
155
|
+
if (this.destroyed) return;
|
|
156
|
+
this.destroyed = true;
|
|
157
|
+
liveAds.delete(this.id);
|
|
158
|
+
this.listeners.clear();
|
|
159
|
+
_NativeCloudX.default.destroyNativeAd(this.id);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/** @internal Routed from the module emitter; not part of the public API. */
|
|
163
|
+
_handleNativeEvent(type, payload) {
|
|
164
|
+
var _this$listeners$get2;
|
|
165
|
+
if (this.destroyed) return;
|
|
166
|
+
if (type === 'expired') this.expired = true;
|
|
167
|
+
const adInfo = toAdInfo(payload, this.adUnitId);
|
|
168
|
+
(_this$listeners$get2 = this.listeners.get(type)) === null || _this$listeners$get2 === void 0 || _this$listeners$get2.forEach(listener => {
|
|
169
|
+
try {
|
|
170
|
+
listener(adInfo);
|
|
171
|
+
} catch (error) {
|
|
172
|
+
console.error(`CloudXNativeAd(${this.id}): '${type}' listener threw`, error);
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
exports.CloudXNativeAd = CloudXNativeAd;
|
|
178
|
+
//# sourceMappingURL=CloudXNativeAd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_EventEmitter","require","_extraParameters","_NativeCloudX","_interopRequireDefault","e","__esModule","default","ON_NATIVE_AD_CLICKED_EVENT","ON_NATIVE_AD_EXPIRED_EVENT","ON_NATIVE_AD_CLOSED_EVENT","ON_NATIVE_AD_REVENUE_PAID","NativeCloudX","getConstants","toAdInfo","payload","adUnitId","adFormat","networkName","networkPlacement","placement","creativeId","revenue","adValues","nativeAd","liveAds","Map","routingSubscriptions","ensureEventRouting","route","type","ad","nativeAdId","get","undefined","_handleNativeEvent","emitter","addListener","toLoadFailedInfo","error","code","message","numeric","Number","isFinite","CloudXNativeAd","expired","destroyed","listeners","load","options","_result","wireOptions","extraParameters","toNativeExtraParameterEntries","localExtraParameters","result","loadNativeAd","adInfo","constructor","id","info","metadata","set","isExpired","isDestroyed","listener","console","warn","remove","Set","add","_this$listeners$get","delete","destroy","clear","destroyNativeAd","_this$listeners$get2","forEach","exports"],"sourceRoot":"../../src","sources":["CloudXNativeAd.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -56,21 +56,38 @@ const toLoadFailedInfo = event => ({
|
|
|
56
56
|
message: event.message || null
|
|
57
57
|
});
|
|
58
58
|
|
|
59
|
+
// Props that only mean something when the view loads its own ad. Passing one
|
|
60
|
+
// next to `nativeAd` is a type error, but plain-JS callers can still do it.
|
|
61
|
+
const AUTO_LOAD_ONLY_PROPS = ['adUnitId', 'placement', 'customData', 'extraParameters', 'localExtraParameters', 'disableVideoFullScreen', 'startVideoUnmuted', 'hideVideoMediaControls', 'onAdLoaded', 'onAdLoadFailed', 'onAdClicked', 'onAdRevenuePaid', 'onAdExpired', 'onAdClosed'];
|
|
62
|
+
|
|
59
63
|
/**
|
|
60
64
|
* Renders a native ad. Defaults to the SDK's bundled template layouts;
|
|
61
65
|
* set `renderMode="manual"` to drive layout through the pre-built asset
|
|
62
66
|
* components (`CloudXTitleView`, `CloudXMediaView`, etc.) instead.
|
|
63
67
|
*
|
|
68
|
+
* Pass `adUnitId` and the view loads its own ad on attach. Pass `nativeAd`
|
|
69
|
+
* (from `CloudXNativeAd.load`) and it renders that ad instead, without
|
|
70
|
+
* loading or destroying it.
|
|
71
|
+
*
|
|
64
72
|
* Manual mode is never inferred from the presence of children — `renderMode`
|
|
65
73
|
* is always explicit so a publisher's intent is visible at the call site.
|
|
66
74
|
*/
|
|
67
75
|
const CloudXNativeAdView = exports.CloudXNativeAdView = /*#__PURE__*/(0, _react.forwardRef)(function CloudXNativeAdView(props, ref) {
|
|
76
|
+
var _props$nativeAd;
|
|
68
77
|
const {
|
|
69
78
|
renderMode = 'template',
|
|
70
79
|
style,
|
|
71
80
|
testID,
|
|
72
81
|
children
|
|
73
82
|
} = props;
|
|
83
|
+
const warnedMixedProps = (0, _react.useRef)(false);
|
|
84
|
+
if (__DEV__ && props.nativeAd && !warnedMixedProps.current) {
|
|
85
|
+
const ignored = AUTO_LOAD_ONLY_PROPS.filter(name => Reflect.get(props, name) != null);
|
|
86
|
+
if (ignored.length > 0) {
|
|
87
|
+
warnedMixedProps.current = true;
|
|
88
|
+
console.warn(`CloudXNativeAdView: ${ignored.join(', ')} ignored because nativeAd is set. ` + 'Pass load options to CloudXNativeAd.load() and subscribe to clicks, revenue, ' + 'expiry and close with nativeAd.addListener().');
|
|
89
|
+
}
|
|
90
|
+
}
|
|
74
91
|
|
|
75
92
|
/*
|
|
76
93
|
* Gate native ad-view creation on SDK initialization; shared with
|
|
@@ -105,7 +122,12 @@ const CloudXNativeAdView = exports.CloudXNativeAdView = /*#__PURE__*/(0, _react.
|
|
|
105
122
|
testID: testID
|
|
106
123
|
}, children));
|
|
107
124
|
}
|
|
125
|
+
|
|
126
|
+
// Keyed by the bound handle: swapping `nativeAd` remounts the provider
|
|
127
|
+
// and native view, so the previous ad's metadata and asset bindings
|
|
128
|
+
// can never be shown under the new ad's click and impression tracking.
|
|
108
129
|
return /*#__PURE__*/React.createElement(_CloudXNativeAdViewProvider.CloudXNativeAdViewProvider, {
|
|
130
|
+
key: (_props$nativeAd = props.nativeAd) === null || _props$nativeAd === void 0 ? void 0 : _props$nativeAd.id,
|
|
109
131
|
onAssetRoleRegistered: handleAssetRoleRegistered
|
|
110
132
|
}, /*#__PURE__*/React.createElement(CloudXNativeAdViewImpl, _extends({}, props, {
|
|
111
133
|
ref: ref
|
|
@@ -124,8 +146,10 @@ const CloudXNativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function Clou
|
|
|
124
146
|
extraParameters,
|
|
125
147
|
localExtraParameters,
|
|
126
148
|
renderMode = 'template',
|
|
149
|
+
nativeAd,
|
|
127
150
|
onAdLoaded,
|
|
128
151
|
onAdLoadFailed,
|
|
152
|
+
onAdDisplayed,
|
|
129
153
|
onAdDisplayFailed,
|
|
130
154
|
onAdClicked,
|
|
131
155
|
onAdExpired,
|
|
@@ -137,6 +161,7 @@ const CloudXNativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function Clou
|
|
|
137
161
|
...rest
|
|
138
162
|
} = props;
|
|
139
163
|
const isManual = renderMode === 'manual';
|
|
164
|
+
const isPreloaded = nativeAd != null;
|
|
140
165
|
const {
|
|
141
166
|
setNativeAd,
|
|
142
167
|
titleRef,
|
|
@@ -158,11 +183,13 @@ const CloudXNativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function Clou
|
|
|
158
183
|
const lastAdInfoRef = (0, _react.useRef)(null);
|
|
159
184
|
const [bindTick, setBindTick] = (0, _react.useState)(0);
|
|
160
185
|
const loadAd = (0, _react.useCallback)(() => {
|
|
161
|
-
if (nativeRef.current) {
|
|
186
|
+
if (nativeRef.current && !isPreloaded) {
|
|
162
187
|
_CloudXNativeAdViewNativeComponent.Commands.loadAd(nativeRef.current);
|
|
163
188
|
}
|
|
164
|
-
}, []);
|
|
189
|
+
}, [isPreloaded]);
|
|
165
190
|
const destroyAd = (0, _react.useCallback)(() => {
|
|
191
|
+
// A preloaded ad belongs to its handle, not to this view.
|
|
192
|
+
if (isPreloaded) return;
|
|
166
193
|
if (nativeRef.current) {
|
|
167
194
|
_CloudXNativeAdViewNativeComponent.Commands.destroyAd(nativeRef.current);
|
|
168
195
|
}
|
|
@@ -171,7 +198,7 @@ const CloudXNativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function Clou
|
|
|
171
198
|
pendingMetadata.current = null;
|
|
172
199
|
lastAdInfoRef.current = null;
|
|
173
200
|
setNativeAd(null);
|
|
174
|
-
}, [setNativeAd]);
|
|
201
|
+
}, [isPreloaded, setNativeAd]);
|
|
175
202
|
|
|
176
203
|
/**
|
|
177
204
|
* Escape hatch for imperative control. The native view auto-loads on
|
|
@@ -199,13 +226,28 @@ const CloudXNativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function Clou
|
|
|
199
226
|
const handleAdLoaded = (0, _react.useCallback)(event => {
|
|
200
227
|
const adInfo = toAdInfo(event.nativeEvent);
|
|
201
228
|
lastAdInfoRef.current = adInfo;
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
229
|
+
|
|
230
|
+
// A preloaded ad's metadata travelled with the handle, so a
|
|
231
|
+
// bind event that omits it still has assets to lay out.
|
|
232
|
+
const metadata = adInfo.nativeAd ?? (nativeAd === null || nativeAd === void 0 ? void 0 : nativeAd.metadata) ?? null;
|
|
233
|
+
if (isManual && metadata) {
|
|
234
|
+
pendingMetadata.current = metadata;
|
|
235
|
+
setNativeAd(metadata);
|
|
205
236
|
setBindTick(n => n + 1);
|
|
206
237
|
}
|
|
207
238
|
onAdLoaded === null || onAdLoaded === void 0 || onAdLoaded(adInfo);
|
|
208
|
-
}, [isManual, setNativeAd, onAdLoaded]);
|
|
239
|
+
}, [isManual, nativeAd, setNativeAd, onAdLoaded]);
|
|
240
|
+
|
|
241
|
+
// Native released the preloaded ad this view showed (destroy, expiry,
|
|
242
|
+
// or a newer view took it). Its React-rendered text and images must
|
|
243
|
+
// go with it, and any asset binds still pending must stop. Silent:
|
|
244
|
+
// a transfer to another view is not a publisher lifecycle event.
|
|
245
|
+
const handleBindingCleared = (0, _react.useCallback)(() => {
|
|
246
|
+
pendingMetadata.current = null;
|
|
247
|
+
lastAdInfoRef.current = null;
|
|
248
|
+
setNativeAd(null);
|
|
249
|
+
}, [setNativeAd]);
|
|
250
|
+
const handleAdDisplayed = (0, _react.useCallback)(event => onAdDisplayed === null || onAdDisplayed === void 0 ? void 0 : onAdDisplayed(toAdInfo(event.nativeEvent)), [onAdDisplayed]);
|
|
209
251
|
const handleAdLoadFailed = (0, _react.useCallback)(event => {
|
|
210
252
|
onAdLoadFailed === null || onAdLoadFailed === void 0 || onAdLoadFailed(toLoadFailedInfo(event.nativeEvent));
|
|
211
253
|
}, [onAdLoadFailed]);
|
|
@@ -220,8 +262,10 @@ const CloudXNativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function Clou
|
|
|
220
262
|
// failure if it describes the ad unit that actually failed. A
|
|
221
263
|
// display failure arriving after a re-target would otherwise
|
|
222
264
|
// report the previous unit's network, placement and revenue.
|
|
223
|
-
|
|
224
|
-
|
|
265
|
+
// A preloaded ad can fail before it ever rendered here (e.g. the
|
|
266
|
+
// handle was destroyed), so fall back to its load-time info.
|
|
267
|
+
const cached = lastAdInfoRef.current ?? (nativeAd === null || nativeAd === void 0 ? void 0 : nativeAd.info) ?? null;
|
|
268
|
+
const base = cached && (!failedAdUnitId || cached.adUnitId === failedAdUnitId) ? cached : null;
|
|
225
269
|
const displayFailedInfo = {
|
|
226
270
|
// The event's own adUnitId is authoritative.
|
|
227
271
|
adUnitId: failedAdUnitId || (base === null || base === void 0 ? void 0 : base.adUnitId) || '',
|
|
@@ -236,7 +280,7 @@ const CloudXNativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function Clou
|
|
|
236
280
|
message: message || null
|
|
237
281
|
};
|
|
238
282
|
onAdDisplayFailed(displayFailedInfo);
|
|
239
|
-
}, [onAdDisplayFailed]);
|
|
283
|
+
}, [nativeAd, onAdDisplayFailed]);
|
|
240
284
|
const handleAdClicked = (0, _react.useCallback)(event => onAdClicked === null || onAdClicked === void 0 ? void 0 : onAdClicked(toAdInfo(event.nativeEvent)), [onAdClicked]);
|
|
241
285
|
const handleAdExpired = (0, _react.useCallback)(event => onAdExpired === null || onAdExpired === void 0 ? void 0 : onAdExpired(toAdInfo(event.nativeEvent)), [onAdExpired]);
|
|
242
286
|
const handleAdClosed = (0, _react.useCallback)(event => onAdClosed === null || onAdClosed === void 0 ? void 0 : onAdClosed(toAdInfo(event.nativeEvent)), [onAdClosed]);
|
|
@@ -307,7 +351,8 @@ const CloudXNativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function Clou
|
|
|
307
351
|
ref: r => {
|
|
308
352
|
nativeRef.current = r;
|
|
309
353
|
},
|
|
310
|
-
adUnitId: adUnitId,
|
|
354
|
+
adUnitId: isPreloaded ? null : adUnitId,
|
|
355
|
+
nativeAdId: (nativeAd === null || nativeAd === void 0 ? void 0 : nativeAd.id) ?? null,
|
|
311
356
|
templateName: template,
|
|
312
357
|
placement: placement ?? null,
|
|
313
358
|
customData: customData ?? null,
|
|
@@ -319,7 +364,9 @@ const CloudXNativeAdViewImpl = /*#__PURE__*/(0, _react.forwardRef)(function Clou
|
|
|
319
364
|
manualRender: isManual,
|
|
320
365
|
onAdLoadedEvent: handleAdLoaded,
|
|
321
366
|
onAdLoadFailedEvent: handleAdLoadFailed,
|
|
367
|
+
onAdDisplayedEvent: handleAdDisplayed,
|
|
322
368
|
onAdDisplayFailedEvent: handleAdDisplayFailed,
|
|
369
|
+
onAdBindingClearedEvent: handleBindingCleared,
|
|
323
370
|
onAdClickedEvent: handleAdClicked,
|
|
324
371
|
onAdExpiredEvent: handleAdExpired,
|
|
325
372
|
onAdClosedEvent: handleAdClosed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_CloudXNativeAdViewNativeComponent","_extraParameters","_NativeAd","_CloudXNativeAdViewProvider","_useCloudXSdkInitialization","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","parseAdValues","json","parsed","JSON","parse","parseNativeAdMetadata","toAdInfo","event","nativeAd","nativeAdJson","adUnitId","adFormat","networkName","networkPlacement","placement","creativeId","revenue","adValues","adValuesJson","toLoadFailedInfo","code","message","CloudXNativeAdView","exports","forwardRef","props","ref","renderMode","style","testID","children","isInitialized","useCloudXSdkInitializationGate","warnedAssetInTemplateMode","useRef","handleAssetRoleRegistered","useCallback","role","current","console","warn","createElement","CloudXNativeAdViewProvider","onAssetRoleRegistered","View","CloudXNativeAdViewImpl","_default","customData","template","disableVideoFullScreen","startVideoUnmuted","hideVideoMediaControls","extraParameters","localExtraParameters","onAdLoaded","onAdLoadFailed","onAdDisplayFailed","onAdClicked","onAdExpired","onAdClosed","onAdRevenuePaid","rest","isManual","setNativeAd","titleRef","advertiserRef","bodyRef","callToActionRef","iconRef","optionsRef","mediaRef","starRatingRef","mountedAssetRoles","useContext","CloudXNativeAdViewContext","nativeRef","pendingMetadata","lastAdInfoRef","bindTick","setBindTick","useState","loadAd","Commands","destroyAd","useImperativeHandle","nativeExtraParameters","useMemo","toNativeExtraParameterEntries","nativeLocalExtraParameters","bindAssetView","assetRef","assetName","assetTag","findNodeHandle","updateAssetView","handleAdLoaded","adInfo","nativeEvent","handleAdLoadFailed","handleAdDisplayFailed","failedAdUnitId","cached","base","displayFailedInfo","handleAdClicked","handleAdExpired","handleAdClosed","handleAdRevenuePaid","useEffect","metadata","iconAvailable","isIconImageAvailable","plan","CloudXNativeAssetType","TITLE","Boolean","title","ADVERTISER","advertiser","BODY","body","CALL_TO_ACTION","callToAction","ICON","OPTIONS","isOptionsViewAvailable","MEDIA","isMediaViewAvailable","STAR_RATING","starRating","MAX_BIND_ATTEMPTS","cancelled","pendingTimers","Set","scheduleRetry","fn","timer","setTimeout","add","attemptBind","attempt","remaining","wanted","delete","size","join","renderNativeAd","filter","name","w","map","forEach","clearTimeout","clear","templateName","manualRender","onAdLoadedEvent","onAdLoadFailedEvent","onAdDisplayFailedEvent","onAdClickedEvent","onAdExpiredEvent","onAdClosedEvent","onAdRevenuePaidEvent"],"sourceRoot":"../../src","sources":["CloudXNativeAdView.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_CloudXNativeAdViewNativeComponent","_extraParameters","_NativeAd","_CloudXNativeAdViewProvider","_useCloudXSdkInitialization","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","parseAdValues","json","parsed","JSON","parse","parseNativeAdMetadata","toAdInfo","event","nativeAd","nativeAdJson","adUnitId","adFormat","networkName","networkPlacement","placement","creativeId","revenue","adValues","adValuesJson","toLoadFailedInfo","code","message","AUTO_LOAD_ONLY_PROPS","CloudXNativeAdView","exports","forwardRef","props","ref","_props$nativeAd","renderMode","style","testID","children","warnedMixedProps","useRef","__DEV__","current","ignored","filter","name","Reflect","console","warn","join","isInitialized","useCloudXSdkInitializationGate","warnedAssetInTemplateMode","handleAssetRoleRegistered","useCallback","role","createElement","CloudXNativeAdViewProvider","onAssetRoleRegistered","View","key","id","CloudXNativeAdViewImpl","_default","customData","template","disableVideoFullScreen","startVideoUnmuted","hideVideoMediaControls","extraParameters","localExtraParameters","onAdLoaded","onAdLoadFailed","onAdDisplayed","onAdDisplayFailed","onAdClicked","onAdExpired","onAdClosed","onAdRevenuePaid","rest","isManual","isPreloaded","setNativeAd","titleRef","advertiserRef","bodyRef","callToActionRef","iconRef","optionsRef","mediaRef","starRatingRef","mountedAssetRoles","useContext","CloudXNativeAdViewContext","nativeRef","pendingMetadata","lastAdInfoRef","bindTick","setBindTick","useState","loadAd","Commands","destroyAd","useImperativeHandle","nativeExtraParameters","useMemo","toNativeExtraParameterEntries","nativeLocalExtraParameters","bindAssetView","assetRef","assetName","assetTag","findNodeHandle","updateAssetView","handleAdLoaded","adInfo","nativeEvent","metadata","handleBindingCleared","handleAdDisplayed","handleAdLoadFailed","handleAdDisplayFailed","failedAdUnitId","cached","info","base","displayFailedInfo","handleAdClicked","handleAdExpired","handleAdClosed","handleAdRevenuePaid","useEffect","iconAvailable","isIconImageAvailable","plan","CloudXNativeAssetType","TITLE","Boolean","title","ADVERTISER","advertiser","BODY","body","CALL_TO_ACTION","callToAction","ICON","OPTIONS","isOptionsViewAvailable","MEDIA","isMediaViewAvailable","STAR_RATING","starRating","MAX_BIND_ATTEMPTS","cancelled","pendingTimers","Set","scheduleRetry","fn","timer","setTimeout","add","attemptBind","attempt","remaining","wanted","delete","size","renderNativeAd","w","map","forEach","clearTimeout","clear","nativeAdId","templateName","manualRender","onAdLoadedEvent","onAdLoadFailedEvent","onAdDisplayedEvent","onAdDisplayFailedEvent","onAdBindingClearedEvent","onAdClickedEvent","onAdExpiredEvent","onAdClosedEvent","onAdRevenuePaidEvent"],"sourceRoot":"../../src","sources":["CloudXNativeAdView.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/hooks.js
CHANGED
|
@@ -6,10 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useCloudXAppOpen = useCloudXAppOpen;
|
|
7
7
|
exports.useCloudXBanner = useCloudXBanner;
|
|
8
8
|
exports.useCloudXInterstitial = useCloudXInterstitial;
|
|
9
|
+
exports.useCloudXNativeAd = useCloudXNativeAd;
|
|
9
10
|
exports.useCloudXRewarded = useCloudXRewarded;
|
|
10
11
|
var _react = require("react");
|
|
11
12
|
var _NativeCloudX = _interopRequireDefault(require("./specs/NativeCloudX"));
|
|
12
13
|
var _EventEmitter = require("./EventEmitter");
|
|
14
|
+
var _CloudXNativeAd = require("./CloudXNativeAd");
|
|
15
|
+
var _useCloudXSdkInitialization = require("./useCloudXSdkInitialization");
|
|
13
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
17
|
/**
|
|
15
18
|
* React Hooks for CloudX SDK.
|
|
@@ -350,4 +353,204 @@ function useCloudXBanner(adUnitId) {
|
|
|
350
353
|
error
|
|
351
354
|
};
|
|
352
355
|
}
|
|
356
|
+
|
|
357
|
+
// ---------------------------------------------------------------------------
|
|
358
|
+
// useCloudXNativeAd
|
|
359
|
+
// ---------------------------------------------------------------------------
|
|
360
|
+
|
|
361
|
+
const stableSerialize = value => {
|
|
362
|
+
if (value === null || typeof value !== 'object') {
|
|
363
|
+
return value;
|
|
364
|
+
}
|
|
365
|
+
if (Array.isArray(value)) {
|
|
366
|
+
return value.map(stableSerialize);
|
|
367
|
+
}
|
|
368
|
+
const record = value;
|
|
369
|
+
const sortedKeys = Object.keys(record).sort();
|
|
370
|
+
const result = {};
|
|
371
|
+
for (const key of sortedKeys) {
|
|
372
|
+
const val = record[key];
|
|
373
|
+
if (val !== undefined) {
|
|
374
|
+
result[key] = stableSerialize(val);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
return result;
|
|
378
|
+
};
|
|
379
|
+
const getOptionsSignature = options => {
|
|
380
|
+
if (!options) return '{}';
|
|
381
|
+
return JSON.stringify(stableSerialize(options));
|
|
382
|
+
};
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Hook for managing a preloaded native ad lifecycle.
|
|
386
|
+
*
|
|
387
|
+
* Preloads a native ad ahead of render and holds it until unmount, manual
|
|
388
|
+
* destruction, or identity change. Unlike view-managed ads, a preloaded ad's
|
|
389
|
+
* lifecycle belongs to its handle and this hook: unmounting a view bound to it
|
|
390
|
+
* does not destroy it.
|
|
391
|
+
*
|
|
392
|
+
* With autoLoad (the default) the first load waits until the SDK has
|
|
393
|
+
* initialized, as `CloudXNativeAdView` does. A `load()` call made before
|
|
394
|
+
* initialization fails with `NOT_INITIALIZED`.
|
|
395
|
+
*
|
|
396
|
+
* @param adUnitId - The ad unit identifier, or null to keep idle.
|
|
397
|
+
* @param options - Load options configuring the auction and loader.
|
|
398
|
+
* @param config - Optional configuration (autoLoad defaults to true).
|
|
399
|
+
*/
|
|
400
|
+
function useCloudXNativeAd(adUnitId, options, config) {
|
|
401
|
+
const autoLoad = (config === null || config === void 0 ? void 0 : config.autoLoad) ?? true;
|
|
402
|
+
const optionsSignature = getOptionsSignature(options);
|
|
403
|
+
const isSdkInitialized = (0, _useCloudXSdkInitialization.useCloudXSdkInitializationGate)('useCloudXNativeAd');
|
|
404
|
+
const [status, setStatus] = (0, _react.useState)(() => autoLoad && adUnitId ? 'loading' : 'idle');
|
|
405
|
+
const [nativeAd, setNativeAd] = (0, _react.useState)(null);
|
|
406
|
+
const [error, setError] = (0, _react.useState)(null);
|
|
407
|
+
const mountedRef = (0, _react.useRef)(true);
|
|
408
|
+
const generationRef = (0, _react.useRef)(0);
|
|
409
|
+
const heldAdRef = (0, _react.useRef)(null);
|
|
410
|
+
const optionsRef = (0, _react.useRef)(options);
|
|
411
|
+
optionsRef.current = options;
|
|
412
|
+
const inflightRef = (0, _react.useRef)(null);
|
|
413
|
+
const lastSignatureRef = (0, _react.useRef)(null);
|
|
414
|
+
const executeLoad = (0, _react.useCallback)(() => {
|
|
415
|
+
if (!adUnitId) {
|
|
416
|
+
setStatus('idle');
|
|
417
|
+
setNativeAd(null);
|
|
418
|
+
setError(null);
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
const currentSignature = `${adUnitId}::${optionsSignature}`;
|
|
422
|
+
|
|
423
|
+
// Coalesce concurrent loads with the same signature (React StrictMode
|
|
424
|
+
// double effects must not start two loads).
|
|
425
|
+
if (inflightRef.current && inflightRef.current.signature === currentSignature) {
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
const generation = ++generationRef.current;
|
|
429
|
+
setStatus('loading');
|
|
430
|
+
setError(null);
|
|
431
|
+
if (heldAdRef.current) {
|
|
432
|
+
heldAdRef.current.destroy();
|
|
433
|
+
heldAdRef.current = null;
|
|
434
|
+
setNativeAd(null);
|
|
435
|
+
}
|
|
436
|
+
const currentOptions = optionsRef.current;
|
|
437
|
+
const promise = _CloudXNativeAd.CloudXNativeAd.load(adUnitId, currentOptions);
|
|
438
|
+
inflightRef.current = {
|
|
439
|
+
signature: currentSignature,
|
|
440
|
+
generation,
|
|
441
|
+
promise
|
|
442
|
+
};
|
|
443
|
+
promise.then(ad => {
|
|
444
|
+
var _inflightRef$current;
|
|
445
|
+
if (((_inflightRef$current = inflightRef.current) === null || _inflightRef$current === void 0 ? void 0 : _inflightRef$current.promise) === promise) {
|
|
446
|
+
inflightRef.current = null;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
// A load that resolves after unmount, after destroy(), or after the signature
|
|
450
|
+
// changed is destroyed immediately and never published (generation counter).
|
|
451
|
+
if (!mountedRef.current || generationRef.current !== generation) {
|
|
452
|
+
ad.destroy();
|
|
453
|
+
return;
|
|
454
|
+
}
|
|
455
|
+
if (heldAdRef.current && heldAdRef.current !== ad) {
|
|
456
|
+
heldAdRef.current.destroy();
|
|
457
|
+
}
|
|
458
|
+
heldAdRef.current = ad;
|
|
459
|
+
|
|
460
|
+
// On the handle's 'expired' event: status 'expired', nativeAd null,
|
|
461
|
+
// and the expired handle destroyed.
|
|
462
|
+
ad.addListener('expired', () => {
|
|
463
|
+
if (generationRef.current === generation && heldAdRef.current === ad) {
|
|
464
|
+
heldAdRef.current = null;
|
|
465
|
+
setStatus('expired');
|
|
466
|
+
setNativeAd(null);
|
|
467
|
+
ad.destroy();
|
|
468
|
+
}
|
|
469
|
+
});
|
|
470
|
+
setStatus('loaded');
|
|
471
|
+
setNativeAd(ad);
|
|
472
|
+
setError(null);
|
|
473
|
+
}).catch(err => {
|
|
474
|
+
var _inflightRef$current2;
|
|
475
|
+
if (((_inflightRef$current2 = inflightRef.current) === null || _inflightRef$current2 === void 0 ? void 0 : _inflightRef$current2.promise) === promise) {
|
|
476
|
+
inflightRef.current = null;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
// Ignores stale rejection after identity change, destroy, or unmount.
|
|
480
|
+
if (!mountedRef.current || generationRef.current !== generation) {
|
|
481
|
+
return;
|
|
482
|
+
}
|
|
483
|
+
setStatus('error');
|
|
484
|
+
setNativeAd(null);
|
|
485
|
+
setError(err);
|
|
486
|
+
});
|
|
487
|
+
}, [adUnitId, optionsSignature]);
|
|
488
|
+
|
|
489
|
+
// Unmount owns the release. Kept apart from the load effect so a re-run
|
|
490
|
+
// of that effect (autoLoad flipping, say) never destroys an ad this hook
|
|
491
|
+
// has already published. Under StrictMode the simulated unmount only
|
|
492
|
+
// clears mountedRef; the remount sets it again, so a load in flight from
|
|
493
|
+
// the first mount is still published rather than duplicated.
|
|
494
|
+
(0, _react.useEffect)(() => {
|
|
495
|
+
mountedRef.current = true;
|
|
496
|
+
return () => {
|
|
497
|
+
mountedRef.current = false;
|
|
498
|
+
if (heldAdRef.current) {
|
|
499
|
+
heldAdRef.current.destroy();
|
|
500
|
+
heldAdRef.current = null;
|
|
501
|
+
}
|
|
502
|
+
};
|
|
503
|
+
}, []);
|
|
504
|
+
(0, _react.useEffect)(() => {
|
|
505
|
+
const currentSignature = adUnitId ? `${adUnitId}::${optionsSignature}` : '';
|
|
506
|
+
const isFirstRun = lastSignatureRef.current === null;
|
|
507
|
+
const signatureChanged = !isFirstRun && lastSignatureRef.current !== currentSignature;
|
|
508
|
+
lastSignatureRef.current = currentSignature;
|
|
509
|
+
if (signatureChanged) {
|
|
510
|
+
if (heldAdRef.current) {
|
|
511
|
+
heldAdRef.current.destroy();
|
|
512
|
+
heldAdRef.current = null;
|
|
513
|
+
}
|
|
514
|
+
// Never leave the previous identity's (now destroyed) handle
|
|
515
|
+
// published while the replacement loads, nor its status or error:
|
|
516
|
+
// with autoLoad off nothing replaces them, and a `loaded` status
|
|
517
|
+
// with no ad, or a `loading` one that never settles, would stick.
|
|
518
|
+
setNativeAd(null);
|
|
519
|
+
setStatus('idle');
|
|
520
|
+
setError(null);
|
|
521
|
+
generationRef.current++;
|
|
522
|
+
inflightRef.current = null;
|
|
523
|
+
if (!adUnitId) {
|
|
524
|
+
return;
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
// A held ad survives autoLoad flipping back on; only an identity
|
|
529
|
+
// change (handled above) replaces it.
|
|
530
|
+
if (autoLoad && adUnitId && isSdkInitialized && !heldAdRef.current) {
|
|
531
|
+
executeLoad();
|
|
532
|
+
}
|
|
533
|
+
}, [adUnitId, optionsSignature, autoLoad, isSdkInitialized, executeLoad]);
|
|
534
|
+
const load = (0, _react.useCallback)(() => {
|
|
535
|
+
executeLoad();
|
|
536
|
+
}, [executeLoad]);
|
|
537
|
+
const destroy = (0, _react.useCallback)(() => {
|
|
538
|
+
generationRef.current++;
|
|
539
|
+
inflightRef.current = null;
|
|
540
|
+
if (heldAdRef.current) {
|
|
541
|
+
heldAdRef.current.destroy();
|
|
542
|
+
heldAdRef.current = null;
|
|
543
|
+
}
|
|
544
|
+
setStatus('idle');
|
|
545
|
+
setNativeAd(null);
|
|
546
|
+
setError(null);
|
|
547
|
+
}, []);
|
|
548
|
+
return {
|
|
549
|
+
status,
|
|
550
|
+
nativeAd,
|
|
551
|
+
error,
|
|
552
|
+
load,
|
|
553
|
+
destroy
|
|
554
|
+
};
|
|
555
|
+
}
|
|
353
556
|
//# sourceMappingURL=hooks.js.map
|