cloudx-react-native 3.8.0 → 3.10.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 (141) hide show
  1. package/README.md +1 -0
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/cloudxreactnative/CloudXAdEvents.kt +10 -0
  4. package/android/src/main/java/com/cloudxreactnative/CloudXAdInfo.kt +41 -0
  5. package/android/src/main/java/com/cloudxreactnative/CloudXAdView.kt +1 -0
  6. package/android/src/main/java/com/cloudxreactnative/CloudXModuleImpl.kt +14 -0
  7. package/android/src/main/java/com/cloudxreactnative/CloudXNativeAdView.kt +718 -0
  8. package/android/src/main/java/com/cloudxreactnative/CloudXNativeAdViewManagerImpl.kt +119 -0
  9. package/android/src/main/java/com/cloudxreactnative/CloudXPackage.kt +4 -1
  10. package/android/src/main/res/layout/cloudx_rn_native_media_banner_template.xml +100 -0
  11. package/android/src/main/res/layout/cloudx_rn_native_medium_template.xml +99 -0
  12. package/android/src/main/res/layout/cloudx_rn_native_small_template.xml +72 -0
  13. package/android/src/main/res/layout/cloudx_rn_native_vertical_media_template.xml +117 -0
  14. package/android/src/newarch/com/cloudxreactnative/CloudXModule.kt +2 -0
  15. package/android/src/newarch/com/cloudxreactnative/CloudXNativeAdViewManager.kt +86 -0
  16. package/android/src/oldarch/com/cloudxreactnative/CloudXModule.kt +2 -0
  17. package/android/src/oldarch/com/cloudxreactnative/CloudXNativeAdViewManager.kt +118 -0
  18. package/android/src/test/java/com/cloudxreactnative/CloudXModuleImplArbiterBidsTest.kt +3 -3
  19. package/android/src/test/java/com/cloudxreactnative/CloudXModuleImplThreadingTest.kt +91 -0
  20. package/android/src/test/java/com/cloudxreactnative/FakeReadable.kt +2 -2
  21. package/cloudx-react-native.podspec +2 -1
  22. package/ios/CloudX.h +8 -0
  23. package/ios/CloudX.mm +164 -28
  24. package/ios/CloudXAdView.mm +2 -0
  25. package/ios/CloudXNativeAdView.h +75 -0
  26. package/ios/CloudXNativeAdView.mm +979 -0
  27. package/ios/CloudXNativeAdViewManager.h +12 -0
  28. package/ios/CloudXNativeAdViewManager.mm +119 -0
  29. package/ios/PrivacyInfo.xcprivacy +20 -0
  30. package/lib/commonjs/CloudX.js +4 -0
  31. package/lib/commonjs/CloudX.js.map +1 -1
  32. package/lib/commonjs/CloudXAdViewBase.js +9 -97
  33. package/lib/commonjs/CloudXAdViewBase.js.map +1 -1
  34. package/lib/commonjs/CloudXErrorCode.js +2 -0
  35. package/lib/commonjs/CloudXErrorCode.js.map +1 -1
  36. package/lib/commonjs/CloudXNativeAdView.js +331 -0
  37. package/lib/commonjs/CloudXNativeAdView.js.map +1 -0
  38. package/lib/commonjs/CloudXNativeAdViewComponents.js +252 -0
  39. package/lib/commonjs/CloudXNativeAdViewComponents.js.map +1 -0
  40. package/lib/commonjs/CloudXNativeAdViewProvider.js +117 -0
  41. package/lib/commonjs/CloudXNativeAdViewProvider.js.map +1 -0
  42. package/lib/commonjs/extraParameters.js +52 -0
  43. package/lib/commonjs/extraParameters.js.map +1 -0
  44. package/lib/commonjs/hooks.js +34 -0
  45. package/lib/commonjs/hooks.js.map +1 -1
  46. package/lib/commonjs/index.js +72 -0
  47. package/lib/commonjs/index.js.map +1 -1
  48. package/lib/commonjs/specs/CloudXAdViewNativeComponent.js.map +1 -1
  49. package/lib/commonjs/specs/CloudXNativeAdViewNativeComponent.js +41 -0
  50. package/lib/commonjs/specs/CloudXNativeAdViewNativeComponent.js.map +1 -0
  51. package/lib/commonjs/specs/NativeCloudX.js.map +1 -1
  52. package/lib/commonjs/types/NativeAd.js +70 -0
  53. package/lib/commonjs/types/NativeAd.js.map +1 -0
  54. package/lib/commonjs/types/index.js +13 -0
  55. package/lib/commonjs/types/index.js.map +1 -1
  56. package/lib/commonjs/useCloudXSdkInitialization.js +75 -0
  57. package/lib/commonjs/useCloudXSdkInitialization.js.map +1 -0
  58. package/lib/commonjs/version.js +1 -1
  59. package/lib/commonjs/version.js.map +1 -1
  60. package/lib/module/CloudX.js +4 -0
  61. package/lib/module/CloudX.js.map +1 -1
  62. package/lib/module/CloudXAdViewBase.js +8 -96
  63. package/lib/module/CloudXAdViewBase.js.map +1 -1
  64. package/lib/module/CloudXErrorCode.js +2 -0
  65. package/lib/module/CloudXErrorCode.js.map +1 -1
  66. package/lib/module/CloudXNativeAdView.js +324 -0
  67. package/lib/module/CloudXNativeAdView.js.map +1 -0
  68. package/lib/module/CloudXNativeAdViewComponents.js +240 -0
  69. package/lib/module/CloudXNativeAdViewComponents.js.map +1 -0
  70. package/lib/module/CloudXNativeAdViewProvider.js +110 -0
  71. package/lib/module/CloudXNativeAdViewProvider.js.map +1 -0
  72. package/lib/module/extraParameters.js +45 -0
  73. package/lib/module/extraParameters.js.map +1 -0
  74. package/lib/module/hooks.js +34 -0
  75. package/lib/module/hooks.js.map +1 -1
  76. package/lib/module/index.js +13 -0
  77. package/lib/module/index.js.map +1 -1
  78. package/lib/module/specs/CloudXAdViewNativeComponent.js.map +1 -1
  79. package/lib/module/specs/CloudXNativeAdViewNativeComponent.js +35 -0
  80. package/lib/module/specs/CloudXNativeAdViewNativeComponent.js.map +1 -0
  81. package/lib/module/specs/NativeCloudX.js.map +1 -1
  82. package/lib/module/types/NativeAd.js +68 -0
  83. package/lib/module/types/NativeAd.js.map +1 -0
  84. package/lib/module/types/index.js +1 -0
  85. package/lib/module/types/index.js.map +1 -1
  86. package/lib/module/useCloudXSdkInitialization.js +68 -0
  87. package/lib/module/useCloudXSdkInitialization.js.map +1 -0
  88. package/lib/module/version.js +1 -1
  89. package/lib/module/version.js.map +1 -1
  90. package/lib/typescript/src/CloudX.d.ts.map +1 -1
  91. package/lib/typescript/src/CloudXAdViewBase.d.ts.map +1 -1
  92. package/lib/typescript/src/CloudXErrorCode.d.ts +2 -0
  93. package/lib/typescript/src/CloudXErrorCode.d.ts.map +1 -1
  94. package/lib/typescript/src/CloudXNativeAdView.d.ts +24 -0
  95. package/lib/typescript/src/CloudXNativeAdView.d.ts.map +1 -0
  96. package/lib/typescript/src/CloudXNativeAdViewComponents.d.ts +67 -0
  97. package/lib/typescript/src/CloudXNativeAdViewComponents.d.ts.map +1 -0
  98. package/lib/typescript/src/CloudXNativeAdViewProvider.d.ts +72 -0
  99. package/lib/typescript/src/CloudXNativeAdViewProvider.d.ts.map +1 -0
  100. package/lib/typescript/src/extraParameters.d.ts +4 -0
  101. package/lib/typescript/src/extraParameters.d.ts.map +1 -0
  102. package/lib/typescript/src/hooks.d.ts.map +1 -1
  103. package/lib/typescript/src/index.d.ts +4 -1
  104. package/lib/typescript/src/index.d.ts.map +1 -1
  105. package/lib/typescript/src/specs/CloudXAdViewNativeComponent.d.ts +1 -0
  106. package/lib/typescript/src/specs/CloudXAdViewNativeComponent.d.ts.map +1 -1
  107. package/lib/typescript/src/specs/CloudXNativeAdViewNativeComponent.d.ts +103 -0
  108. package/lib/typescript/src/specs/CloudXNativeAdViewNativeComponent.d.ts.map +1 -0
  109. package/lib/typescript/src/specs/NativeCloudX.d.ts +1 -0
  110. package/lib/typescript/src/specs/NativeCloudX.d.ts.map +1 -1
  111. package/lib/typescript/src/types/AdInfo.d.ts +6 -1
  112. package/lib/typescript/src/types/AdInfo.d.ts.map +1 -1
  113. package/lib/typescript/src/types/CloudX.d.ts +2 -0
  114. package/lib/typescript/src/types/CloudX.d.ts.map +1 -1
  115. package/lib/typescript/src/types/NativeAd.d.ts +114 -0
  116. package/lib/typescript/src/types/NativeAd.d.ts.map +1 -0
  117. package/lib/typescript/src/types/index.d.ts +2 -0
  118. package/lib/typescript/src/types/index.d.ts.map +1 -1
  119. package/lib/typescript/src/useCloudXSdkInitialization.d.ts +16 -0
  120. package/lib/typescript/src/useCloudXSdkInitialization.d.ts.map +1 -0
  121. package/lib/typescript/src/version.d.ts +1 -1
  122. package/lib/typescript/src/version.d.ts.map +1 -1
  123. package/package.json +1 -1
  124. package/src/CloudX.ts +5 -0
  125. package/src/CloudXAdViewBase.tsx +9 -125
  126. package/src/CloudXErrorCode.ts +3 -0
  127. package/src/CloudXNativeAdView.tsx +419 -0
  128. package/src/CloudXNativeAdViewComponents.tsx +203 -0
  129. package/src/CloudXNativeAdViewProvider.tsx +149 -0
  130. package/src/extraParameters.ts +65 -0
  131. package/src/hooks.ts +38 -0
  132. package/src/index.ts +24 -0
  133. package/src/specs/CloudXAdViewNativeComponent.ts +1 -0
  134. package/src/specs/CloudXNativeAdViewNativeComponent.ts +137 -0
  135. package/src/specs/NativeCloudX.ts +1 -0
  136. package/src/types/AdInfo.ts +8 -1
  137. package/src/types/CloudX.ts +3 -0
  138. package/src/types/NativeAd.ts +125 -0
  139. package/src/types/index.ts +7 -0
  140. package/src/useCloudXSdkInitialization.ts +73 -0
  141. package/src/version.ts +1 -1
