cloudx-react-native 3.10.1 → 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.
Files changed (78) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/cloudxreactnative/CloudXAdEvents.kt +9 -0
  3. package/android/src/main/java/com/cloudxreactnative/CloudXAdInfo.kt +76 -0
  4. package/android/src/main/java/com/cloudxreactnative/CloudXModuleImpl.kt +110 -0
  5. package/android/src/main/java/com/cloudxreactnative/CloudXNativeAdHolder.kt +184 -0
  6. package/android/src/main/java/com/cloudxreactnative/CloudXNativeAdView.kt +209 -70
  7. package/android/src/main/java/com/cloudxreactnative/CloudXNativeAdViewManagerImpl.kt +6 -0
  8. package/android/src/newarch/com/cloudxreactnative/CloudXModule.kt +9 -0
  9. package/android/src/newarch/com/cloudxreactnative/CloudXNativeAdViewManager.kt +2 -0
  10. package/android/src/oldarch/com/cloudxreactnative/CloudXModule.kt +14 -0
  11. package/android/src/oldarch/com/cloudxreactnative/CloudXNativeAdViewManager.kt +3 -0
  12. package/android/src/test/java/com/cloudxreactnative/CloudXNativeAdPreloadTest.kt +351 -0
  13. package/android/src/test/java/com/cloudxreactnative/FakeReadable.kt +2 -2
  14. package/cloudx-react-native.podspec +1 -1
  15. package/ios/CloudX.h +12 -0
  16. package/ios/CloudX.mm +94 -1
  17. package/ios/CloudXNativeAdHolder.h +66 -0
  18. package/ios/CloudXNativeAdHolder.mm +247 -0
  19. package/ios/CloudXNativeAdView.h +9 -0
  20. package/ios/CloudXNativeAdView.mm +308 -64
  21. package/ios/CloudXNativeAdViewManager.mm +7 -0
  22. package/lib/commonjs/CloudXNativeAd.js +178 -0
  23. package/lib/commonjs/CloudXNativeAd.js.map +1 -0
  24. package/lib/commonjs/CloudXNativeAdView.js +58 -11
  25. package/lib/commonjs/CloudXNativeAdView.js.map +1 -1
  26. package/lib/commonjs/hooks.js +203 -0
  27. package/lib/commonjs/hooks.js.map +1 -1
  28. package/lib/commonjs/index.js +13 -0
  29. package/lib/commonjs/index.js.map +1 -1
  30. package/lib/commonjs/specs/CloudXNativeAdViewNativeComponent.js +2 -0
  31. package/lib/commonjs/specs/CloudXNativeAdViewNativeComponent.js.map +1 -1
  32. package/lib/commonjs/specs/NativeCloudX.js.map +1 -1
  33. package/lib/commonjs/types/NativeAd.js +21 -1
  34. package/lib/commonjs/types/NativeAd.js.map +1 -1
  35. package/lib/commonjs/types/index.js.map +1 -1
  36. package/lib/commonjs/version.js +1 -1
  37. package/lib/module/CloudXNativeAd.js +170 -0
  38. package/lib/module/CloudXNativeAd.js.map +1 -0
  39. package/lib/module/CloudXNativeAdView.js +58 -11
  40. package/lib/module/CloudXNativeAdView.js.map +1 -1
  41. package/lib/module/hooks.js +202 -0
  42. package/lib/module/hooks.js.map +1 -1
  43. package/lib/module/index.js +2 -1
  44. package/lib/module/index.js.map +1 -1
  45. package/lib/module/specs/CloudXNativeAdViewNativeComponent.js +2 -0
  46. package/lib/module/specs/CloudXNativeAdViewNativeComponent.js.map +1 -1
  47. package/lib/module/specs/NativeCloudX.js.map +1 -1
  48. package/lib/module/types/NativeAd.js +26 -1
  49. package/lib/module/types/NativeAd.js.map +1 -1
  50. package/lib/module/types/index.js.map +1 -1
  51. package/lib/module/version.js +1 -1
  52. package/lib/typescript/src/CloudXNativeAd.d.ts +58 -0
  53. package/lib/typescript/src/CloudXNativeAd.d.ts.map +1 -0
  54. package/lib/typescript/src/CloudXNativeAdView.d.ts +6 -13
  55. package/lib/typescript/src/CloudXNativeAdView.d.ts.map +1 -1
  56. package/lib/typescript/src/hooks.d.ts +30 -0
  57. package/lib/typescript/src/hooks.d.ts.map +1 -1
  58. package/lib/typescript/src/index.d.ts +4 -3
  59. package/lib/typescript/src/index.d.ts.map +1 -1
  60. package/lib/typescript/src/specs/CloudXNativeAdViewNativeComponent.d.ts +23 -2
  61. package/lib/typescript/src/specs/CloudXNativeAdViewNativeComponent.d.ts.map +1 -1
  62. package/lib/typescript/src/specs/NativeCloudX.d.ts +13 -0
  63. package/lib/typescript/src/specs/NativeCloudX.d.ts.map +1 -1
  64. package/lib/typescript/src/types/NativeAd.d.ts +76 -13
  65. package/lib/typescript/src/types/NativeAd.d.ts.map +1 -1
  66. package/lib/typescript/src/types/index.d.ts +1 -1
  67. package/lib/typescript/src/types/index.d.ts.map +1 -1
  68. package/lib/typescript/src/version.d.ts +1 -1
  69. package/package.json +1 -1
  70. package/src/CloudXNativeAd.ts +177 -0
  71. package/src/CloudXNativeAdView.tsx +82 -15
  72. package/src/hooks.ts +236 -0
  73. package/src/index.ts +14 -1
  74. package/src/specs/CloudXNativeAdViewNativeComponent.ts +27 -2
  75. package/src/specs/NativeCloudX.ts +20 -0
  76. package/src/types/NativeAd.ts +85 -18
  77. package/src/types/index.ts +4 -0
  78. package/src/version.ts +1 -1
@@ -8,6 +8,8 @@
8
8
  import { useEffect, useState, useCallback, useRef } from 'react';
