cloudx-react-native 2.2.3 → 3.1.2

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 (36) hide show
  1. package/README.md +62 -17
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/cloudxreactnative/CloudXModuleImpl.kt +37 -13
  4. package/android/src/newarch/com/cloudxreactnative/CloudXModule.kt +3 -0
  5. package/android/src/oldarch/com/cloudxreactnative/CloudXModule.kt +3 -0
  6. package/cloudx-react-native.podspec +1 -1
  7. package/ios/CloudX.mm +50 -12
  8. package/lib/commonjs/CloudX.js +11 -3
  9. package/lib/commonjs/CloudX.js.map +1 -1
  10. package/lib/commonjs/CloudXErrorCode.js +4 -0
  11. package/lib/commonjs/CloudXErrorCode.js.map +1 -1
  12. package/lib/commonjs/specs/NativeCloudX.js.map +1 -1
  13. package/lib/commonjs/version.js +10 -0
  14. package/lib/commonjs/version.js.map +1 -0
  15. package/lib/module/CloudX.js +11 -3
  16. package/lib/module/CloudX.js.map +1 -1
  17. package/lib/module/CloudXErrorCode.js +4 -0
  18. package/lib/module/CloudXErrorCode.js.map +1 -1
  19. package/lib/module/specs/NativeCloudX.js.map +1 -1
  20. package/lib/module/version.js +4 -0
  21. package/lib/module/version.js.map +1 -0
  22. package/lib/typescript/src/CloudX.d.ts.map +1 -1
  23. package/lib/typescript/src/CloudXErrorCode.d.ts +5 -1
  24. package/lib/typescript/src/CloudXErrorCode.d.ts.map +1 -1
  25. package/lib/typescript/src/specs/NativeCloudX.d.ts +2 -0
  26. package/lib/typescript/src/specs/NativeCloudX.d.ts.map +1 -1
  27. package/lib/typescript/src/types/CloudX.d.ts +16 -0
  28. package/lib/typescript/src/types/CloudX.d.ts.map +1 -1
  29. package/lib/typescript/src/version.d.ts +2 -0
  30. package/lib/typescript/src/version.d.ts.map +1 -0
  31. package/package.json +1 -7
  32. package/src/CloudX.ts +12 -3
  33. package/src/CloudXErrorCode.ts +6 -0
  34. package/src/specs/NativeCloudX.ts +7 -0
  35. package/src/types/CloudX.ts +18 -0
  36. package/src/version.ts +3 -0
package/README.md CHANGED
@@ -11,10 +11,17 @@ The CloudX React Native SDK enables monetization of your React Native apps with
11
11
  - **All Ad Formats**: Banner, MREC, Interstitial, and Rewarded ads
12
12
  - **Programmatic Ad APIs**: Overlay APIs for banner and MREC, plus fullscreen formats
13
13
  - **React Hooks**: Declarative hooks for fullscreen and banner ad lifecycles
14
- - **Privacy Compliance**: IAB privacy handled automatically via CMP shared storage
14
+ - **Privacy Compliance**: IAB privacy handled automatically via CMP shared storage, plus manual `setHasUserConsent` / `setDoNotSell` overrides
15
15
  - **App Tracking Transparency**: Built-in ATT support for iOS 14+
16
16
  - **Type Safety**: Full TypeScript definitions with CloudX-prefixed namespace
17
17
 
18
+ ### Native SDK Versions
19
+
20
+ | Plugin | iOS (`CloudXCore`) | Android (`io.cloudx:sdk`) |
21
+ |--------|-------------------|---------------------------|
22
+ | 3.1.2 | 3.1.0 | 3.1.0 |
23
+ | 2.2.3 | 2.2.3 | 2.2.3 |
24
+
18
25
  ## Installation
19
26
 
20
27
  Requires React Native 0.70+, React 18.0+, iOS 13.0+, and Android API 23+.
@@ -32,10 +39,12 @@ target 'YourApp' do
32
39
  # ... existing config ...
33
40
 
34
41
  # CloudX ad network adapters (add as needed)
35
- pod 'CloudXMetaAdapter', '~> 2.2.3'
36
- pod 'CloudXVungleAdapter', '~> 2.2.3'
37
- pod 'CloudXInMobiAdapter', '~> 2.2.3'
38
- pod 'CloudXRenderer', '~> 2.2.3'
42
+ pod 'CloudXMetaAdapter', '~> 3.1.0'
43
+ pod 'CloudXVungleAdapter', '~> 3.1.0'
44
+ pod 'CloudXInMobiAdapter', '~> 3.1.0'
45
+ pod 'CloudXMintegralAdapter', '~> 3.1.0'
46
+ pod 'CloudXUnityAdsAdapter', '~> 3.1.0'
47
+ pod 'CloudXRenderer', '~> 3.1.0'
39
48
  end
40
49
  ```
41
50
 
@@ -66,18 +75,32 @@ Add CloudX SDK and adapter dependencies to your `android/app/build.gradle`:
66
75
  ```kotlin
67
76
  dependencies {
68
77
  // CloudX Android SDK
69
- implementation "io.cloudx:sdk:2.2.3"
78
+ implementation "io.cloudx:sdk:3.1.0"
70
79
 
71
80
  // Adapters for ad networks (add as needed)
72
- implementation "io.cloudx:adapter-cloudx:2.2.3"
73
- implementation "io.cloudx:adapter-meta:2.2.3"
74
- implementation "io.cloudx:adapter-vungle:2.2.3"
75
- implementation "io.cloudx:adapter-inmobi:2.2.3"
81
+ implementation "io.cloudx:adapter-meta:3.1.0"
82
+ implementation "io.cloudx:adapter-vungle:3.1.0"
83
+ implementation "io.cloudx:adapter-inmobi:3.1.0"
84
+ implementation "io.cloudx:adapter-mintegral:3.1.0"
85
+ implementation "io.cloudx:adapter-unityads:3.1.0"
86
+
87
+ // Required by the native SDK 3.1.0 when using the Meta adapter.
88
+ implementation "com.facebook.android:audience-network-sdk:6.21.0"
76
89
  }