@@ -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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"}
@@ -1,22 +1,27 @@
1
1
  import type { CloudXErrorCode } from '../CloudXErrorCode';
2
+ import type { CloudXNativeAdMetadata } from './NativeAd';
2
3
  /**
3
4
  * Represents a successfully loaded ad served by CloudX.
4
5
  */
5
6
  export type CloudXAdInfo = {
6
7
  /** The ad unit ID for this ad. */
7
8
  adUnitId: string;
8
- /** The format of the ad (e.g., "BANNER", "MREC", "INTERSTITIAL", "REWARDED"). */
9
+ /** The format of the ad (e.g., "BANNER", "MREC", "INTERSTITIAL", "REWARDED", "NATIVE"). */
9
10
  adFormat: string;
10
11
  /** The name of the ad network that served the ad. */
11
12
  networkName: string;
12
13
  /** The name of the placement as configured on the ad network side. */
13
14
  networkPlacement?: string | null;
15
+ /** The identifier of the creative served, when the ad network reports one. */
16
+ creativeId?: string | null;
14
17
  /** The custom placement name defined in your integration. */
15
18
  placement?: string | null;
16
19
  /** The revenue generated from the ad impression, in USD. Defaults to 0. */
17
20
  revenue: number;
18
21
  /** SDK-owned metadata values associated with this loaded ad. */
19
22
  adValues: Record<string, string>;
23
+ /** Structured native-ad metadata when the loaded creative is a native ad. */
24
+ nativeAd?: CloudXNativeAdMetadata | null;
20
25
  };