9
9
  import NativeCloudX from './specs/NativeCloudX';
10
10
  import { emitter } from './EventEmitter';
11
+ import { CloudXNativeAd } from './CloudXNativeAd';
12
+ import { useCloudXSdkInitializationGate } from './useCloudXSdkInitialization';
11
13
  const {
12
14
  ON_INTERSTITIAL_LOADED_EVENT,
13
15
  ON_INTERSTITIAL_LOAD_FAILED_EVENT,
@@ -340,4 +342,204 @@ export function useCloudXBanner(adUnitId) {
340
342
  error
341
343
  };
342
344
  }
345
+
346
+ // ---------------------------------------------------------------------------
347
+ // useCloudXNativeAd
348
+ // ---------------------------------------------------------------------------
349
+
350
+ const stableSerialize = value => {
351
+ if (value === null || typeof value !== 'object') {
352
+ return value;
353
+ }
354
+ if (Array.isArray(value)) {
355
+ return value.map(stableSerialize);
356
+ }
357
+ const record = value;
358
+ const sortedKeys = Object.keys(record).sort();
359
+ const result = {};
360
+ for (const key of sortedKeys) {
361
+ const val = record[key];
362
+ if (val !== undefined) {
363
+ result[key] = stableSerialize(val);
364
+ }
365
+ }
366
+ return result;
367
+ };
368
+ const getOptionsSignature = options => {
369
+ if (!options) return '{}';
370
+ return JSON.stringify(stableSerialize(options));
371
+ };
372
+
373
+ /**
374
+ * Hook for managing a preloaded native ad lifecycle.
375
+ *
376
+ * Preloads a native ad ahead of render and holds it until unmount, manual
377
+ * destruction, or identity change. Unlike view-managed ads, a preloaded ad's
378
+ * lifecycle belongs to its handle and this hook: unmounting a view bound to it
379
+ * does not destroy it.
380
+ *
381
+ * With autoLoad (the default) the first load waits until the SDK has
382
+ * initialized, as `CloudXNativeAdView` does. A `load()` call made before
383
+ * initialization fails with `NOT_INITIALIZED`.
384
+ *
385
+ * @param adUnitId - The ad unit identifier, or null to keep idle.
386
+ * @param options - Load options configuring the auction and loader.
387
+ * @param config - Optional configuration (autoLoad defaults to true).
388
+ */
389
+ export function useCloudXNativeAd(adUnitId, options, config) {
390
+ const autoLoad = (config === null || config === void 0 ? void 0 : config.autoLoad) ?? true;
391
+ const optionsSignature = getOptionsSignature(options);
392
+ const isSdkInitialized = useCloudXSdkInitializationGate('useCloudXNativeAd');
393
+ const [status, setStatus] = useState(() => autoLoad && adUnitId ? 'loading' : 'idle');
394
+ const [nativeAd, setNativeAd] = useState(null);
395
+ const [error, setError] = useState(null);
396
+ const mountedRef = useRef(true);
397
+ const generationRef = useRef(0);
398
+ const heldAdRef = useRef(null);
399
+ const optionsRef = useRef(options);
400
+ optionsRef.current = options;
401
+ const inflightRef = useRef(null);
402
+ const lastSignatureRef = useRef(null);
403
+ const executeLoad = useCallback(() => {
404
+ if (!adUnitId) {
405
+ setStatus('idle');
406
+ setNativeAd(null);
407
+ setError(null);
408
+ return;
409
+ }
410
+ const currentSignature = `${adUnitId}::${optionsSignature}`;
411
+
412
+ // Coalesce concurrent loads with the same signature (React StrictMode
413
+ // double effects must not start two loads).
414
+ if (inflightRef.current && inflightRef.current.signature === currentSignature) {
415
+ return;
416
+ }
417
+ const generation = ++generationRef.current;
418
+ setStatus('loading');
419
+ setError(null);
420
+ if (heldAdRef.current) {
421
+ heldAdRef.current.destroy();
422
+ heldAdRef.current = null;
423
+ setNativeAd(null);
424
+ }
425
+ const currentOptions = optionsRef.current;
426
+ const promise = CloudXNativeAd.load(adUnitId, currentOptions);
427
+ inflightRef.current = {
428
+ signature: currentSignature,
429
+ generation,
430
+ promise
431
+ };
432
+ promise.then(ad => {
433
+ var _inflightRef$current;
434
+ if (((_inflightRef$current = inflightRef.current) === null || _inflightRef$current === void 0 ? void 0 : _inflightRef$current.promise) === promise) {
435
+ inflightRef.current = null;
436
+ }
437
+
438
+ // A load that resolves after unmount, after destroy(), or after the signature
439
+ // changed is destroyed immediately and never published (generation counter).
440
+ if (!mountedRef.current || generationRef.current !== generation) {
441
+ ad.destroy();
442
+ return;
443
+ }
444
+ if (heldAdRef.current && heldAdRef.current !== ad) {
445
+ heldAdRef.current.destroy();
446
+ }
447
+ heldAdRef.current = ad;
448
+
449
+ // On the handle's 'expired' event: status 'expired', nativeAd null,
450
+ // and the expired handle destroyed.
451
+ ad.addListener('expired', () => {
452
+ if (generationRef.current === generation && heldAdRef.current === ad) {
453
+ heldAdRef.current = null;
454
+ setStatus('expired');
455
+ setNativeAd(null);
456
+ ad.destroy();
457
+ }
458
+ });
459
+ setStatus('loaded');
460
+ setNativeAd(ad);
461
+ setError(null);
462
+ }).catch(err => {
463
+ var _inflightRef$current2;
464
+ if (((_inflightRef$current2 = inflightRef.current) === null || _inflightRef$current2 === void 0 ? void 0 : _inflightRef$current2.promise) === promise) {
465
+ inflightRef.current = null;
466
+ }
467
+
468
+ // Ignores stale rejection after identity change, destroy, or unmount.
469
+ if (!mountedRef.current || generationRef.current !== generation) {
470
+ return;
471
+ }
472
+ setStatus('error');
473
+ setNativeAd(null);
474
+ setError(err);
475
+ });
476
+ }, [adUnitId, optionsSignature]);
477
+
478
+ // Unmount owns the release. Kept apart from the load effect so a re-run
479
+ // of that effect (autoLoad flipping, say) never destroys an ad this hook
480
+ // has already published. Under StrictMode the simulated unmount only
481
+ // clears mountedRef; the remount sets it again, so a load in flight from
482
+ // the first mount is still published rather than duplicated.
483
+ useEffect(() => {
484
+ mountedRef.current = true;
485
+ return () => {
486
+ mountedRef.current = false;
487
+ if (heldAdRef.current) {
488
+ heldAdRef.current.destroy();
489
+ heldAdRef.current = null;
490
+ }
491
+ };
492
+ }, []);
493
+ useEffect(() => {
494
+ const currentSignature = adUnitId ? `${adUnitId}::${optionsSignature}` : '';
495
+ const isFirstRun = lastSignatureRef.current === null;
496
+ const signatureChanged = !isFirstRun && lastSignatureRef.current !== currentSignature;
497
+ lastSignatureRef.current = currentSignature;
498
+ if (signatureChanged) {
499
+ if (heldAdRef.current) {
500
+ heldAdRef.current.destroy();
501
+ heldAdRef.current = null;
502
+ }
503
+ // Never leave the previous identity's (now destroyed) handle
504
+ // published while the replacement loads, nor its status or error:
505
+ // with autoLoad off nothing replaces them, and a `loaded` status
506
+ // with no ad, or a `loading` one that never settles, would stick.
507
+ setNativeAd(null);
508
+ setStatus('idle');
509
+ setError(null);
510
+ generationRef.current++;
511
+ inflightRef.current = null;
512
+ if (!adUnitId) {
513
+ return;
514
+ }
515
+ }
516
+
517
+ // A held ad survives autoLoad flipping back on; only an identity
518
+ // change (handled above) replaces it.
519
+ if (autoLoad && adUnitId && isSdkInitialized && !heldAdRef.current) {
520
+ executeLoad();
521
+ }
522
+ }, [adUnitId, optionsSignature, autoLoad, isSdkInitialized, executeLoad]);
523
+ const load = useCallback(() => {
524
+ executeLoad();
525
+ }, [executeLoad]);
526
+ const destroy = useCallback(() => {
527
+ generationRef.current++;
528
+ inflightRef.current = null;
529
+ if (heldAdRef.current) {
530
+ heldAdRef.current.destroy();
531
+ heldAdRef.current = null;
532
+ }
533
+ setStatus('idle');
534
+ setNativeAd(null);
535
+ setError(null);
536
+ }, []);
537
+ return {
538
+ status,
539
+ nativeAd,
540
+ error,
541
+ load,
542
+ destroy
543
+ };
544
+ }
343
545
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","useCallback","useRef","NativeCloudX","emitter","ON_INTERSTITIAL_LOADED_EVENT","ON_INTERSTITIAL_LOAD_FAILED_EVENT","ON_INTERSTITIAL_DISPLAY_FAILED_EVENT","ON_INTERSTITIAL_HIDDEN_EVENT","ON_APPOPEN_LOADED_EVENT","ON_APPOPEN_LOAD_FAILED_EVENT","ON_APPOPEN_DISPLAY_FAILED_EVENT","ON_APPOPEN_HIDDEN_EVENT","ON_REWARDED_AD_LOADED_EVENT","ON_REWARDED_AD_LOAD_FAILED_EVENT","ON_REWARDED_AD_DISPLAY_FAILED_EVENT","ON_REWARDED_AD_HIDDEN_EVENT","ON_REWARDED_AD_RECEIVED_REWARD_EVENT","ON_BANNER_AD_LOADED_EVENT","ON_BANNER_AD_LOAD_FAILED_EVENT","getConstants","useCloudXInterstitial","adUnitId","isLoaded","setIsLoaded","isLoading","setIsLoading","error","setError","mountedRef","current","subs","push","addListener","event","message","forEach","s","remove","destroyInterstitial","load","loadInterstitial","show","placement","customData","showInterstitial","undefined","destroy","useCloudXAppOpen","destroyAppOpen","loadAppOpen","showAppOpen","useCloudXRewarded","rewardEarned","setRewardEarned","destroyRewarded","loadRewarded","showRewarded","useCloudXBanner","destroyBanner"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","useCallback","useRef","NativeCloudX","emitter","CloudXNativeAd","useCloudXSdkInitializationGate","ON_INTERSTITIAL_LOADED_EVENT","ON_INTERSTITIAL_LOAD_FAILED_EVENT","ON_INTERSTITIAL_DISPLAY_FAILED_EVENT","ON_INTERSTITIAL_HIDDEN_EVENT","ON_APPOPEN_LOADED_EVENT","ON_APPOPEN_LOAD_FAILED_EVENT","ON_APPOPEN_DISPLAY_FAILED_EVENT","ON_APPOPEN_HIDDEN_EVENT","ON_REWARDED_AD_LOADED_EVENT","ON_REWARDED_AD_LOAD_FAILED_EVENT","ON_REWARDED_AD_DISPLAY_FAILED_EVENT","ON_REWARDED_AD_HIDDEN_EVENT","ON_REWARDED_AD_RECEIVED_REWARD_EVENT","ON_BANNER_AD_LOADED_EVENT","ON_BANNER_AD_LOAD_FAILED_EVENT","getConstants","useCloudXInterstitial","adUnitId","isLoaded","setIsLoaded","isLoading","setIsLoading","error","setError","mountedRef","current","subs","push","addListener","event","message","forEach","s","remove","destroyInterstitial","load","loadInterstitial","show","placement","customData","showInterstitial","undefined","destroy","useCloudXAppOpen","destroyAppOpen","loadAppOpen","showAppOpen","useCloudXRewarded","rewardEarned","setRewardEarned","destroyRewarded","loadRewarded","showRewarded","useCloudXBanner","destroyBanner","stableSerialize","value","Array","isArray","map","record","sortedKeys","Object","keys","sort","result","key","val","getOptionsSignature","options","JSON","stringify","useCloudXNativeAd","config","autoLoad","optionsSignature","isSdkInitialized","status","setStatus","nativeAd","setNativeAd","generationRef","heldAdRef","optionsRef","inflightRef","lastSignatureRef","executeLoad","currentSignature","signature","generation","currentOptions","promise","then","ad","_inflightRef$current","catch","err","_inflightRef$current2","isFirstRun","signatureChanged"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ export { CloudXRewardedAd } from './CloudXRewardedAd';
15
15
  export { CloudXBannerAd } from './CloudXBannerAd';