77
90
  ```
78
91
 
79
92
  > **Note:** At least one adapter is required for the SDK to serve ads.
80
93
 
94
+ If you integrate the Mintegral adapter, also declare its Maven repository in `android/build.gradle` (Mintegral is not on Maven Central):
95
+
96
+ ```kotlin
97
+ allprojects {
98
+ repositories {
99
+ maven { url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea" }
100
+ }
101
+ }
102
+ ```
103
+
81
104
  ## Initialization
82
105
 
83
106
  Initialize the SDK before loading any ads:
@@ -535,6 +558,26 @@ CloudX.setAppKeyValue('app_version', '1.0.0');
535
558
  CloudX.clearAllKeyValues();
536
559
  ```
537
560
 
561
+ ### Manual Privacy Overrides
562
+
563
+ In most cases, IAB privacy signals (TCF, US Privacy String) are read automatically from shared `NSUserDefaults` / `SharedPreferences` written by your CMP. Use the manual APIs only when you need to override a CMP-provided value or when you don't use a CMP:
564
+
565
+ ```typescript
566
+ import { CloudX } from 'cloudx-react-native';
567
+
568
+ // GDPR: user has granted consent
569
+ CloudX.setHasUserConsent(true);
570
+
571
+ // CCPA / US Privacy: user opted out of sale
572
+ CloudX.setDoNotSell(true);
573
+
574
+ // Clear a previously set override (fall back to CMP signal)
575
+ CloudX.setHasUserConsent(null);
576
+ CloudX.setDoNotSell(null);
577
+ ```
578
+
579
+ Call these before `CloudX.initialize()` so the value is available before the first auction.
580
+
538
581
  ### App Tracking Transparency (iOS)
539
582
 
540
583
  ```typescript
@@ -594,12 +637,12 @@ CloudX.setVisualDebuggingEnabled(true);
594
637
  - Xcode 14.0+ / CocoaPods (iOS)
595
638
  - Gradle 8.0+ / Kotlin 1.8+ (Android)
596
639
 
597
- ### Native SDK Versions (2.2.3)
640
+ ### Native SDK Versions (3.1.0)
598
641
 
599
642
  | Platform | Dependency | Version |
600
643
  |----------|-----------|---------|
601
- | iOS | CloudXCore | ~> 2.2.3 |
602
- | Android | io.cloudx:sdk | 2.2.3 |
644
+ | iOS | CloudXCore | ~> 3.1.0 |
645
+ | Android | io.cloudx:sdk | 3.1.0 |
603
646
 
604
647
  ## Troubleshooting
605
648
 
@@ -611,7 +654,12 @@ React Native 0.84.0 has a known issue where `TurboModuleRegistry.getEnforcing(..
611
654
 
612
655
  This is a React Native framework bug, not a CloudX SDK issue. It manifests as a red screen crash on app launch:
613
656
 
614
- ![RN 0.84.0 TurboModule crash](docs/images/rn-084-turbomodule-crash.png)
657
+ ```
658
+ TurboModuleRegistry.getEnforcing(...):
659
+ 'PlatformConstants' could not be found. Verify
660
+ that a module by this name is registered in
661
+ the native binary.
662
+ ```
615
663
 
616
664
  **Workaround:** Use React Native 0.83.x or wait for the fix in a later 0.84.x patch release. The CloudX SDK is fully compatible with RN 0.70 through 0.83.
617
665
 
@@ -624,9 +672,6 @@ This is a React Native framework bug, not a CloudX SDK issue. It manifests as a
624
672
 
625
673
  For support, contact mobile@cloudx.io
626
674
 
627
- - Email: mobile@cloudx.io
628
- - Issues: [GitHub Issues](https://github.com/cloudx-io/cloudx-react-native/issues)
629
-
630
675
  ## License
631
676
 
632
677
  This project is licensed under the Elastic License 2.0 — see the [LICENSE](LICENSE) file for details.
@@ -73,5 +73,5 @@ repositories {
73
73
  dependencies {
74
74
  implementation "com.facebook.react:react-native:0.76.2"
75
75
 
76
- implementation "io.cloudx:sdk:2.2.3"
76
+ implementation "io.cloudx:sdk:3.1.0"
77
77
  }
@@ -83,7 +83,7 @@ class CloudXModuleImpl(private val reactApplicationContext: ReactApplicationCont
83
83
  .setPluginVersion(pluginVersion)
84
84
  .build()
85
85
 
86
- CloudX.initialize(config, object : CloudXInitializationListener {
86
+ CloudX.initialize(reactApplicationContext, config, object : CloudXInitializationListener {
87
87
  override fun onInitialized(configuration: CloudXSdkConfiguration) {
88
88
  setupOrientationListener()
89
89
  val result = Arguments.createMap()
@@ -149,6 +149,18 @@ class CloudXModuleImpl(private val reactApplicationContext: ReactApplicationCont
149
149
  CloudX.clearAllKeyValues()
150
150
  }
151
151
 
152
+ // =========================================================================
153
+ // Manual Privacy
154
+ // =========================================================================
155
+
156
+ fun setHasUserConsent(hasUserConsent: Boolean?) {
157
+ CloudX.setHasUserConsent(hasUserConsent)
158
+ }
159
+
160
+ fun setDoNotSell(isDoNotSell: Boolean?) {
161
+ CloudX.setDoNotSell(isDoNotSell)
162
+ }
163
+
152
164
  // =========================================================================
153
165
  // Banner (Programmatic)
154
166
  // =========================================================================
@@ -260,7 +272,10 @@ class CloudXModuleImpl(private val reactApplicationContext: ReactApplicationCont
260
272
  positionAdView(adUnitId, adFormat)
261
273
 
262
274
  val adView = retrieveAdView(adUnitId, adFormat)
263
- if (adView != null && adView.visibility != View.VISIBLE) {
275
+ // Stop auto-refresh on load if the publisher has not yet
276
+ // called showBanner/showMREC. "Not yet shown" means either
277
+ // the view is hidden or it was loaded detached (new default).
278
+ if (adView != null && (adView.visibility != View.VISIBLE || adView.parent == null)) {
264
279
  adView.stopAutoRefresh()
265
280
  }
266
281
 
@@ -357,16 +372,17 @@ class CloudXModuleImpl(private val reactApplicationContext: ReactApplicationCont
357
372
  private fun createAdView(adUnitId: String, adFormat: CloudXAdFormat, position: String, xOffset: Double, yOffset: Double) {
358
373
  // Run on main thread to ensure there are no concurrency issues with other ad view methods
359
374
  reactApplicationContext.runOnUiQueueThread {
375
+ // Intentionally load the ad view while detached from any window.
376
+ // Attaching-then-hiding-then-loading causes the underlying banner
377
+ // to take a prefetch code path whose hidden->visible transition
378
+ // does not reliably insert the adapter subview into the container
379
+ // — the ad is only inserted on the next auto-refresh cycle
380
+ // (~30s). Detached loads use the "display when added to a window"
381
+ // path, so showAdView attaches and displays immediately.
360
382
  val adView = retrieveAdView(adUnitId, adFormat, position, Pair(xOffset.toFloat(), yOffset.toFloat()))
361
383
  ?: return@runOnUiQueueThread
362
384
 
363
- adView.visibility = View.GONE
364
-
365
- if (adView.parent == null) {
366
- maybeAttachToCurrentActivity(adView)
367
- adViewAdFormats[adUnitId] = adFormat
368
- positionAdView(adUnitId, adFormat)
369
- }
385
+ adViewAdFormats[adUnitId] = adFormat
370
386
 
371
387
  adView.load()
372
388
 
@@ -409,7 +425,15 @@ class CloudXModuleImpl(private val reactApplicationContext: ReactApplicationCont
409
425
  return@runOnUiQueueThread
410
426
  }
411
427
 
412
- maybeAttachToCurrentActivity(adView)
428
+ // Lazily attach and position on first show. Attaching here — not
429
+ // on creation — lets the underlying banner's ready-to-display
430
+ // path insert the adapter view on window attachment, avoiding the
431
+ // hidden->visible prefetch-but-not-inserted regression.
432
+ if (adView.parent == null) {
433
+ maybeAttachToCurrentActivity(adView)
434
+ positionAdView(adUnitId, adFormat)
435
+ }
436
+
413
437
  adView.visibility = View.VISIBLE
414
438
  adView.startAutoRefresh()
415
439
  }
@@ -493,7 +517,7 @@ class CloudXModuleImpl(private val reactApplicationContext: ReactApplicationCont
493
517
  private fun retrieveInterstitial(adUnitId: String): CloudXInterstitialAd {
494
518
  var interstitial = interstitials[adUnitId]
495
519
  if (interstitial == null) {
496
- interstitial = CloudX.createInterstitial(adUnitId)
520
+ interstitial = CloudX.createInterstitial(reactApplicationContext, adUnitId)
497
521
  interstitial.listener = createInterstitialListener(adUnitId)
498
522
  interstitial.revenueListener = createFullscreenRevenueListener(adUnitId, CloudXAdEvents.ON_INTERSTITIAL_AD_REVENUE_PAID)
499
523
  interstitials[adUnitId] = interstitial
@@ -504,7 +528,7 @@ class CloudXModuleImpl(private val reactApplicationContext: ReactApplicationCont
504
528
  private fun retrieveRewarded(adUnitId: String): CloudXRewardedAd {
505
529
  var rewarded = rewardedAds[adUnitId]
506
530
  if (rewarded == null) {
507
- rewarded = CloudX.createRewarded(adUnitId)
531
+ rewarded = CloudX.createRewarded(reactApplicationContext, adUnitId)
508
532
  rewarded.listener = createRewardedListener(adUnitId)
509
533
  rewarded.revenueListener = createFullscreenRevenueListener(adUnitId, CloudXAdEvents.ON_REWARDED_AD_REVENUE_PAID)
510
534
  rewardedAds[adUnitId] = rewarded
@@ -519,7 +543,7 @@ class CloudXModuleImpl(private val reactApplicationContext: ReactApplicationCont
519
543
  private fun retrieveAdView(adUnitId: String, adFormat: CloudXAdFormat, position: String?, offsetsDp: Pair<Float, Float>): SdkAdView? {
520
544
  var adView = adViews[adUnitId]
521
545
  if (adView == null && position != null) {
522
- adView = if (adFormat == CloudXAdFormat.MREC) CloudX.createMREC(adUnitId) else CloudX.createBanner(adUnitId)
546
+ adView = if (adFormat == CloudXAdFormat.MREC) CloudX.createMREC(reactApplicationContext, adUnitId) else CloudX.createBanner(reactApplicationContext, adUnitId)
523
547
  adView.listener = createAdViewListener(adUnitId, adFormat)
524
548
  adView.revenueListener = createAdViewRevenueListener(adUnitId, adFormat)
525
549
  adViews[adUnitId] = adView
@@ -27,6 +27,9 @@ class CloudXModule(reactContext: ReactApplicationContext) :
27
27
  @ReactMethod override fun setAppKeyValue(key: String, value: String) = impl.setAppKeyValue(key, value)
28
28
  @ReactMethod override fun clearAllKeyValues() = impl.clearAllKeyValues()
29
29
 
30
+ @ReactMethod override fun setHasUserConsent(hasUserConsent: Boolean?) = impl.setHasUserConsent(hasUserConsent)
31
+ @ReactMethod override fun setDoNotSell(isDoNotSell: Boolean?) = impl.setDoNotSell(isDoNotSell)
32
+
30
33
  @ReactMethod override fun createBanner(adUnitId: String, position: String) = impl.createBanner(adUnitId, position)
31
34
  @ReactMethod override fun createBannerWithOffsets(adUnitId: String, position: String, xOffset: Double, yOffset: Double) = impl.createBannerWithOffsets(adUnitId, position, xOffset, yOffset)
32
35
  @ReactMethod override fun setBannerBackgroundColor(adUnitId: String, hexColorString: String) = impl.setBannerBackgroundColor(adUnitId, hexColorString)
@@ -25,6 +25,9 @@ class CloudXModule(reactContext: ReactApplicationContext) :
25
25
  @ReactMethod fun setAppKeyValue(key: String, value: String) = impl.setAppKeyValue(key, value)
26
26
  @ReactMethod fun clearAllKeyValues() = impl.clearAllKeyValues()
27
27
 
28
+ @ReactMethod fun setHasUserConsent(hasUserConsent: Boolean?) = impl.setHasUserConsent(hasUserConsent)
29
+ @ReactMethod fun setDoNotSell(isDoNotSell: Boolean?) = impl.setDoNotSell(isDoNotSell)
30
+
28
31
  @ReactMethod fun createBanner(adUnitId: String, position: String) = impl.createBanner(adUnitId, position)
29
32
  @ReactMethod fun createBannerWithOffsets(adUnitId: String, position: String, xOffset: Double, yOffset: Double) = impl.createBannerWithOffsets(adUnitId, position, xOffset, yOffset)
30
33
  @ReactMethod fun setBannerBackgroundColor(adUnitId: String, hexColorString: String) = impl.setBannerBackgroundColor(adUnitId, hexColorString)
@@ -14,7 +14,7 @@ Pod::Spec.new do |s|
14
14
 
15
15
  s.requires_arc = true
16
16
 
17
- s.dependency "CloudXCore", "~> 2.2.3"
17
+ s.dependency "CloudXCore", "~> 3.1.0"
18
18
 
19
19
  s.source_files = "ios/**/*.{h,mm}"
20
20
 
package/ios/CloudX.mm CHANGED
@@ -214,6 +214,22 @@ RCT_EXPORT_METHOD(clearAllKeyValues)
214
214
  [[CloudXCore shared] clearAllKeyValues];
215
215
  }
216
216
 
217
+ #pragma mark - Manual Privacy
218
+
219
+ // RCT_EXPORT_METHOD applies implicit nonnull to object-pointer arguments via the bridge's
220
+ // NS_ASSUME_NONNULL context, so `nullable` here conflicts with the macro-generated prototype
221
+ // under Release/arm64 archive builds. Bridge semantics already convert JS `null`/`undefined`
222
+ // to Obj-C `nil`, so the clear-value path works regardless of the annotation.
223
+ RCT_EXPORT_METHOD(setHasUserConsent:(NSNumber *)hasUserConsent)
224
+ {
225
+ [CloudXCore setHasUserConsent: hasUserConsent];
226
+ }
227
+
228
+ RCT_EXPORT_METHOD(setDoNotSell:(NSNumber *)isDoNotSell)
229
+ {
230
+ [CloudXCore setDoNotSell: isDoNotSell];
231
+ }
232
+
217
233
  #pragma mark - Banners
218
234
 
219
235
  RCT_EXPORT_METHOD(createBanner:(NSString *)adUnitIdentifier position:(NSString *)bannerPosition)
@@ -709,12 +725,17 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
709
725
  [self executeOnMainQueue:^{
710
726
  [self log: @"Creating %ld with ad unit identifier \"%@\", position: \"%@\", and offset: %@", (long)adFormat, adUnitIdentifier, adViewPosition, NSStringFromCGPoint(offset)];
711
727
 
728
+ // Intentionally load the ad while the view is detached from any window
729
+ // (retrieveAdView no longer auto-attaches on creation). Loading while
730
+ // attached-but-hidden causes the underlying banner to take a prefetch
731
+ // code path whose hidden->visible transition does not reliably insert
732
+ // the adapter subview into the container — the user sees the banner
733
+ // only after the next auto-refresh cycle (~30s). Detached loads use
734
+ // the "display when added to a window" path, which inserts the
735
+ // adapter view as soon as showBanner/showMREC attaches the view.
712
736
  CLXBannerAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat atPosition: adViewPosition withOffset: offset];
713
- adView.hidden = YES;
714
- self.safeAreaBackgrounds[adUnitIdentifier].hidden = YES;
715
737
 
716
738
  self.adViewAdFormats[adUnitIdentifier] = @(adFormat);
717
- [self positionAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat];
718
739
 
719
740
  [adView load];
720
741
 
@@ -810,8 +831,30 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
810
831
  {
811
832
  [self log: @"%ld does not exist for ad unit identifier %@. Deferring show.", (long)adFormat, adUnitIdentifier];
812
833
  [self.adUnitIdentifiersToShowAfterCreate addObject: adUnitIdentifier];
834
+ return;
813
835
  }
814
836
 
837
+ // Lazily attach to the current top view controller and apply layout
838
+ // constraints the first time show is called. Attaching here (rather
839
+ // than on creation) ensures the underlying banner's "ready to display
840
+ // on window attachment" path inserts the adapter view immediately.
841
+ if ( !view.superview )
842
+ {
843
+ UIView *rootView = [self topViewController].view;
844
+ if ( rootView )
845
+ {
846
+ [rootView addSubview: view];
847
+ }
848
+ else
849
+ {
850
+ [self log: @"showAdView: no visible root view for ad unit \"%@\"; deferring.", adUnitIdentifier];
851
+ [self.adUnitIdentifiersToShowAfterCreate addObject: adUnitIdentifier];
852
+ return;
853
+ }
854
+ }
855
+
856
+ [self positionAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat];
857
+
815
858
  self.safeAreaBackgrounds[adUnitIdentifier].hidden = NO;
816
859
  view.hidden = NO;
817
860
 
@@ -951,15 +994,10 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
951
994
  self.adViewPositions[adUnitIdentifier] = adViewPosition;
952
995
  self.adViewOffsets[adUnitIdentifier] = [NSValue valueWithCGPoint: offset];
953
996
 
954
- UIView *rootView = [self topViewController].view;
955
- if ( rootView )
956
- {
957
- [rootView addSubview: result];
958
- }
959
- else
960
- {
961
- [self log: @"retrieveAdView: no visible root view for ad unit \"%@\"", adUnitIdentifier];
962
- }
997
+ // Deliberately do not attach to a window here. showAdView handles
998
+ // attachment so the underlying banner loads while detached and the
999
+ // adapter subview is inserted on window attachment (not on a
1000
+ // hidden->visible transition, which is unreliable).
963
1001
  }
964
1002
 
965
1003
  return result;
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.CloudX = void 0;
7
7
  var _NativeCloudX = _interopRequireDefault(require("./specs/NativeCloudX"));
8
+ var _version = require("./version");
8
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const VERSION = '2.0.0';
10
10
  const isInitialized = () => {
11
11
  return _NativeCloudX.default.isInitialized();
12
12
  };
13
13
  const initialize = appKey => {
14
- return _NativeCloudX.default.initialize(VERSION, appKey);
14
+ return _NativeCloudX.default.initialize(_version.PLUGIN_VERSION, appKey);
15
15
  };
16
16
  const isTablet = () => {
17
17
  return _NativeCloudX.default.isTablet();
@@ -37,6 +37,12 @@ const clearAllKeyValues = () => {
37
37
  const setVisualDebuggingEnabled = enabled => {
38
38
  _NativeCloudX.default.setVisualDebuggingEnabled(enabled);
39
39
  };
40
+ const setHasUserConsent = hasUserConsent => {
41
+ _NativeCloudX.default.setHasUserConsent(hasUserConsent);
42
+ };
43
+ const setDoNotSell = isDoNotSell => {
44
+ _NativeCloudX.default.setDoNotSell(isDoNotSell);
45
+ };
40
46
  const CloudX = exports.CloudX = {
41
47
  isInitialized,
42
48
  initialize,
@@ -47,7 +53,9 @@ const CloudX = exports.CloudX = {
47
53
  setUserKeyValue,
48
54
  setAppKeyValue,
49
55
  clearAllKeyValues,
50
- setVisualDebuggingEnabled
56
+ setVisualDebuggingEnabled,
57
+ setHasUserConsent,
58
+ setDoNotSell
51
59
  };
52
60
  var _default = exports.default = CloudX;
53
61
  //# sourceMappingURL=CloudX.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_NativeCloudX","_interopRequireDefault","require","e","__esModule","default","VERSION","isInitialized","NativeCloudX","initialize","appKey","isTablet","getVersion","setMinLogLevel","level","setHashedUserID","hashedUserID","setUserKeyValue","key","value","setAppKeyValue","clearAllKeyValues","setVisualDebuggingEnabled","enabled","CloudX","exports","_default"],"sourceRoot":"../../src","sources":["CloudX.ts"],"mappings":";;;;;;AAEA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAgD,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhD,MAAMG,OAAO,GAAG,OAAO;AAEvB,MAAMC,aAAa,GAAGA,CAAA,KAAwB;EAC1C,OAAOC,qBAAY,CAACD,aAAa,CAAC,CAAC;AACvC,CAAC;AAED,MAAME,UAAU,GAAIC,MAAc,IAA0C;EACxE,OAAOF,qBAAY,CAACC,UAAU,CAACH,OAAO,EAAEI,MAAM,CAAC;AACnD,CAAC;AAED,MAAMC,QAAQ,GAAGA,CAAA,KAAwB;EACrC,OAAOH,qBAAY,CAACG,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,MAAMC,UAAU,GAAGA,CAAA,KAAuB;EACtC,OAAOJ,qBAAY,CAACI,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,MAAMC,cAAc,GAAIC,KAA0B,IAAW;EACzDN,qBAAY,CAACK,cAAc,CAACC,KAAK,CAAC;AACtC,CAAC;AAED,MAAMC,eAAe,GAAIC,YAAoB,IAAW;EACpDR,qBAAY,CAACO,eAAe,CAACC,YAAY,CAAC;AAC9C,CAAC;AAED,MAAMC,eAAe,GAAGA,CAACC,GAAW,EAAEC,KAAa,KAAW;EAC1DX,qBAAY,CAACS,eAAe,CAACC,GAAG,EAAEC,KAAK,CAAC;AAC5C,CAAC;AAED,MAAMC,cAAc,GAAGA,CAACF,GAAW,EAAEC,KAAa,KAAW;EACzDX,qBAAY,CAACY,cAAc,CAACF,GAAG,EAAEC,KAAK,CAAC;AAC3C,CAAC;AAED,MAAME,iBAAiB,GAAGA,CAAA,KAAY;EAClCb,qBAAY,CAACa,iBAAiB,CAAC,CAAC;AACpC,CAAC;AAED,MAAMC,yBAAyB,GAAIC,OAAgB,IAAW;EAC1Df,qBAAY,CAACc,yBAAyB,CAACC,OAAO,CAAC;AACnD,CAAC;AAEM,MAAMC,MAAkB,GAAAC,OAAA,CAAAD,MAAA,GAAG;EAC9BjB,aAAa;EACbE,UAAU;EACVE,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdE,eAAe;EACfE,eAAe;EACfG,cAAc;EACdC,iBAAiB;EACjBC;AACJ,CAAC;AAAC,IAAAI,QAAA,GAAAD,OAAA,CAAApB,OAAA,GAEamB,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["_NativeCloudX","_interopRequireDefault","require","_version","e","__esModule","default","isInitialized","NativeCloudX","initialize","appKey","PLUGIN_VERSION","isTablet","getVersion","setMinLogLevel","level","setHashedUserID","hashedUserID","setUserKeyValue","key","value","setAppKeyValue","clearAllKeyValues","setVisualDebuggingEnabled","enabled","setHasUserConsent","hasUserConsent","setDoNotSell","isDoNotSell","CloudX","exports","_default"],"sourceRoot":"../../src","sources":["CloudX.ts"],"mappings":";;;;;;AAEA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAA2C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3C,MAAMG,aAAa,GAAGA,CAAA,KAAwB;EAC1C,OAAOC,qBAAY,CAACD,aAAa,CAAC,CAAC;AACvC,CAAC;AAED,MAAME,UAAU,GAAIC,MAAc,IAA0C;EACxE,OAAOF,qBAAY,CAACC,UAAU,CAACE,uBAAc,EAAED,MAAM,CAAC;AAC1D,CAAC;AAED,MAAME,QAAQ,GAAGA,CAAA,KAAwB;EACrC,OAAOJ,qBAAY,CAACI,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,MAAMC,UAAU,GAAGA,CAAA,KAAuB;EACtC,OAAOL,qBAAY,CAACK,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,MAAMC,cAAc,GAAIC,KAA0B,IAAW;EACzDP,qBAAY,CAACM,cAAc,CAACC,KAAK,CAAC;AACtC,CAAC;AAED,MAAMC,eAAe,GAAIC,YAAoB,IAAW;EACpDT,qBAAY,CAACQ,eAAe,CAACC,YAAY,CAAC;AAC9C,CAAC;AAED,MAAMC,eAAe,GAAGA,CAACC,GAAW,EAAEC,KAAa,KAAW;EAC1DZ,qBAAY,CAACU,eAAe,CAACC,GAAG,EAAEC,KAAK,CAAC;AAC5C,CAAC;AAED,MAAMC,cAAc,GAAGA,CAACF,GAAW,EAAEC,KAAa,KAAW;EACzDZ,qBAAY,CAACa,cAAc,CAACF,GAAG,EAAEC,KAAK,CAAC;AAC3C,CAAC;AAED,MAAME,iBAAiB,GAAGA,CAAA,KAAY;EAClCd,qBAAY,CAACc,iBAAiB,CAAC,CAAC;AACpC,CAAC;AAED,MAAMC,yBAAyB,GAAIC,OAAgB,IAAW;EAC1DhB,qBAAY,CAACe,yBAAyB,CAACC,OAAO,CAAC;AACnD,CAAC;AAED,MAAMC,iBAAiB,GAAIC,cAA8B,IAAW;EAChElB,qBAAY,CAACiB,iBAAiB,CAACC,cAAc,CAAC;AAClD,CAAC;AAED,MAAMC,YAAY,GAAIC,WAA2B,IAAW;EACxDpB,qBAAY,CAACmB,YAAY,CAACC,WAAW,CAAC;AAC1C,CAAC;AAEM,MAAMC,MAAkB,GAAAC,OAAA,CAAAD,MAAA,GAAG;EAC9BtB,aAAa;EACbE,UAAU;EACVG,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdE,eAAe;EACfE,eAAe;EACfG,cAAc;EACdC,iBAAiB;EACjBC,yBAAyB;EACzBE,iBAAiB;EACjBE;AACJ,CAAC;AAAC,IAAAI,QAAA,GAAAD,OAAA,CAAAxB,OAAA,GAEauB,MAAM","ignoreList":[]}
@@ -54,6 +54,8 @@ let CloudXErrorCode = exports.CloudXErrorCode = /*#__PURE__*/function (CloudXErr
54
54
  CloudXErrorCode[CloudXErrorCode["ADS_DISABLED"] = 301] = "ADS_DISABLED";
55
55
  /** No ad available (no fill). */
56
56
  CloudXErrorCode[CloudXErrorCode["NO_FILL"] = 302] = "NO_FILL";
57
+ /** `load` was called while a fullscreen ad is currently being displayed. Wait for the hidden callback. */
58
+ CloudXErrorCode[CloudXErrorCode["LOAD_NOT_ALLOWED_WHILE_SHOWING"] = 303] = "LOAD_NOT_ALLOWED_WHILE_SHOWING";
57
59
  /** Ad failed to load. */
58
60
  CloudXErrorCode[CloudXErrorCode["LOAD_FAILED"] = 304] = "LOAD_FAILED";
59
61
  // AD DISPLAY / SHOW (400-499)
@@ -111,6 +113,8 @@ let CloudXErrorCode = exports.CloudXErrorCode = /*#__PURE__*/function (CloudXErr
111
113
  CloudXErrorCode[CloudXErrorCode["ADAPTER_MISSING_VIEW_CONTROLLER"] = 620] = "ADAPTER_MISSING_VIEW_CONTROLLER";
112
114
  /** Adapter failed to display the ad. */
113
115
  CloudXErrorCode[CloudXErrorCode["ADAPTER_DISPLAY_FAILED"] = 621] = "ADAPTER_DISPLAY_FAILED";
116
+ /** Ad network SDK did not complete initialization within the configured per-adapter timeout. */
117
+ CloudXErrorCode[CloudXErrorCode["ADAPTER_INITIALIZATION_TIMEOUT"] = 622] = "ADAPTER_INITIALIZATION_TIMEOUT";
114
118
  return CloudXErrorCode;
115
119
  }({});
116
120
  //# sourceMappingURL=CloudXErrorCode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CloudXErrorCode","exports"],"sourceRoot":"../../src","sources":["CloudXErrorCode.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA,IAaYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EACvB;EAEA;EAHQA,eAAe,CAAfA,eAAe;EAMvB;EAEA;EARQA,eAAe,CAAfA,eAAe;EAWvB;EAXQA,eAAe,CAAfA,eAAe;EAcvB;EAdQA,eAAe,CAAfA,eAAe;EAiBvB;EAjBQA,eAAe,CAAfA,eAAe;EAoBvB;EApBQA,eAAe,CAAfA,eAAe;EAuBvB;EAvBQA,eAAe,CAAfA,eAAe;EA0BvB;EA1BQA,eAAe,CAAfA,eAAe;EA6BvB;EAEA;EA/BQA,eAAe,CAAfA,eAAe;EAkCvB;EAlCQA,eAAe,CAAfA,eAAe;EAqCvB;EArCQA,eAAe,CAAfA,eAAe;EAwCvB;EAxCQA,eAAe,CAAfA,eAAe;EA2CvB;EA3CQA,eAAe,CAAfA,eAAe;EA8CvB;EAEA;EAhDQA,eAAe,CAAfA,eAAe;EAmDvB;EAnDQA,eAAe,CAAfA,eAAe;EAsDvB;EAtDQA,eAAe,CAAfA,eAAe;EAyDvB;EAzDQA,eAAe,CAAfA,eAAe;EA4DvB;EAEA;EA9DQA,eAAe,CAAfA,eAAe;EAiEvB;EAjEQA,eAAe,CAAfA,eAAe;EAoEvB;EApEQA,eAAe,CAAfA,eAAe;EAuEvB;EAEA;EAzEQA,eAAe,CAAfA,eAAe;EA4EvB;EAEA;EA9EQA,eAAe,CAAfA,eAAe;EAiFvB;EAjFQA,eAAe,CAAfA,eAAe;EAoFvB;EApFQA,eAAe,CAAfA,eAAe;EAuFvB;EAvFQA,eAAe,CAAfA,eAAe;EA0FvB;EA1FQA,eAAe,CAAfA,eAAe;EA6FvB;EA7FQA,eAAe,CAAfA,eAAe;EAgGvB;EAhGQA,eAAe,CAAfA,eAAe;EAmGvB;EAnGQA,eAAe,CAAfA,eAAe;EAsGvB;EAtGQA,eAAe,CAAfA,eAAe;EAyGvB;EAzGQA,eAAe,CAAfA,eAAe;EA4GvB;EA5GQA,eAAe,CAAfA,eAAe;EA+GvB;EA/GQA,eAAe,CAAfA,eAAe;EAkHvB;EAlHQA,eAAe,CAAfA,eAAe;EAqHvB;EArHQA,eAAe,CAAfA,eAAe;EAwHvB;EAxHQA,eAAe,CAAfA,eAAe;EA2HvB;EA3HQA,eAAe,CAAfA,eAAe;EA8HvB;EA9HQA,eAAe,CAAfA,eAAe;EAiIvB;EAjIQA,eAAe,CAAfA,eAAe;EAoIvB;EApIQA,eAAe,CAAfA,eAAe;EAuIvB;EAvIQA,eAAe,CAAfA,eAAe;EA0IvB;EA1IQA,eAAe,CAAfA,eAAe;EA6IvB;EA7IQA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["CloudXErrorCode","exports"],"sourceRoot":"../../src","sources":["CloudXErrorCode.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA,IAaYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EACvB;EAEA;EAHQA,eAAe,CAAfA,eAAe;EAMvB;EAEA;EARQA,eAAe,CAAfA,eAAe;EAWvB;EAXQA,eAAe,CAAfA,eAAe;EAcvB;EAdQA,eAAe,CAAfA,eAAe;EAiBvB;EAjBQA,eAAe,CAAfA,eAAe;EAoBvB;EApBQA,eAAe,CAAfA,eAAe;EAuBvB;EAvBQA,eAAe,CAAfA,eAAe;EA0BvB;EA1BQA,eAAe,CAAfA,eAAe;EA6BvB;EAEA;EA/BQA,eAAe,CAAfA,eAAe;EAkCvB;EAlCQA,eAAe,CAAfA,eAAe;EAqCvB;EArCQA,eAAe,CAAfA,eAAe;EAwCvB;EAxCQA,eAAe,CAAfA,eAAe;EA2CvB;EA3CQA,eAAe,CAAfA,eAAe;EA8CvB;EAEA;EAhDQA,eAAe,CAAfA,eAAe;EAmDvB;EAnDQA,eAAe,CAAfA,eAAe;EAsDvB;EAtDQA,eAAe,CAAfA,eAAe;EAyDvB;EAzDQA,eAAe,CAAfA,eAAe;EA4DvB;EA5DQA,eAAe,CAAfA,eAAe;EA+DvB;EAEA;EAjEQA,eAAe,CAAfA,eAAe;EAoEvB;EApEQA,eAAe,CAAfA,eAAe;EAuEvB;EAvEQA,eAAe,CAAfA,eAAe;EA0EvB;EAEA;EA5EQA,eAAe,CAAfA,eAAe;EA+EvB;EAEA;EAjFQA,eAAe,CAAfA,eAAe;EAoFvB;EApFQA,eAAe,CAAfA,eAAe;EAuFvB;EAvFQA,eAAe,CAAfA,eAAe;EA0FvB;EA1FQA,eAAe,CAAfA,eAAe;EA6FvB;EA7FQA,eAAe,CAAfA,eAAe;EAgGvB;EAhGQA,eAAe,CAAfA,eAAe;EAmGvB;EAnGQA,eAAe,CAAfA,eAAe;EAsGvB;EAtGQA,eAAe,CAAfA,eAAe;EAyGvB;EAzGQA,eAAe,CAAfA,eAAe;EA4GvB;EA5GQA,eAAe,CAAfA,eAAe;EA+GvB;EA/GQA,eAAe,CAAfA,eAAe;EAkHvB;EAlHQA,eAAe,CAAfA,eAAe;EAqHvB;EArHQA,eAAe,CAAfA,eAAe;EAwHvB;EAxHQA,eAAe,CAAfA,eAAe;EA2HvB;EA3HQA,eAAe,CAAfA,eAAe;EA8HvB;EA9HQA,eAAe,CAAfA,eAAe;EAiIvB;EAjIQA,eAAe,CAAfA,eAAe;EAoIvB;EApIQA,eAAe,CAAfA,eAAe;EAuIvB;EAvIQA,eAAe,CAAfA,eAAe;EA0IvB;EA1IQA,eAAe,CAAfA,eAAe;EA6IvB;EA7IQA,eAAe,CAAfA,eAAe;EAgJvB;EAhJQA,eAAe,CAAfA,eAAe;EAmJvB;EAnJQA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeCloudX.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAwIeC,gCAAmB,CAACC,YAAY,CAAO,QAAQ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeCloudX.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GA+IeC,gCAAmB,CAACC,YAAY,CAAO,QAAQ,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PLUGIN_VERSION = void 0;
7
+ // Keep PLUGIN_VERSION in sync with the `version` field in package.json.
8
+ // Phase 1 of RELEASE.md bumps both together.
9
+ const PLUGIN_VERSION = exports.PLUGIN_VERSION = '3.1.2';
10
+ //# sourceMappingURL=version.js.map
@@ -0,0 +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,10 +1,10 @@
1
1
  import NativeCloudX from './specs/NativeCloudX';
2
- const VERSION = '2.0.0';
2
+ import { PLUGIN_VERSION } from './version';
3
3
  const isInitialized = () => {
4
4
  return NativeCloudX.isInitialized();
5
5
  };
6
6
  const initialize = appKey => {
7
- return NativeCloudX.initialize(VERSION, appKey);
7
+ return NativeCloudX.initialize(PLUGIN_VERSION, appKey);
8
8
  };
9
9
  const isTablet = () => {
10
10
  return NativeCloudX.isTablet();
@@ -30,6 +30,12 @@ const clearAllKeyValues = () => {
30
30
  const setVisualDebuggingEnabled = enabled => {
31
31
  NativeCloudX.setVisualDebuggingEnabled(enabled);
32
32
  };
33
+ const setHasUserConsent = hasUserConsent => {
34
+ NativeCloudX.setHasUserConsent(hasUserConsent);
35
+ };
36
+ const setDoNotSell = isDoNotSell => {
37
+ NativeCloudX.setDoNotSell(isDoNotSell);
38
+ };
33
39
  export const CloudX = {
34
40
  isInitialized,
35
41
  initialize,
@@ -40,7 +46,9 @@ export const CloudX = {
40
46
  setUserKeyValue,
41
47
  setAppKeyValue,
42
48
  clearAllKeyValues,
43
- setVisualDebuggingEnabled
49
+ setVisualDebuggingEnabled,
50
+ setHasUserConsent,
51
+ setDoNotSell
44
52
  };
45
53
  export default CloudX;
46
54
  //# sourceMappingURL=CloudX.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeCloudX","VERSION","isInitialized","initialize","appKey","isTablet","getVersion","setMinLogLevel","level","setHashedUserID","hashedUserID","setUserKeyValue","key","value","setAppKeyValue","clearAllKeyValues","setVisualDebuggingEnabled","enabled","CloudX"],"sourceRoot":"../../src","sources":["CloudX.ts"],"mappings":"AAEA,OAAOA,YAAY,MAAM,sBAAsB;AAE/C,MAAMC,OAAO,GAAG,OAAO;AAEvB,MAAMC,aAAa,GAAGA,CAAA,KAAwB;EAC1C,OAAOF,YAAY,CAACE,aAAa,CAAC,CAAC;AACvC,CAAC;AAED,MAAMC,UAAU,GAAIC,MAAc,IAA0C;EACxE,OAAOJ,YAAY,CAACG,UAAU,CAACF,OAAO,EAAEG,MAAM,CAAC;AACnD,CAAC;AAED,MAAMC,QAAQ,GAAGA,CAAA,KAAwB;EACrC,OAAOL,YAAY,CAACK,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,MAAMC,UAAU,GAAGA,CAAA,KAAuB;EACtC,OAAON,YAAY,CAACM,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,MAAMC,cAAc,GAAIC,KAA0B,IAAW;EACzDR,YAAY,CAACO,cAAc,CAACC,KAAK,CAAC;AACtC,CAAC;AAED,MAAMC,eAAe,GAAIC,YAAoB,IAAW;EACpDV,YAAY,CAACS,eAAe,CAACC,YAAY,CAAC;AAC9C,CAAC;AAED,MAAMC,eAAe,GAAGA,CAACC,GAAW,EAAEC,KAAa,KAAW;EAC1Db,YAAY,CAACW,eAAe,CAACC,GAAG,EAAEC,KAAK,CAAC;AAC5C,CAAC;AAED,MAAMC,cAAc,GAAGA,CAACF,GAAW,EAAEC,KAAa,KAAW;EACzDb,YAAY,CAACc,cAAc,CAACF,GAAG,EAAEC,KAAK,CAAC;AAC3C,CAAC;AAED,MAAME,iBAAiB,GAAGA,CAAA,KAAY;EAClCf,YAAY,CAACe,iBAAiB,CAAC,CAAC;AACpC,CAAC;AAED,MAAMC,yBAAyB,GAAIC,OAAgB,IAAW;EAC1DjB,YAAY,CAACgB,yBAAyB,CAACC,OAAO,CAAC;AACnD,CAAC;AAED,OAAO,MAAMC,MAAkB,GAAG;EAC9BhB,aAAa;EACbC,UAAU;EACVE,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdE,eAAe;EACfE,eAAe;EACfG,cAAc;EACdC,iBAAiB;EACjBC;AACJ,CAAC;AAED,eAAeE,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["NativeCloudX","PLUGIN_VERSION","isInitialized","initialize","appKey","isTablet","getVersion","setMinLogLevel","level","setHashedUserID","hashedUserID","setUserKeyValue","key","value","setAppKeyValue","clearAllKeyValues","setVisualDebuggingEnabled","enabled","setHasUserConsent","hasUserConsent","setDoNotSell","isDoNotSell","CloudX"],"sourceRoot":"../../src","sources":["CloudX.ts"],"mappings":"AAEA,OAAOA,YAAY,MAAM,sBAAsB;AAC/C,SAASC,cAAc,QAAQ,WAAW;AAE1C,MAAMC,aAAa,GAAGA,CAAA,KAAwB;EAC1C,OAAOF,YAAY,CAACE,aAAa,CAAC,CAAC;AACvC,CAAC;AAED,MAAMC,UAAU,GAAIC,MAAc,IAA0C;EACxE,OAAOJ,YAAY,CAACG,UAAU,CAACF,cAAc,EAAEG,MAAM,CAAC;AAC1D,CAAC;AAED,MAAMC,QAAQ,GAAGA,CAAA,KAAwB;EACrC,OAAOL,YAAY,CAACK,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,MAAMC,UAAU,GAAGA,CAAA,KAAuB;EACtC,OAAON,YAAY,CAACM,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,MAAMC,cAAc,GAAIC,KAA0B,IAAW;EACzDR,YAAY,CAACO,cAAc,CAACC,KAAK,CAAC;AACtC,CAAC;AAED,MAAMC,eAAe,GAAIC,YAAoB,IAAW;EACpDV,YAAY,CAACS,eAAe,CAACC,YAAY,CAAC;AAC9C,CAAC;AAED,MAAMC,eAAe,GAAGA,CAACC,GAAW,EAAEC,KAAa,KAAW;EAC1Db,YAAY,CAACW,eAAe,CAACC,GAAG,EAAEC,KAAK,CAAC;AAC5C,CAAC;AAED,MAAMC,cAAc,GAAGA,CAACF,GAAW,EAAEC,KAAa,KAAW;EACzDb,YAAY,CAACc,cAAc,CAACF,GAAG,EAAEC,KAAK,CAAC;AAC3C,CAAC;AAED,MAAME,iBAAiB,GAAGA,CAAA,KAAY;EAClCf,YAAY,CAACe,iBAAiB,CAAC,CAAC;AACpC,CAAC;AAED,MAAMC,yBAAyB,GAAIC,OAAgB,IAAW;EAC1DjB,YAAY,CAACgB,yBAAyB,CAACC,OAAO,CAAC;AACnD,CAAC;AAED,MAAMC,iBAAiB,GAAIC,cAA8B,IAAW;EAChEnB,YAAY,CAACkB,iBAAiB,CAACC,cAAc,CAAC;AAClD,CAAC;AAED,MAAMC,YAAY,GAAIC,WAA2B,IAAW;EACxDrB,YAAY,CAACoB,YAAY,CAACC,WAAW,CAAC;AAC1C,CAAC;AAED,OAAO,MAAMC,MAAkB,GAAG;EAC9BpB,aAAa;EACbC,UAAU;EACVE,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdE,eAAe;EACfE,eAAe;EACfG,cAAc;EACdC,iBAAiB;EACjBC,yBAAyB;EACzBE,iBAAiB;EACjBE;AACJ,CAAC;AAED,eAAeE,MAAM","ignoreList":[]}
@@ -48,6 +48,8 @@ export let CloudXErrorCode = /*#__PURE__*/function (CloudXErrorCode) {
48
48
  CloudXErrorCode[CloudXErrorCode["ADS_DISABLED"] = 301] = "ADS_DISABLED";
49
49
  /** No ad available (no fill). */
50
50
  CloudXErrorCode[CloudXErrorCode["NO_FILL"] = 302] = "NO_FILL";
51
+ /** `load` was called while a fullscreen ad is currently being displayed. Wait for the hidden callback. */
52
+ CloudXErrorCode[CloudXErrorCode["LOAD_NOT_ALLOWED_WHILE_SHOWING"] = 303] = "LOAD_NOT_ALLOWED_WHILE_SHOWING";
51
53
  /** Ad failed to load. */
52
54
  CloudXErrorCode[CloudXErrorCode["LOAD_FAILED"] = 304] = "LOAD_FAILED";
53
55
  // AD DISPLAY / SHOW (400-499)
@@ -105,6 +107,8 @@ export let CloudXErrorCode = /*#__PURE__*/function (CloudXErrorCode) {
105
107
  CloudXErrorCode[CloudXErrorCode["ADAPTER_MISSING_VIEW_CONTROLLER"] = 620] = "ADAPTER_MISSING_VIEW_CONTROLLER";
106
108
  /** Adapter failed to display the ad. */
107
109
  CloudXErrorCode[CloudXErrorCode["ADAPTER_DISPLAY_FAILED"] = 621] = "ADAPTER_DISPLAY_FAILED";
110
+ /** Ad network SDK did not complete initialization within the configured per-adapter timeout. */
111
+ CloudXErrorCode[CloudXErrorCode["ADAPTER_INITIALIZATION_TIMEOUT"] = 622] = "ADAPTER_INITIALIZATION_TIMEOUT";
108
112
  return CloudXErrorCode;
109
113
  }({});
110
114
  //# sourceMappingURL=CloudXErrorCode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CloudXErrorCode"],"sourceRoot":"../../src","sources":["CloudXErrorCode.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,eAAe,0BAAfA,eAAe;EACvB;EAEA;EAHQA,eAAe,CAAfA,eAAe;EAMvB;EAEA;EARQA,eAAe,CAAfA,eAAe;EAWvB;EAXQA,eAAe,CAAfA,eAAe;EAcvB;EAdQA,eAAe,CAAfA,eAAe;EAiBvB;EAjBQA,eAAe,CAAfA,eAAe;EAoBvB;EApBQA,eAAe,CAAfA,eAAe;EAuBvB;EAvBQA,eAAe,CAAfA,eAAe;EA0BvB;EA1BQA,eAAe,CAAfA,eAAe;EA6BvB;EAEA;EA/BQA,eAAe,CAAfA,eAAe;EAkCvB;EAlCQA,eAAe,CAAfA,eAAe;EAqCvB;EArCQA,eAAe,CAAfA,eAAe;EAwCvB;EAxCQA,eAAe,CAAfA,eAAe;EA2CvB;EA3CQA,eAAe,CAAfA,eAAe;EA8CvB;EAEA;EAhDQA,eAAe,CAAfA,eAAe;EAmDvB;EAnDQA,eAAe,CAAfA,eAAe;EAsDvB;EAtDQA,eAAe,CAAfA,eAAe;EAyDvB;EAzDQA,eAAe,CAAfA,eAAe;EA4DvB;EAEA;EA9DQA,eAAe,CAAfA,eAAe;EAiEvB;EAjEQA,eAAe,CAAfA,eAAe;EAoEvB;EApEQA,eAAe,CAAfA,eAAe;EAuEvB;EAEA;EAzEQA,eAAe,CAAfA,eAAe;EA4EvB;EAEA;EA9EQA,eAAe,CAAfA,eAAe;EAiFvB;EAjFQA,eAAe,CAAfA,eAAe;EAoFvB;EApFQA,eAAe,CAAfA,eAAe;EAuFvB;EAvFQA,eAAe,CAAfA,eAAe;EA0FvB;EA1FQA,eAAe,CAAfA,eAAe;EA6FvB;EA7FQA,eAAe,CAAfA,eAAe;EAgGvB;EAhGQA,eAAe,CAAfA,eAAe;EAmGvB;EAnGQA,eAAe,CAAfA,eAAe;EAsGvB;EAtGQA,eAAe,CAAfA,eAAe;EAyGvB;EAzGQA,eAAe,CAAfA,eAAe;EA4GvB;EA5GQA,eAAe,CAAfA,eAAe;EA+GvB;EA/GQA,eAAe,CAAfA,eAAe;EAkHvB;EAlHQA,eAAe,CAAfA,eAAe;EAqHvB;EArHQA,eAAe,CAAfA,eAAe;EAwHvB;EAxHQA,eAAe,CAAfA,eAAe;EA2HvB;EA3HQA,eAAe,CAAfA,eAAe;EA8HvB;EA9HQA,eAAe,CAAfA,eAAe;EAiIvB;EAjIQA,eAAe,CAAfA,eAAe;EAoIvB;EApIQA,eAAe,CAAfA,eAAe;EAuIvB;EAvIQA,eAAe,CAAfA,eAAe;EA0IvB;EA1IQA,eAAe,CAAfA,eAAe;EA6IvB;EA7IQA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["CloudXErrorCode"],"sourceRoot":"../../src","sources":["CloudXErrorCode.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,eAAe,0BAAfA,eAAe;EACvB;EAEA;EAHQA,eAAe,CAAfA,eAAe;EAMvB;EAEA;EARQA,eAAe,CAAfA,eAAe;EAWvB;EAXQA,eAAe,CAAfA,eAAe;EAcvB;EAdQA,eAAe,CAAfA,eAAe;EAiBvB;EAjBQA,eAAe,CAAfA,eAAe;EAoBvB;EApBQA,eAAe,CAAfA,eAAe;EAuBvB;EAvBQA,eAAe,CAAfA,eAAe;EA0BvB;EA1BQA,eAAe,CAAfA,eAAe;EA6BvB;EAEA;EA/BQA,eAAe,CAAfA,eAAe;EAkCvB;EAlCQA,eAAe,CAAfA,eAAe;EAqCvB;EArCQA,eAAe,CAAfA,eAAe;EAwCvB;EAxCQA,eAAe,CAAfA,eAAe;EA2CvB;EA3CQA,eAAe,CAAfA,eAAe;EA8CvB;EAEA;EAhDQA,eAAe,CAAfA,eAAe;EAmDvB;EAnDQA,eAAe,CAAfA,eAAe;EAsDvB;EAtDQA,eAAe,CAAfA,eAAe;EAyDvB;EAzDQA,eAAe,CAAfA,eAAe;EA4DvB;EA5DQA,eAAe,CAAfA,eAAe;EA+DvB;EAEA;EAjEQA,eAAe,CAAfA,eAAe;EAoEvB;EApEQA,eAAe,CAAfA,eAAe;EAuEvB;EAvEQA,eAAe,CAAfA,eAAe;EA0EvB;EAEA;EA5EQA,eAAe,CAAfA,eAAe;EA+EvB;EAEA;EAjFQA,eAAe,CAAfA,eAAe;EAoFvB;EApFQA,eAAe,CAAfA,eAAe;EAuFvB;EAvFQA,eAAe,CAAfA,eAAe;EA0FvB;EA1FQA,eAAe,CAAfA,eAAe;EA6FvB;EA7FQA,eAAe,CAAfA,eAAe;EAgGvB;EAhGQA,eAAe,CAAfA,eAAe;EAmGvB;EAnGQA,eAAe,CAAfA,eAAe;EAsGvB;EAtGQA,eAAe,CAAfA,eAAe;EAyGvB;EAzGQA,eAAe,CAAfA,eAAe;EA4GvB;EA5GQA,eAAe,CAAfA,eAAe;EA+GvB;EA/GQA,eAAe,CAAfA,eAAe;EAkHvB;EAlHQA,eAAe,CAAfA,eAAe;EAqHvB;EArHQA,eAAe,CAAfA,eAAe;EAwHvB;EAxHQA,eAAe,CAAfA,eAAe;EA2HvB;EA3HQA,eAAe,CAAfA,eAAe;EA8HvB;EA9HQA,eAAe,CAAfA,eAAe;EAiIvB;EAjIQA,eAAe,CAAfA,eAAe;EAoIvB;EApIQA,eAAe,CAAfA,eAAe;EAuIvB;EAvIQA,eAAe,CAAfA,eAAe;EA0IvB;EA1IQA,eAAe,CAAfA,eAAe;EA6IvB;EA7IQA,eAAe,CAAfA,eAAe;EAgJvB;EAhJQA,eAAe,CAAfA,eAAe;EAmJvB;EAnJQA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeCloudX.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgIA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,QAAQ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeCloudX.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAuIA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,QAAQ,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ // Keep PLUGIN_VERSION in sync with the `version` field in package.json.
2
+ // Phase 1 of RELEASE.md bumps both together.
3
+ export const PLUGIN_VERSION = '3.1.2';
4
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PLUGIN_VERSION"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":"AAAA;AACA;AACA,OAAO,MAAMA,cAAc,GAAG,OAAO","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CloudX.d.ts","sourceRoot":"","sources":["../../../src/CloudX.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AA8CtE,eAAO,MAAM,MAAM,EAAE,UAWpB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"CloudX.d.ts","sourceRoot":"","sources":["../../../src/CloudX.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AAqDtE,eAAO,MAAM,MAAM,EAAE,UAapB,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -44,6 +44,8 @@ export declare enum CloudXErrorCode {
44
44
  ADS_DISABLED = 301,
45
45
  /** No ad available (no fill). */
46
46
  NO_FILL = 302,
47
+ /** `load` was called while a fullscreen ad is currently being displayed. Wait for the hidden callback. */
48
+ LOAD_NOT_ALLOWED_WHILE_SHOWING = 303,
47
49
  /** Ad failed to load. */
48
50
  LOAD_FAILED = 304,
49
51
  /** Ad is not ready to be shown. */
@@ -97,6 +99,8 @@ export declare enum CloudXErrorCode {
97
99
  /** Adapter is missing the required activity (Android) or view controller (iOS). */
98
100
  ADAPTER_MISSING_VIEW_CONTROLLER = 620,
99
101
  /** Adapter failed to display the ad. */
100
- ADAPTER_DISPLAY_FAILED = 621
102
+ ADAPTER_DISPLAY_FAILED = 621,
103
+ /** Ad network SDK did not complete initialization within the configured per-adapter timeout. */
104
+ ADAPTER_INITIALIZATION_TIMEOUT = 622
101
105
  }
102
106
  //# sourceMappingURL=CloudXErrorCode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CloudXErrorCode.d.ts","sourceRoot":"","sources":["../../../src/CloudXErrorCode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,oBAAY,eAAe;IAGvB,kCAAkC;IAClC,cAAc,IAAI;IAIlB,6BAA6B;IAC7B,aAAa,MAAM;IAEnB,iCAAiC;IACjC,eAAe,MAAM;IAErB,0BAA0B;IAC1B,YAAY,MAAM;IAElB,0BAA0B;IAC1B,YAAY,MAAM;IAElB,0BAA0B;IAC1B,iBAAiB,MAAM;IAEvB,8CAA8C;IAC9C,gBAAgB,MAAM;IAEtB,+BAA+B;IAC/B,aAAa,MAAM;IAInB,8DAA8D;IAC9D,eAAe,MAAM;IAErB,qCAAqC;IACrC,iBAAiB,MAAM;IAEvB,8CAA8C;IAC9C,sBAAsB,MAAM;IAE5B,gCAAgC;IAChC,eAAe,MAAM;IAErB,4CAA4C;IAC5C,YAAY,MAAM;IAIlB,0BAA0B;IAC1B,eAAe,MAAM;IAErB,qCAAqC;IACrC,YAAY,MAAM;IAElB,iCAAiC;IACjC,OAAO,MAAM;IAEb,yBAAyB;IACzB,WAAW,MAAM;IAIjB,mCAAmC;IACnC,YAAY,MAAM;IAElB,gDAAgD;IAChD,kBAAkB,MAAM;IAExB,yEAAyE;IACzE,4BAA4B,MAAM;IAIlC,qCAAqC;IACrC,mBAAmB,MAAM;IAIzB,+CAA+C;IAC/C,sBAAsB,MAAM;IAE5B,gCAAgC;IAChC,eAAe,MAAM;IAErB,8CAA8C;IAC9C,0BAA0B,MAAM;IAEhC,4CAA4C;IAC5C,6BAA6B,MAAM;IAEnC,8CAA8C;IAC9C,6BAA6B,MAAM;IAEnC,uCAAuC;IACvC,mBAAmB,MAAM;IAEzB,kCAAkC;IAClC,uBAAuB,MAAM;IAE7B,oCAAoC;IACpC,4BAA4B,MAAM;IAElC,+BAA+B;IAC/B,oBAAoB,MAAM;IAE1B,8BAA8B;IAC9B,oBAAoB,MAAM;IAE1B,mCAAmC;IACnC,eAAe,MAAM;IAErB,yCAAyC;IACzC,qBAAqB,MAAM;IAE3B,4BAA4B;IAC5B,oBAAoB,MAAM;IAE1B,2CAA2C;IAC3C,yBAAyB,MAAM;IAE/B,2CAA2C;IAC3C,+BAA+B,MAAM;IAErC,2CAA2C;IAC3C,qBAAqB,MAAM;IAE3B,8BAA8B;IAC9B,kBAAkB,MAAM;IAExB,sCAAsC;IACtC,2BAA2B,MAAM;IAEjC,4BAA4B;IAC5B,oBAAoB,MAAM;IAE1B,2CAA2C;IAC3C,gCAAgC,MAAM;IAEtC,mFAAmF;IACnF,+BAA+B,MAAM;IAErC,wCAAwC;IACxC,sBAAsB,MAAM;CAC/B"}
1
+ {"version":3,"file":"CloudXErrorCode.d.ts","sourceRoot":"","sources":["../../../src/CloudXErrorCode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,oBAAY,eAAe;IAGvB,kCAAkC;IAClC,cAAc,IAAI;IAIlB,6BAA6B;IAC7B,aAAa,MAAM;IAEnB,iCAAiC;IACjC,eAAe,MAAM;IAErB,0BAA0B;IAC1B,YAAY,MAAM;IAElB,0BAA0B;IAC1B,YAAY,MAAM;IAElB,0BAA0B;IAC1B,iBAAiB,MAAM;IAEvB,8CAA8C;IAC9C,gBAAgB,MAAM;IAEtB,+BAA+B;IAC/B,aAAa,MAAM;IAInB,8DAA8D;IAC9D,eAAe,MAAM;IAErB,qCAAqC;IACrC,iBAAiB,MAAM;IAEvB,8CAA8C;IAC9C,sBAAsB,MAAM;IAE5B,gCAAgC;IAChC,eAAe,MAAM;IAErB,4CAA4C;IAC5C,YAAY,MAAM;IAIlB,0BAA0B;IAC1B,eAAe,MAAM;IAErB,qCAAqC;IACrC,YAAY,MAAM;IAElB,iCAAiC;IACjC,OAAO,MAAM;IAEb,0GAA0G;IAC1G,8BAA8B,MAAM;IAEpC,yBAAyB;IACzB,WAAW,MAAM;IAIjB,mCAAmC;IACnC,YAAY,MAAM;IAElB,gDAAgD;IAChD,kBAAkB,MAAM;IAExB,yEAAyE;IACzE,4BAA4B,MAAM;IAIlC,qCAAqC;IACrC,mBAAmB,MAAM;IAIzB,+CAA+C;IAC/C,sBAAsB,MAAM;IAE5B,gCAAgC;IAChC,eAAe,MAAM;IAErB,8CAA8C;IAC9C,0BAA0B,MAAM;IAEhC,4CAA4C;IAC5C,6BAA6B,MAAM;IAEnC,8CAA8C;IAC9C,6BAA6B,MAAM;IAEnC,uCAAuC;IACvC,mBAAmB,MAAM;IAEzB,kCAAkC;IAClC,uBAAuB,MAAM;IAE7B,oCAAoC;IACpC,4BAA4B,MAAM;IAElC,+BAA+B;IAC/B,oBAAoB,MAAM;IAE1B,8BAA8B;IAC9B,oBAAoB,MAAM;IAE1B,mCAAmC;IACnC,eAAe,MAAM;IAErB,yCAAyC;IACzC,qBAAqB,MAAM;IAE3B,4BAA4B;IAC5B,oBAAoB,MAAM;IAE1B,2CAA2C;IAC3C,yBAAyB,MAAM;IAE/B,2CAA2C;IAC3C,+BAA+B,MAAM;IAErC,2CAA2C;IAC3C,qBAAqB,MAAM;IAE3B,8BAA8B;IAC9B,kBAAkB,MAAM;IAExB,sCAAsC;IACtC,2BAA2B,MAAM;IAEjC,4BAA4B;IAC5B,oBAAoB,MAAM;IAE1B,2CAA2C;IAC3C,gCAAgC,MAAM;IAEtC,mFAAmF;IACnF,+BAA+B,MAAM;IAErC,wCAAwC;IACxC,sBAAsB,MAAM;IAE5B,gGAAgG;IAChG,8BAA8B,MAAM;CACvC"}
@@ -49,6 +49,8 @@ export interface Spec extends TurboModule {
49
49
  setUserKeyValue(key: string, value: string): void;
50
50
  setAppKeyValue(key: string, value: string): void;
51
51
  clearAllKeyValues(): void;
52
+ setHasUserConsent(hasUserConsent: boolean | null): void;
53
+ setDoNotSell(isDoNotSell: boolean | null): void;
52
54
  createBanner(adUnitId: string, position: string): void;
53
55
  createBannerWithOffsets(adUnitId: string, position: string, xOffset: number, yOffset: number): void;
54
56
  setBannerBackgroundColor(adUnitId: string, hexColorString: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeCloudX.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeCloudX.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeCloudX.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeCloudX.ts"],"names":[],"mappings":"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"}
@@ -24,5 +24,21 @@ export type CloudXType = {
24
24
  clearAllKeyValues(): void;
25
25
  /** Enables or disables visual debugging overlay (iOS only; no-op on Android). */
26
26
  setVisualDebuggingEnabled(enabled: boolean): void;
27
+ /**
28
+ * Sets the GDPR user-consent flag for publishers not using a CMP.
29
+ *
30
+ * Pass `true` if the user has granted consent, `false` if denied, or `null`
31
+ * to clear a previously-set value. If IAB consent strings (GPP/TCF) are
32
+ * present in platform shared preferences, they take priority over this flag.
33
+ */
34
+ setHasUserConsent(hasUserConsent: boolean | null): void;
35
+ /**
36
+ * Sets the CCPA "do not sell" flag for publishers not using a CMP.
37
+ *
38
+ * Pass `true` if the user opted out of sale, `false` if not, or `null` to
39
+ * clear a previously-set value. IAB consent strings (GPP/US Privacy) take
40
+ * priority when present.
41
+ */
42
+ setDoNotSell(isDoNotSell: boolean | null): void;
27
43
  };
28
44
  //# sourceMappingURL=CloudX.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CloudX.d.ts","sourceRoot":"","sources":["../../../../src/types/CloudX.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3F;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB,oDAAoD;IACpD,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,yDAAyD;IACzD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEhE,qDAAqD;IACrD,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7B,6CAA6C;IAC7C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9B,yDAAyD;IACzD,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEjD,2CAA2C;IAC3C,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C,sDAAsD;IACtD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAElD,sDAAsD;IACtD,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjD,uCAAuC;IACvC,iBAAiB,IAAI,IAAI,CAAC;IAE1B,iFAAiF;IACjF,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACrD,CAAC"}
1
+ {"version":3,"file":"CloudX.d.ts","sourceRoot":"","sources":["../../../../src/types/CloudX.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3F;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB,oDAAoD;IACpD,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,yDAAyD;IACzD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEhE,qDAAqD;IACrD,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7B,6CAA6C;IAC7C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9B,yDAAyD;IACzD,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEjD,2CAA2C;IAC3C,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C,sDAAsD;IACtD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAElD,sDAAsD;IACtD,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjD,uCAAuC;IACvC,iBAAiB,IAAI,IAAI,CAAC;IAE1B,iFAAiF;IACjF,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAElD;;;;;;OAMG;IACH,iBAAiB,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAExD;;;;;;OAMG;IACH,YAAY,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;CACnD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const PLUGIN_VERSION = "3.1.2";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cloudx-react-native",
3
- "version": "2.2.3",
3
+ "version": "3.1.2",
4
4
  "description": "React Native wrapper for CloudX SDK (iOS & Android)",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -22,10 +22,6 @@
22
22
  "!android/.cxx",
23
23
  "!ios/build"
24
24
  ],
25
- "repository": {
26
- "type": "git",
27
- "url": "https://github.com/cloudx-io/cloudx-react-native.git"
28
- },
29
25
  "scripts": {
30
26
  "prepare": "bob build",
31
27
  "typescript": "tsc --noEmit",
@@ -49,8 +45,6 @@
49
45
  },
50
46
  "devDependencies": {
51
47
  "@types/react": "^18.0.0",
52
- "react": "^18.0.0",
53
- "react-native": "^0.76.0",
54
48
  "react-native-builder-bob": "^0.20.4",
55
49
  "typescript": "^5.2.2"
56
50
  },
package/src/CloudX.ts CHANGED
@@ -1,15 +1,14 @@
1
1
  import type { CloudXType, CloudXLogLevelValue } from './types/CloudX';
2
2
  import type { CloudXInitializationResult } from './types/Configuration';
3
3
  import NativeCloudX from './specs/NativeCloudX';
4
-
5
- const VERSION = '2.0.0';
4
+ import { PLUGIN_VERSION } from './version';
6
5
 
7
6
  const isInitialized = (): Promise<boolean> => {
8
7
  return NativeCloudX.isInitialized();
9
8
  };
10
9
 
11
10
  const initialize = (appKey: string): Promise<CloudXInitializationResult> => {
12
- return NativeCloudX.initialize(VERSION, appKey);
11
+ return NativeCloudX.initialize(PLUGIN_VERSION, appKey);
13
12
  };
14
13
 
15
14
  const isTablet = (): Promise<boolean> => {
@@ -44,6 +43,14 @@ const setVisualDebuggingEnabled = (enabled: boolean): void => {
44
43
  NativeCloudX.setVisualDebuggingEnabled(enabled);
45
44
  };
46
45
 
46
+ const setHasUserConsent = (hasUserConsent: boolean | null): void => {
47
+ NativeCloudX.setHasUserConsent(hasUserConsent);
48
+ };
49
+
50
+ const setDoNotSell = (isDoNotSell: boolean | null): void => {
51
+ NativeCloudX.setDoNotSell(isDoNotSell);
52
+ };
53
+
47
54
  export const CloudX: CloudXType = {
48
55
  isInitialized,
49
56
  initialize,
@@ -55,6 +62,8 @@ export const CloudX: CloudXType = {
55
62
  setAppKeyValue,
56
63
  clearAllKeyValues,
57
64
  setVisualDebuggingEnabled,
65
+ setHasUserConsent,
66
+ setDoNotSell,
58
67
  };
59
68
 
60
69
  export default CloudX;
@@ -68,6 +68,9 @@ export enum CloudXErrorCode {
68
68
  /** No ad available (no fill). */
69
69
  NO_FILL = 302,
70
70
 
71
+ /** `load` was called while a fullscreen ad is currently being displayed. Wait for the hidden callback. */
72
+ LOAD_NOT_ALLOWED_WHILE_SHOWING = 303,
73
+
71
74
  /** Ad failed to load. */
72
75
  LOAD_FAILED = 304,
73
76
 
@@ -154,4 +157,7 @@ export enum CloudXErrorCode {
154
157
 
155
158
  /** Adapter failed to display the ad. */
156
159
  ADAPTER_DISPLAY_FAILED = 621,
160
+
161
+ /** Ad network SDK did not complete initialization within the configured per-adapter timeout. */
162
+ ADAPTER_INITIALIZATION_TIMEOUT = 622,
157
163
  }
@@ -78,6 +78,13 @@ export interface Spec extends TurboModule {
78
78
  setAppKeyValue(key: string, value: string): void;
79
79
  clearAllKeyValues(): void;
80
80
 
81
+ // =========================================================================
82
+ // Privacy (manual, CMP-less fallback)
83
+ // =========================================================================
84
+
85
+ setHasUserConsent(hasUserConsent: boolean | null): void;
86
+ setDoNotSell(isDoNotSell: boolean | null): void;
87
+
81
88
  // =========================================================================
82
89
  // Banner (Programmatic)
83
90
  // =========================================================================
@@ -35,4 +35,22 @@ export type CloudXType = {
35
35
 
36
36
  /** Enables or disables visual debugging overlay (iOS only; no-op on Android). */
37
37
  setVisualDebuggingEnabled(enabled: boolean): void;
38
+
39
+ /**
40
+ * Sets the GDPR user-consent flag for publishers not using a CMP.
41
+ *
42
+ * Pass `true` if the user has granted consent, `false` if denied, or `null`
43
+ * to clear a previously-set value. If IAB consent strings (GPP/TCF) are
44
+ * present in platform shared preferences, they take priority over this flag.
45
+ */
46
+ setHasUserConsent(hasUserConsent: boolean | null): void;
47
+
48
+ /**
49
+ * Sets the CCPA "do not sell" flag for publishers not using a CMP.
50
+ *
51
+ * Pass `true` if the user opted out of sale, `false` if not, or `null` to
52
+ * clear a previously-set value. IAB consent strings (GPP/US Privacy) take
53
+ * priority when present.
54
+ */
55
+ setDoNotSell(isDoNotSell: boolean | null): void;
38
56
  };
package/src/version.ts ADDED
@@ -0,0 +1,3 @@
1
+ // Keep PLUGIN_VERSION in sync with the `version` field in package.json.
2
+ // Phase 1 of RELEASE.md bumps both together.
3
+ export const PLUGIN_VERSION = '3.1.2';