21
26
  /**
22
27
  * Represents a failure when attempting to load an ad.
@@ -1 +1 @@
1
- {"version":3,"file":"AdInfo.d.ts","sourceRoot":"","sources":["../../../../src/types/AdInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IAEjB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IAEjB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IAEpB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IAEjB,yBAAyB;IACzB,IAAI,EAAE,eAAe,CAAC;IAEtB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG;IACnD,yBAAyB;IACzB,IAAI,EAAE,eAAe,CAAC;IAEtB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC5C,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"AdInfo.d.ts","sourceRoot":"","sources":["../../../../src/types/AdInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IAEjB,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;IAEjB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IAEpB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IAEjB,yBAAyB;IACzB,IAAI,EAAE,eAAe,CAAC;IAEtB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG;IACnD,yBAAyB;IACzB,IAAI,EAAE,eAAe,CAAC;IAEtB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC5C,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC"}
@@ -10,6 +10,8 @@ export type CloudXType = {
10
10
  isInitialized(): Promise<boolean>;
11
11
  /** Initializes the CloudX SDK with the given app key. */
12
12
  initialize(appKey: string): Promise<CloudXInitializationResult>;
13
+ /** Opens the Mediation Debugger, an integration screen intended for development and QA builds. Resolves false if the SDK is not initialized. */
14
+ showMediationDebugger(): Promise<boolean>;
13
15
  /** Checks whether the current device is a tablet. */