16
16
  export { CloudXMRECAd } from './CloudXMRECAd';
17
17
  export { CloudXAdPosition } from './CloudXAdPosition';
18
+ export { CloudXNativeAd } from './CloudXNativeAd';
18
19
 
19
20
  // Ad View Components (in-tree; layer correctly under app overlays)
20
21
  export { CloudXBannerView } from './CloudXBannerView';
@@ -37,7 +38,7 @@ export { CloudXErrorCode } from './CloudXErrorCode';
37
38
  export { requestTrackingAuthorization, getTrackingAuthorizationStatus, CloudXATTStatus } from './AppTrackingTransparency';
38
39
 
39
40
  // Hooks
40
- export { useCloudXInterstitial, useCloudXAppOpen, useCloudXRewarded, useCloudXBanner } from './hooks';
41
+ export { useCloudXInterstitial, useCloudXAppOpen, useCloudXRewarded, useCloudXBanner, useCloudXNativeAd } from './hooks';
41
42
 
42
43
  // Types
43
44
 
@@ -1 +1 @@
1
- {"version":3,"names":["default","CloudX","NativeCloudX","emitter","cloudXEventEmitter","CloudXArbiterBid","CloudXRevenuePlatform","CloudXRevenuePrecision","CloudXInterstitialAd","CloudXAppOpenAd","CloudXRewardedAd","CloudXBannerAd","CloudXMRECAd","CloudXAdPosition","CloudXBannerView","CloudXMRECView","CloudXNativeAdView","CloudXTitleView","CloudXAdvertiserView","CloudXBodyView","CloudXCallToActionView","CloudXIconView","CloudXOptionsView","CloudXMediaView","CloudXStarRatingView","CloudXErrorCode","requestTrackingAuthorization","getTrackingAuthorizationStatus","CloudXATTStatus","useCloudXInterstitial","useCloudXAppOpen","useCloudXRewarded","useCloudXBanner","CloudXNativeTemplate","CloudXLogLevel","VERBOSE","DEBUG","INFO","WARN","ERROR","NONE"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA,SAASA,OAAO,EAAEC,MAAM,QAAQ,UAAU;AAC1C,SAASD,OAAO,IAAIE,YAAY,QAAQ,sBAAsB;AAC9D;AACA;AACA;AACA,SAASC,OAAO,IAAIC,kBAAkB,QAAQ,gBAAgB;AAC9D,SAASC,gBAAgB,QAAQ,iBAAiB;AAClD,SAASC,qBAAqB,EAAEC,sBAAsB,QAAQ,qBAAqB;;AAEnF;AACA,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SACIC,eAAe,EACfC,oBAAoB,EACpBC,cAAc,EACdC,sBAAsB,EACtBC,cAAc,EACdC,iBAAiB,EACjBC,eAAe,EACfC,oBAAoB,QACjB,gCAAgC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA,SAASC,eAAe,QAAQ,mBAAmB;;AAEnD;AACA,SAASC,4BAA4B,EAAEC,8BAA8B,EAAEC,eAAe,QAAQ,2BAA2B;;AAEzH;AACA,SAASC,qBAAqB,EAAEC,gBAAgB,EAAEC,iBAAiB,EAAEC,eAAe,QAAQ,SAAS;;AAQrG;;AAuCA,SAASC,oBAAoB,QAAQ,SAAS;;AAE9C;AACA,OAAO,MAAMC,cAAc,GAAG;EAC1BC,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":[]}
1
+ {"version":3,"names":["default","CloudX","NativeCloudX","emitter","cloudXEventEmitter","CloudXArbiterBid","CloudXRevenuePlatform","CloudXRevenuePrecision","CloudXInterstitialAd","CloudXAppOpenAd","CloudXRewardedAd","CloudXBannerAd","CloudXMRECAd","CloudXAdPosition","CloudXNativeAd","CloudXBannerView","CloudXMRECView","CloudXNativeAdView","CloudXTitleView","CloudXAdvertiserView","CloudXBodyView","CloudXCallToActionView","CloudXIconView","CloudXOptionsView","CloudXMediaView","CloudXStarRatingView","CloudXErrorCode","requestTrackingAuthorization","getTrackingAuthorizationStatus","CloudXATTStatus","useCloudXInterstitial","useCloudXAppOpen","useCloudXRewarded","useCloudXBanner","useCloudXNativeAd","CloudXNativeTemplate","CloudXLogLevel","VERBOSE","DEBUG","INFO","WARN","ERROR","NONE"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA,SAASA,OAAO,EAAEC,MAAM,QAAQ,UAAU;AAC1C,SAASD,OAAO,IAAIE,YAAY,QAAQ,sBAAsB;AAC9D;AACA;AACA;AACA,SAASC,OAAO,IAAIC,kBAAkB,QAAQ,gBAAgB;AAC9D,SAASC,gBAAgB,QAAQ,iBAAiB;AAClD,SAASC,qBAAqB,EAAEC,sBAAsB,QAAQ,qBAAqB;;AAEnF;AACA,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,cAAc,QAAQ,kBAAkB;;AAEjD;AACA,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SACIC,eAAe,EACfC,oBAAoB,EACpBC,cAAc,EACdC,sBAAsB,EACtBC,cAAc,EACdC,iBAAiB,EACjBC,eAAe,EACfC,oBAAoB,QACjB,gCAAgC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA,SAASC,eAAe,QAAQ,mBAAmB;;AAEnD;AACA,SAASC,4BAA4B,EAAEC,8BAA8B,EAAEC,eAAe,QAAQ,2BAA2B;;AAEzH;AACA,SACIC,qBAAqB,EACrBC,gBAAgB,EAChBC,iBAAiB,EACjBC,eAAe,EACfC,iBAAiB,QACd,SAAS;;AAUhB;;AA2CA,SAASC,oBAAoB,QAAQ,SAAS;;AAE9C;AACA,OAAO,MAAMC,cAAc,GAAG;EAC1BC,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":[]}
@@ -16,6 +16,8 @@ import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativ
16
16
  * Payload for native-ad load/display-failure events.
17
17
  */
18
18
 
19
+ /** Internal: names the preloaded ad that just left the view. */
20
+
19
21
  /**
20
22
  * Props for the native CloudXNativeAdView component.
21
23
  *
@@ -1 +1 @@
1
- {"version":3,"names":["codegenNativeComponent","codegenNativeCommands","Commands","supportedCommands"],"sourceRoot":"../../../src","sources":["specs/CloudXNativeAdViewNativeComponent.ts"],"mappings":"AAQA,OAAOA,sBAAsB,MAAM,yDAAyD;AAC5F,OAAOC,qBAAqB,MAAM,wDAAwD;;AAE1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;AA4EA,OAAO,MAAMC,QAAwB,GAAGD,qBAAqB,CAAiB;EAC1EE,iBAAiB,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB;AAClF,CAAC,CAAC;;AAEF;AACA;AACA;AACA,eAAeH,sBAAsB,CAAc,oBAAoB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["codegenNativeComponent","codegenNativeCommands","Commands","supportedCommands"],"sourceRoot":"../../../src","sources":["specs/CloudXNativeAdViewNativeComponent.ts"],"mappings":"AAQA,OAAOA,sBAAsB,MAAM,yDAAyD;AAC5F,OAAOC,qBAAqB,MAAM,wDAAwD;;AAE1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA;AACA;AACA;;AAOA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgGA,OAAO,MAAMC,QAAwB,GAAGD,qBAAqB,CAAiB;EAC1EE,iBAAiB,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB;AAClF,CAAC,CAAC;;AAEF;AACA;AACA;AACA,eAAeH,sBAAsB,CAAc,oBAAoB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeCloudX.ts"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,cAAc;;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwKA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,QAAQ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeCloudX.ts"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,cAAc;;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA4LA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,QAAQ,CAAC","ignoreList":[]}
@@ -60,9 +60,34 @@ export let CloudXNativeAssetType = /*#__PURE__*/function (CloudXNativeAssetType)
60
60
  // value, so narrowing one of the two sibling props was an accidental restriction.
61
61
 
62
62
  /**
63
- * Props for the native-ad view component.
63
+ * Load-time options for {@link CloudXNativeAd.load}. These configure the
64
+ * auction and the loader, so they are fixed once the ad is loaded; the view
65
+ * that later renders the ad only chooses the layout.
66
+ */
67
+
68
+ /** Events a preloaded {@link CloudXNativeAd} reports on its own handle. */
69
+
70
+ /** Props every native-ad view accepts, whichever way the ad was loaded. */
71
+
72
+ /**
73
+ * Props for a native-ad view that loads its own ad when it attaches and
74
+ * destroys it on unmount. This is the shape `CloudXNativeAdView` has always
75
+ * taken, so wrappers that extend, `Omit` or `Pick` it keep compiling.
64
76
  *
65
77
  * Callbacks inherited from {@link CloudXAdProps} (`onAdLoaded`, `onAdLoadFailed`,
66
78
  * `onAdClicked`, `onAdRevenuePaid`) receive unwrapped payloads, not synthetic events.
67
79
  */
80
+
81
+ /**
82
+ * The view renders an ad loaded earlier with {@link CloudXNativeAd.load}. It
83
+ * never loads and never destroys the ad. Clicks, revenue, expiry and close
84
+ * are reported once, on the handle (`nativeAd.addListener`), never on the
85
+ * view, so revenue cannot be counted twice.
86
+ */
87
+
88
+ /**
89
+ * Everything `CloudXNativeAdView` accepts: either it loads its own ad
90
+ * ({@link CloudXNativeAdViewProps}) or it renders one loaded earlier
91
+ * ({@link CloudXNativeAdViewPreloadedProps}). Mixing the two is a type error.
92
+ */
68
93
  //# sourceMappingURL=NativeAd.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CloudXNativeTemplate","CloudXNativeAssetType"],"sourceRoot":"../../../src","sources":["types/NativeAd.ts"],"mappings":"AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAC5B;EADQA,oBAAoB;EAI5B;EAJQA,oBAAoB;EAO5B;EAPQA,oBAAoB;EAU5B;AACJ;AACA;AACA;AACA;EAdYA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;;AAkBhC;AACA;AACA;AACA,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;;AAWjC;AACA;AACA;AACA;AACA;;AAkBA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["CloudXNativeTemplate","CloudXNativeAssetType"],"sourceRoot":"../../../src","sources":["types/NativeAd.ts"],"mappings":"AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAC5B;EADQA,oBAAoB;EAI5B;EAJQA,oBAAoB;EAO5B;EAPQA,oBAAoB;EAU5B;AACJ;AACA;AACA;AACA;EAdYA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;;AAkBhC;AACA;AACA;AACA,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;;AAWjC;AACA;AACA;AACA;AACA;;AAkBA;AACA;;AAKA;AACA;AACA;AACA;AACA;;AAWA;;AAGA;;AAsBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;;AAmBA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["CloudXRevenuePlatform","CloudXRevenuePrecision","CloudXNativeTemplate","CloudXNativeAssetType"],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"AAeA,SAASA,qBAAqB,EAAEC,sBAAsB,QAAQ,eAAe;AAkB7E,SAASC,oBAAoB,EAAEC,qBAAqB,QAAQ,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["CloudXRevenuePlatform","CloudXRevenuePrecision","CloudXNativeTemplate","CloudXNativeAssetType"],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"AAeA,SAASA,qBAAqB,EAAEC,sBAAsB,QAAQ,eAAe;AAsB7E,SAASC,oBAAoB,EAAEC,qBAAqB,QAAQ,YAAY","ignoreList":[]}
@@ -3,5 +3,5 @@
3
3
  // This value is reported to the native SDK in CloudX.initialize() and is used
4
4
  // for wrapper-version telemetry/attribution, so a stale value mis-attributes
5
5
  // installs to the wrong release.
6
- export const PLUGIN_VERSION = '3.10.1';
6
+ export const PLUGIN_VERSION = '3.11.1';
7
7
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,58 @@
1
+ import type { CloudXAdInfo } from './types/AdInfo';
2
+ import type { CloudXNativeAdEventType, CloudXNativeAdLoadOptions, CloudXNativeAdMetadata } from './types/NativeAd';
3
+ type NativeAdEventPayload = Partial<CloudXAdInfo> & {
4
+ nativeAdId?: string;
5
+ };
6
+ type NativeAdListener = (adInfo: CloudXAdInfo) => void;
7
+ /**
8
+ * A native ad loaded ahead of its view.
9
+ *
10
+ * Load it whenever it suits the app, then render it with
11
+ * `<CloudXNativeAdView nativeAd={ad} />`. The handle owns the ad: unmounting a
12
+ * view never destroys it, and its impression is counted once. Clicks, revenue,
13
+ * expiry and close are reported here, not on the view.
14
+ *
15
+ * Moving an ad to another view differs by platform:
16
+ * - iOS: mount another view with the same ad and it shows there; the latest
17
+ * view wins.
18
+ * - Android: once the ad has been shown in a view, it stays with that view.
19
+ * Any other view, including a remounted list cell or a reopened screen,
20
+ * reports `onAdDisplayFailed` with `AD_ALREADY_SHOWING`. Load a fresh ad
21
+ * for each new view.
22
+ *
23
+ * An ad that expires before its impression (its `revenuePaid` event) reports
24
+ * `expired` on both platforms, even if it was already shown in a view.
25
+ *
26
+ * Call `destroy()` when the ad is no longer needed.
27
+ */
28
+ export declare class CloudXNativeAd {
29
+ readonly id: string;
30
+ readonly adUnitId: string;
31
+ /** Ad info as of load. Revenue callbacks carry the impression-time values. */
32
+ readonly info: CloudXAdInfo;
33
+ /** Asset metadata for manual layouts; `null` if the network reported none. */
34
+ readonly metadata: CloudXNativeAdMetadata | null;
35
+ private expired;
36
+ private destroyed;
37
+ private readonly listeners;
38
+ /**
39
+ * Loads a native ad without a view. Resolves once the ad is held natively;
40
+ * rejects with a `CloudXAdLoadFailedInfo`.
41
+ *
42
+ * Loads per ad unit are limited, so preload several ads one after another
43
+ * rather than all at once.
44
+ */
45
+ static load(adUnitId: string, options?: CloudXNativeAdLoadOptions): Promise<CloudXNativeAd>;
46
+ private constructor();
47
+ get isExpired(): boolean;
48
+ get isDestroyed(): boolean;
49
+ addListener(type: CloudXNativeAdEventType, listener: NativeAdListener): {
50
+ remove: () => void;
51
+ };
52
+ /** Releases the native ad. Safe to call more than once. */
53
+ destroy(): void;
54
+ /** @internal Routed from the module emitter; not part of the public API. */
55
+ _handleNativeEvent(type: CloudXNativeAdEventType, payload: NativeAdEventPayload): void;
56
+ }
57
+ export {};
58
+ //# sourceMappingURL=CloudXNativeAd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudXNativeAd.d.ts","sourceRoot":"","sources":["../../../src/CloudXNativeAd.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AASnH,KAAK,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5E,KAAK,gBAAgB,GAAG,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;AA8CvD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAc;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAEjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6D;IAEvF;;;;;;OAMG;WACU,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,cAAc,CAAC;IAsBrG,OAAO;IAQP,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,WAAW,CAAC,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,gBAAgB,GAAG;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;IAc9F,2DAA2D;IAC3D,OAAO,IAAI,IAAI;IAQf,4EAA4E;IAC5E,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;CAYzF"}
@@ -1,24 +1,17 @@
1
1
  import * as React from 'react';
2
- import type { CloudXNativeAdViewHandle } from './types/NativeAd';
3
- import type { CloudXAdDisplayFailedInfo, CloudXAdInfo } from './types/AdInfo';
2
+ import type { CloudXNativeAdViewHandle, CloudXNativeAdViewComponentProps } from './types/NativeAd';
4
3
  /**
5
4
  * Renders a native ad. Defaults to the SDK's bundled template layouts;
6
5
  * set `renderMode="manual"` to drive layout through the pre-built asset
7
6
  * components (`CloudXTitleView`, `CloudXMediaView`, etc.) instead.
8
7
  *
8
+ * Pass `adUnitId` and the view loads its own ad on attach. Pass `nativeAd`
9
+ * (from `CloudXNativeAd.load`) and it renders that ad instead, without
10
+ * loading or destroying it.
11
+ *
9
12
  * Manual mode is never inferred from the presence of children — `renderMode`
10
13
  * is always explicit so a publisher's intent is visible at the call site.
11
14
  */
12
- export declare const CloudXNativeAdView: React.ForwardRefExoticComponent<import("./types").CloudXAdProps & import("react-native").ViewProps & {
13
- template?: import("./types/NativeAd").CloudXNativeTemplate;
14
- localExtraParameters?: import("./types/NativeAd").CloudXLocalExtraParameters;
15
- disableVideoFullScreen?: boolean;
16
- startVideoUnmuted?: boolean;
17
- hideVideoMediaControls?: boolean;
18
- renderMode?: "template" | "manual";
19
- onAdDisplayFailed?: (errorInfo: CloudXAdDisplayFailedInfo) => void;
20
- onAdExpired?: (adInfo: CloudXAdInfo) => void;
21
- onAdClosed?: (adInfo: CloudXAdInfo) => void;
22
- } & React.RefAttributes<CloudXNativeAdViewHandle>>;
15
+ export declare const CloudXNativeAdView: React.ForwardRefExoticComponent<CloudXNativeAdViewComponentProps & React.RefAttributes<CloudXNativeAdViewHandle>>;
23
16
  export default CloudXNativeAdView;
24
17
  //# sourceMappingURL=CloudXNativeAdView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CloudXNativeAdView.d.ts","sourceRoot":"","sources":["../../../src/CloudXNativeAdView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAA0B,wBAAwB,EAA2B,MAAM,kBAAkB,CAAC;AAClH,OAAO,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AAoDtG;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;kDAqD9B,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"CloudXNativeAdView.d.ts","sourceRoot":"","sources":["../../../src/CloudXNativeAdView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAA0B,wBAAwB,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AAwE3H;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,mHAqE9B,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -4,6 +4,9 @@
4
4
  * Provides declarative hooks for managing fullscreen and banner ad lifecycles.
5
5
  * These are a CloudX-specific convenience layer on top of the static module APIs.
6
6
  */
7
+ import { CloudXNativeAd } from './CloudXNativeAd';
8
+ import type { CloudXAdLoadFailedInfo } from './types/AdInfo';
9
+ import type { CloudXNativeAdLoadOptions } from './types/NativeAd';
7
10
  export type CloudXInterstitialHookResult = {
8
11
  isLoaded: boolean;
9
12
  isLoading: boolean;
@@ -60,4 +63,31 @@ export type CloudXBannerHookResult = {
60
63
  * @param adUnitId - The ad unit identifier.
61
64
  */
62
65
  export declare function useCloudXBanner(adUnitId: string): CloudXBannerHookResult;
66
+ export type CloudXNativeAdHookStatus = 'idle' | 'loading' | 'loaded' | 'expired' | 'error';
67
+ export type CloudXNativeAdHookResult = {
68
+ status: CloudXNativeAdHookStatus;
69
+ nativeAd: CloudXNativeAd | null;
70
+ error: CloudXAdLoadFailedInfo | null;
71
+ load: () => void;
72
+ destroy: () => void;
73
+ };
74
+ /**
75
+ * Hook for managing a preloaded native ad lifecycle.
76
+ *
77
+ * Preloads a native ad ahead of render and holds it until unmount, manual
78
+ * destruction, or identity change. Unlike view-managed ads, a preloaded ad's
79
+ * lifecycle belongs to its handle and this hook: unmounting a view bound to it
80
+ * does not destroy it.
81
+ *
82
+ * With autoLoad (the default) the first load waits until the SDK has
83
+ * initialized, as `CloudXNativeAdView` does. A `load()` call made before
84
+ * initialization fails with `NOT_INITIALIZED`.
85
+ *
86
+ * @param adUnitId - The ad unit identifier, or null to keep idle.
87
+ * @param options - Load options configuring the auction and loader.
88
+ * @param config - Optional configuration (autoLoad defaults to true).
89
+ */
90
+ export declare function useCloudXNativeAd(adUnitId: string | null, options?: CloudXNativeAdLoadOptions, config?: {
91
+ autoLoad?: boolean;
92
+ }): CloudXNativeAdHookResult;
63
93
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/hooks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6BH,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtE,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,4BAA4B,CAyFpF;AAMD,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtE,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,uBAAuB,CAyF1E;AAMD,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtE,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,CAsG5E;AAMD,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CA0CxE"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/hooks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAwBlE,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtE,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,4BAA4B,CAyFpF;AAMD,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtE,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,uBAAuB,CAyF1E;AAMD,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtE,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,CAsG5E;AAMD,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CA0CxE;AAMD,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAE3F,MAAM,MAAM,wBAAwB,GAAG;IACnC,MAAM,EAAE,wBAAwB,CAAC;IACjC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AA0BF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE,yBAAyB,EACnC,MAAM,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,wBAAwB,CA4K1B"}
@@ -9,6 +9,7 @@ export { CloudXRewardedAd } from './CloudXRewardedAd';
9
9
  export { CloudXBannerAd } from './CloudXBannerAd';
10
10
  export { CloudXMRECAd } from './CloudXMRECAd';
11
11
  export { CloudXAdPosition } from './CloudXAdPosition';
12
+ export { CloudXNativeAd } from './CloudXNativeAd';
12
13
  export { CloudXBannerView } from './CloudXBannerView';
13
14
  export { CloudXMRECView } from './CloudXMRECView';
14
15
  export { CloudXNativeAdView } from './CloudXNativeAdView';
@@ -16,9 +17,9 @@ export { CloudXTitleView, CloudXAdvertiserView, CloudXBodyView, CloudXCallToActi
16
17
  export type { CloudXAdViewProps, CloudXAdViewFormat } from './CloudXAdViewBase';
17
18
  export { CloudXErrorCode } from './CloudXErrorCode';
18
19
  export { requestTrackingAuthorization, getTrackingAuthorizationStatus, CloudXATTStatus } from './AppTrackingTransparency';
19
- export { useCloudXInterstitial, useCloudXAppOpen, useCloudXRewarded, useCloudXBanner } from './hooks';
20
- export type { CloudXInterstitialHookResult, CloudXAppOpenHookResult, CloudXRewardedHookResult, CloudXBannerHookResult, } from './hooks';
21
- export type { CloudXAdInfo, CloudXAdLoadFailedInfo, CloudXAdDisplayFailedInfo, CloudXAdRewardInfo, CloudXInitializationResult, CloudXConfiguration, CloudXType, CloudXLogLevelValue, CloudXArbiterConfiguration, CloudXArbiterPlatform, CloudXArbiterResult, CloudXSDKArbiterBid, CloudXLevelPlayArbiterBid, CloudXPubMaticArbiterBid, CloudXCustomArbiterBid, CloudXAdMobArbiterBid, CloudXGamArbiterBid, CloudXRevenueData, CloudXRevenuePlatformValue, CloudXRevenuePrecisionValue, CloudXFullscreenAdType, CloudXInterstitialAdType, CloudXAppOpenAdType, CloudXRewardedAdType, CloudXViewAdType, CloudXBannerAdType, CloudXMRECAdType, CloudXAdProps, CloudXAdEventObject, CloudXAdEventListener, CloudXExtraParameterValue, CloudXExtraParameters, CloudXNativeAdMetadata, CloudXNativeAdViewHandle, CloudXNativeAdViewProps, CloudXLocalExtraParameters, } from './types';
20
+ export { useCloudXInterstitial, useCloudXAppOpen, useCloudXRewarded, useCloudXBanner, useCloudXNativeAd, } from './hooks';
21
+ export type { CloudXInterstitialHookResult, CloudXAppOpenHookResult, CloudXRewardedHookResult, CloudXBannerHookResult, CloudXNativeAdHookResult, CloudXNativeAdHookStatus, } from './hooks';
22
+ export type { CloudXAdInfo, CloudXAdLoadFailedInfo, CloudXAdDisplayFailedInfo, CloudXAdRewardInfo, CloudXInitializationResult, CloudXConfiguration, CloudXType, CloudXLogLevelValue, CloudXArbiterConfiguration, CloudXArbiterPlatform, CloudXArbiterResult, CloudXSDKArbiterBid, CloudXLevelPlayArbiterBid, CloudXPubMaticArbiterBid, CloudXCustomArbiterBid, CloudXAdMobArbiterBid, CloudXGamArbiterBid, CloudXRevenueData, CloudXRevenuePlatformValue, CloudXRevenuePrecisionValue, CloudXFullscreenAdType, CloudXInterstitialAdType, CloudXAppOpenAdType, CloudXRewardedAdType, CloudXViewAdType, CloudXBannerAdType, CloudXMRECAdType, CloudXAdProps, CloudXAdEventObject, CloudXAdEventListener, CloudXExtraParameterValue, CloudXExtraParameters, CloudXNativeAdMetadata, CloudXNativeAdViewHandle, CloudXNativeAdViewProps, CloudXNativeAdViewComponentProps, CloudXNativeAdViewPreloadedProps, CloudXNativeAdLoadOptions, CloudXNativeAdEventType, CloudXLocalExtraParameters, } from './types';
22
23
  export { CloudXNativeTemplate } from './types';
23
24
  export declare const CloudXLogLevel: {
24
25
  readonly VERBOSE: "verbose";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAI/D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACH,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACvB,MAAM,gCAAgC,CAAC;AASxC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG1H,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACtG,YAAY,EACR,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,GACzB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACR,YAAY,EACZ,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,GAC7B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/C,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAI/D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACH,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACvB,MAAM,gCAAgC,CAAC;AASxC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG1H,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GACpB,MAAM,SAAS,CAAC;AACjB,YAAY,EACR,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,GAC3B,MAAM,SAAS,CAAC;AAGjB,YAAY,EACR,YAAY,EACZ,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,gCAAgC,EAChC,gCAAgC,EAChC,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,GAC7B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/C,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC"}
@@ -30,6 +30,10 @@ export type CloudXNativeAdLoadFailedEvent = Readonly<{
30
30
  code: Double;
31
31
  message?: string | null;
32
32
  }>;
33
+ /** Internal: names the preloaded ad that just left the view. */
34
+ export type CloudXNativeAdBindingClearedEvent = Readonly<{
35
+ nativeAdId: string;
36
+ }>;
33
37
  export type NativeExtraParameterEntry = Readonly<{
34
38
  key: string;
35
39
  value: UnsafeMixed;
@@ -42,8 +46,14 @@ export type NativeExtraParameterEntry = Readonly<{
42
46
  * normal RN z-ordering.
43
47
  */
44
48
  export interface NativeProps extends ViewProps {
45
- /** Ad unit ID used to load the ad. */
46
- adUnitId: string;
49
+ /** Ad unit ID used to load the ad. Ignored when `nativeAdId` is set. */
50
+ adUnitId?: string | null;
51
+ /**
52
+ * Id of an ad already loaded by `loadNativeAd`. When set, the view never
53
+ * loads: it renders the held ad on attach and leaves its lifetime to the
54
+ * holder, so unmounting does not destroy it.
55
+ */
56
+ nativeAdId?: string | null;
47
57
  /**
48
58
  * Publisher-selected template name (e.g. "small_template",
49
59
  * "medium_template"). Named `templateName`, not `template` — codegen
@@ -79,6 +89,11 @@ export interface NativeProps extends ViewProps {
79
89
  onAdLoadFailedEvent: DirectEventHandler<CloudXNativeAdLoadFailedEvent>;
80
90
  /** Called when the ad fails to render/display (e.g. manual render before load). */
81
91
  onAdDisplayFailedEvent: DirectEventHandler<CloudXNativeAdLoadFailedEvent>;
92
+ /**
93
+ * Called each time an ad is rendered into this view and registered for
94
+ * click and impression tracking. Fires again after a re-bind.
95
+ */
96
+ onAdDisplayedEvent: DirectEventHandler<CloudXNativeAdInfoEvent>;
82
97
  /** Called when the ad is clicked. */
83
98
  onAdClickedEvent: DirectEventHandler<CloudXNativeAdInfoEvent>;
84
99
  /** Called when the loaded ad expires. */
@@ -87,6 +102,12 @@ export interface NativeProps extends ViewProps {
87
102
  onAdClosedEvent: DirectEventHandler<CloudXNativeAdInfoEvent>;
88
103
  /** Called when ad revenue is paid. */
89
104
  onAdRevenuePaidEvent: DirectEventHandler<CloudXNativeAdInfoEvent>;
105
+ /**
106
+ * Internal, not a publisher callback: native released the preloaded ad
107
+ * this view showed (destroy, expiry, or a newer view took it), so the JS
108
+ * view clears its asset components.
109
+ */
110
+ onAdBindingClearedEvent?: DirectEventHandler<CloudXNativeAdBindingClearedEvent>;
90
111
  }
91
112
  export interface NativeCommands {
92
113
  loadAd: (viewRef: React.ElementRef<HostComponent<NativeProps>>) => void;