14
16
  isTablet(): Promise<boolean>;
15
17
  /** Returns the native SDK version string. */
@@ -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;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,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;IAEhD,2EAA2E;IAC3E,OAAO,CAAC,aAAa,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjF;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE,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;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,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,gJAAgJ;IAChJ,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C,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;IAEhD,2EAA2E;IAC3E,OAAO,CAAC,aAAa,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjF;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE,CAAC"}
@@ -0,0 +1,114 @@
1
+ import type { ViewProps } from 'react-native';
2
+ import type { CloudXAdDisplayFailedInfo, CloudXAdInfo } from './AdInfo';
3
+ import type { CloudXAdProps } from './AdProps';
4
+ import type { CloudXExtraParameterValue } from './ExtraParameters';
5
+ /**
6
+ * Built-in native ad template variants rendered by the SDK's view component.
7
+ *
8
+ * All four variants have a distinct bundled layout on both iOS and Android,
9
+ * and unknown values fall back to `MEDIUM` on both.
10
+ *
11
+ * On both platforms this prop selects the **local layout only**. Neither
12
+ * bid request carries the selection, so the server sizes the creative's
13
+ * assets for `medium` whatever is chosen here:
14
+ *
15
+ * - iOS: `CLXNativeAdLoader` builds its publisher with
16
+ * `CLXNativeTemplateDefault`, which is `CLXNativeTemplateMedium`.
17
+ * `CLXBidSignals` would thread a non-default template, but the loader
18
+ * never supplies one.
19
+ * - Android: `BidSignalsProvider` writes `nativeRequirements.template`
20
+ * as a fixed `"medium"`, pending a public template-selection API.
21
+ *
22
+ * A creative rendered in a non-`MEDIUM` layout therefore carries assets cut
23
+ * for `MEDIUM` — most visible with `VERTICAL_MEDIA`, the full-screen shape.
24
+ * Tracked as CXD-5385.
25
+ */
26
+ export declare enum CloudXNativeTemplate {
27
+ /** 320x90 compact template: icon, title, advertiser, CTA. */
28
+ SMALL = "small_template",
29
+ /** 320x250 template. */
30
+ MEDIUM = "medium_template",
31
+ /** 320x300 media-forward template. */
32
+ MEDIA_BANNER = "media_banner_template",
33
+ /**
34
+ * Full-screen vertical template sized to the available bounds.
35
+ * Intended for feed-style vertical experiences. Bundled layout on both
36
+ * iOS and Android.
37
+ */
38
+ VERTICAL_MEDIA = "vertical_media_template"
39
+ }
40
+ /**
41
+ * Type-safe asset identifiers for custom native-ad binding.
42
+ */
43
+ export declare enum CloudXNativeAssetType {
44
+ TITLE = "TitleView",
45
+ ADVERTISER = "AdvertiserView",
46
+ BODY = "BodyView",
47
+ CALL_TO_ACTION = "CallToActionView",
48
+ ICON = "IconView",
49
+ OPTIONS = "OptionsView",
50
+ MEDIA = "MediaView",
51
+ STAR_RATING = "StarRatingView"
52
+ }
53
+ /**
54
+ * Structured metadata for a single loaded native ad.
55
+ *
56
+ * Surfaced on the `onAdLoaded` callback as `CloudXAdInfo.nativeAd`.
57
+ */
58
+ export type CloudXNativeAdMetadata = {
59
+ title?: string | null;
60
+ advertiser?: string | null;
61
+ body?: string | null;
62
+ callToAction?: string | null;
63
+ starRating?: number | null;
64
+ mediaContentAspectRatio?: number;
65
+ isIconImageAvailable: boolean;
66
+ isOptionsViewAvailable: boolean;
67
+ isMediaViewAvailable: boolean;
68
+ url?: string | null;
69
+ imageSource?: string | null;
70
+ isVideoContent: boolean;
71
+ videoDuration: number;
72
+ isExpired: boolean;
73
+ };
74
+ export type CloudXLocalExtraParameters = {
75
+ [key: string]: CloudXExtraParameterValue;
76
+ };
77
+ /**
78
+ * Props for the native-ad view component.
79
+ *
80
+ * Callbacks inherited from {@link CloudXAdProps} (`onAdLoaded`, `onAdLoadFailed`,
81
+ * `onAdClicked`, `onAdRevenuePaid`) receive unwrapped payloads, not synthetic events.
82
+ */
83
+ export type CloudXNativeAdViewProps = CloudXAdProps & ViewProps & {
84
+ template?: CloudXNativeTemplate;
85
+ localExtraParameters?: CloudXLocalExtraParameters;
86
+ disableVideoFullScreen?: boolean;
87
+ startVideoUnmuted?: boolean;
88
+ hideVideoMediaControls?: boolean;
89
+ /** Selects between the SDK's bundled template layouts and manual asset binding. */
90
+ renderMode?: 'template' | 'manual';
91
+ /**
92
+ * Called when a loaded ad subsequently fails to display or track.
93
+ *
94
+ * Emitted on both platforms. Android fires it for post-load
95
+ * adapter/render errors and when click/impression registration fails in
96
+ * manual mode. iOS fires it on the three manual-mode failure paths:
97
+ * render requested before load, expired ad, and registration refused.
98
+ */
99
+ onAdDisplayFailed?: (errorInfo: CloudXAdDisplayFailedInfo) => void;
100
+ onAdExpired?: (adInfo: CloudXAdInfo) => void;
101
+ onAdClosed?: (adInfo: CloudXAdInfo) => void;
102
+ };
103
+ export type CloudXNativeAdViewHandle = {
104
+ /**
105
+ * Requests a load. This does NOT force a new auction: both native SDKs
106
+ * re-serve the ad they already hold while it is neither expired nor
107
+ * destroyed, including after its impression. Changed targeting is
108
+ * therefore not picked up. Call `destroyAd()` first for a fresh ad.
109
+ */
110
+ loadAd: () => void;
111
+ /** Releases the native ad and its resources. */
112
+ destroyAd: () => void;
113
+ };
114
+ //# sourceMappingURL=NativeAd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeAd.d.ts","sourceRoot":"","sources":["../../../../src/types/NativeAd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,oBAAY,oBAAoB;IAC5B,6DAA6D;IAC7D,KAAK,mBAAmB;IAExB,wBAAwB;IACxB,MAAM,oBAAoB;IAE1B,sCAAsC;IACtC,YAAY,0BAA0B;IAEtC;;;;OAIG;IACH,cAAc,4BAA4B;CAC7C;AAED;;GAEG;AACH,oBAAY,qBAAqB;IAC7B,KAAK,cAAc;IACnB,UAAU,mBAAmB;IAC7B,IAAI,aAAa;IACjB,cAAc,qBAAqB;IACnC,IAAI,aAAa;IACjB,OAAO,gBAAgB;IACvB,KAAK,cAAc;IACnB,WAAW,mBAAmB;CACjC;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACtB,CAAC;AAIF,MAAM,MAAM,0BAA0B,GAAG;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAC;CAC5C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAC/C,SAAS,GAAG;IACR,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mFAAmF;IACnF,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACnC;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACnE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEN,MAAM,MAAM,wBAAwB,GAAG;IACnC;;;;;OAKG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,gDAAgD;IAChD,SAAS,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC"}
@@ -14,4 +14,6 @@ export type { CloudXMRECAdType } from './MRECAd';
14
14
  export type { CloudXAdProps } from './AdProps';
15
15
  export type { CloudXAdEventObject, CloudXAdEventListener } from './AdEvent';
16
16
  export type { CloudXExtraParameterValue, CloudXExtraParameters } from './ExtraParameters';
17
+ export type { CloudXNativeAdMetadata, CloudXNativeAdViewHandle, CloudXNativeAdViewProps, CloudXLocalExtraParameters, } from './NativeAd';
18
+ export { CloudXNativeTemplate, CloudXNativeAssetType } from './NativeAd';
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACpH,YAAY,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvF,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAChE,YAAY,EACR,gBAAgB,EAChB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC9E,YAAY,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAChH,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC5E,YAAY,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACpH,YAAY,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvF,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAChE,YAAY,EACR,gBAAgB,EAChB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC9E,YAAY,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAChH,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC5E,YAAY,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,YAAY,EACR,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,GAC7B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Polls CloudX SDK initialization state and caches the result module-wide.
3
+ *
4
+ * Shared by `CloudXAdViewBase` (banner/MREC) and `CloudXNativeAdView` so
5
+ * every in-tree ad-view component gates native-view creation on SDK
6
+ * initialization identically: a view mounted before `CloudX.initialize()`
7
+ * completes would create its native ad against an uninitialized SDK, which
8
+ * on iOS returns nil and leaves the view permanently dead (no retry, no
9
+ * load-failed event). There is no init event to subscribe to, so poll
10
+ * `isInitialized()` until ready.
11
+ *
12
+ * @param componentName Used only in the console warnings, so callers can
13
+ * tell which component is waiting on initialization.
14
+ */
15
+ export declare const useCloudXSdkInitializationGate: (componentName: string) => boolean;
16
+ //# sourceMappingURL=useCloudXSdkInitialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCloudXSdkInitialization.d.ts","sourceRoot":"","sources":["../../../src/useCloudXSdkInitialization.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,8BAA8B,GAAI,eAAe,MAAM,KAAG,OA+CtE,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const PLUGIN_VERSION = "3.8.0";
1
+ export declare const PLUGIN_VERSION = "3.10.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cloudx-react-native",
3
- "version": "3.8.0",
3
+ "version": "3.10.1",
4
4
  "description": "React Native wrapper for CloudX SDK (iOS & Android)",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/CloudX.ts CHANGED
@@ -13,6 +13,10 @@ const initialize = (appKey: string): Promise<CloudXInitializationResult> => {
13
13
  return NativeCloudX.initialize(PLUGIN_VERSION, appKey);
14
14
  };
15
15
 
16
+ const showMediationDebugger = (): Promise<boolean> => {
17
+ return NativeCloudX.showMediationDebugger();
18
+ };
19
+
16
20
  const isTablet = (): Promise<boolean> => {
17
21
  return NativeCloudX.isTablet();
18
22
  };
@@ -64,6 +68,7 @@ const reportRevenueData = (data: CloudXRevenueData): Promise<boolean> => {
64
68
  export const CloudX: CloudXType = {
65
69
  isInitialized,
66
70
  initialize,
71
+ showMediationDebugger,
67
72
  isTablet,
68
73
  getVersion,
69
74
  setMinLogLevel,
@@ -2,15 +2,13 @@ import React, { useEffect, useMemo, useState } from 'react';
2
2
  import { View } from 'react-native';
3
3
  import type { NativeSyntheticEvent, StyleProp, ViewProps, ViewStyle } from 'react-native';
4
4
  import NativeCloudXAdView from './specs/CloudXAdViewNativeComponent';
5
- import type {
6
- CloudXAdInfoEvent,
7
- CloudXAdLoadFailedEvent,
8
- NativeExtraParameterEntry,
9
- } from './specs/CloudXAdViewNativeComponent';
5
+ import type { CloudXAdInfoEvent, CloudXAdLoadFailedEvent } from './specs/CloudXAdViewNativeComponent';
10
6
  import NativeCloudX from './specs/NativeCloudX';
11
7
  import type { CloudXAdInfo, CloudXAdLoadFailedInfo } from './types/AdInfo';
12
8
  import type { CloudXAdProps } from './types/AdProps';
13
9
  import type { CloudXErrorCode } from './CloudXErrorCode';
10
+ import { toNativeExtraParameterEntries } from './extraParameters';
11
+ import { useCloudXSdkInitializationGate } from './useCloudXSdkInitialization';
14
12
 
15
13
  /**
16
14
  * Ad format rendered by the in-tree view component.
@@ -40,14 +38,6 @@ const AD_SIZE = {
40
38
  */
41
39
  let cachedIsTablet: boolean | null = null;
42
40
 
43
- /*
44
- * Once the SDK reports initialized it stays initialized for the JS VM's life,
45
- * so cache it module-wide: only the first ad view mounted before init has to
46
- * poll + show a placeholder; every later mount renders the native view
47
- * immediately. Mirrors cachedIsTablet above.
48
- */
49
- let cachedIsInitialized = false;
50
-
51
41
  const parseAdValues = (json?: string | null): Record<string, string> => {
52
42
  if (!json) {
53
43
  return {};
@@ -66,6 +56,7 @@ const toAdInfo = (event: CloudXAdInfoEvent): CloudXAdInfo => ({
66
56
  networkName: event.networkName,
67
57
  networkPlacement: event.networkPlacement || null,
68
58
  placement: event.placement || null,
59
+ creativeId: event.creativeId || null,
69
60
  revenue: event.revenue ?? 0,
70
61
  adValues: parseAdValues(event.adValuesJson),
71
62
  });
@@ -76,69 +67,6 @@ const toLoadFailedInfo = (event: CloudXAdLoadFailedEvent): CloudXAdLoadFailedInf
76
67
  message: event.message || null,
77
68
  });
78
69
 
79
- const warnIgnoredUndefinedExtraParameter = (keyPath: string): void => {
80
- console.warn(
81
- `CloudXAdView ignored extra parameter "${keyPath}" because ` +
82
- 'undefined values are not supported. Use null when a value is intentional.'
83
- );
84
- };
85
-
86
- const normalizeExtraParameterValue = (
87
- keyPath: string,
88
- value: unknown
89
- ): NativeExtraParameterEntry['value'] | undefined => {
90
- if (value === undefined) {
91
- warnIgnoredUndefinedExtraParameter(keyPath);
92
- return undefined;
93
- }
94
-
95
- if (Array.isArray(value)) {
96
- return value.reduce<unknown[]>((items, item, index) => {
97
- const normalized = normalizeExtraParameterValue(`${keyPath}[${index}]`, item);
98
- if (normalized !== undefined) {
99
- items.push(normalized);
100
- }
101
- return items;
102
- }, []);
103
- }
104
-
105
- if (value !== null && typeof value === 'object') {
106
- return Object.entries(value as Record<string, unknown>).reduce<Record<string, unknown>>(
107
- (object, [childKey, childValue]) => {
108
- const normalized = normalizeExtraParameterValue(`${keyPath}.${childKey}`, childValue);
109
- if (normalized !== undefined) {
110
- object[childKey] = normalized;
111
- }
112
- return object;
113
- },
114
- {}
115
- );
116
- }
117
-
118
- return value;
119
- };
120
-
121
- const toNativeExtraParameterEntries = (
122
- extraParameters?: CloudXAdProps['extraParameters']
123
- ): ReadonlyArray<NativeExtraParameterEntry> => {
124
- if (!extraParameters) {
125
- return [];
126
- }
127
-
128
- return Object.entries(extraParameters as Record<string, unknown>).reduce<NativeExtraParameterEntry[]>(
129
- (entries, [key, value]) => {
130
- const normalizedValue = normalizeExtraParameterValue(key, value);
131
- if (normalizedValue === undefined) {
132
- return entries;
133
- }
134
-
135
- entries.push({ key, value: normalizedValue });
136
- return entries;
137
- },
138
- []
139
- );
140
- };
141
-
142
70
  /**
143
71
  * Shared implementation for the in-tree banner/MREC view component. Resolves a
144
72
  * default fixed size (overridable via `style`), wires the native per-view direct
@@ -174,56 +102,12 @@ export const CloudXAdViewBase: React.FC<CloudXAdViewBaseProps> = ({
174
102
  * Gate native ad-view creation on SDK initialization. A view mounted before
175
103
  * CloudX.initialize() completes would create the ad against an uninitialized
176
104
  * SDK — on iOS createBannerWithAdUnitId: returns nil and the view is
177
- * permanently dead (no retry, no load-failed event). There is no init event
178
- * to subscribe to, so poll isInitialized() until ready, then mount the
179
- * native view (which is what delivers adUnitId/adFormat and triggers create).
180
- * Mirrors CloudXNativeAdView. Cached module-wide so only the first pre-init
181
- * mount pays the placeholder + poll.
105
+ * permanently dead (no retry, no load-failed event). Shared with
106
+ * CloudXNativeAdView via useCloudXSdkInitializationGate: cached module-wide
107
+ * so only the first pre-init mount across any ad-view type pays the
108
+ * placeholder + poll.
182
109
  */
183
- const [isInitialized, setIsInitialized] = useState(cachedIsInitialized);
184
-
185
- useEffect(() => {
186
- if (cachedIsInitialized) {
187
- return;
188
- }
189
- let cancelled = false;
190
- let timer: ReturnType<typeof setTimeout> | undefined;
191
- let warnedOnce = false;
192
- const check = () => {
193
- NativeCloudX.isInitialized()
194
- .then((ready) => {
195
- if (cancelled) {
196
- return;
197
- }
198
- if (ready) {
199
- cachedIsInitialized = true;
200
- setIsInitialized(true);
201
- return;
202
- }
203
- if (!warnedOnce) {
204
- warnedOnce = true;
205
- console.warn(
206
- 'CloudXAdView mounted before CloudX SDK initialization; will render once initialize() completes.'
207
- );
208
- }
209
- timer = setTimeout(check, 1000);
210
- })
211
- .catch((error) => {
212
- if (cancelled) {
213
- return;
214
- }
215
- console.warn('CloudXAdView failed to read initialization state:', error);
216
- timer = setTimeout(check, 1000);
217
- });
218
- };
219
- check();
220
- return () => {
221
- cancelled = true;
222
- if (timer) {
223
- clearTimeout(timer);
224
- }
225
- };
226
- }, []);
110
+ const isInitialized = useCloudXSdkInitializationGate('CloudXAdView');
227
111
 
228
112
  useEffect(() => {
229
113
  if (adFormat !== 'BANNER' || cachedIsTablet !== null) {
@@ -74,6 +74,9 @@ export enum CloudXErrorCode {
74
74
  /** Ad failed to load. */
75
75
  LOAD_FAILED = 304,
76
76
 
77
+ /** `load` was rejected because the per-ad-unit concurrent load cap was reached. Wait for an in-flight load to terminate or raise the cap. */
78
+ LOAD_REJECTED_CONCURRENCY = 305,
79
+
77
80
  // AD DISPLAY / SHOW (400-499)
78
81
 
79
82
  /** Ad is not ready to be shown. */