cloudx-react-native 2.0.0-beta.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 (171) hide show
  1. package/LICENSE +57 -0
  2. package/README.md +1258 -0
  3. package/android/build.gradle +78 -0
  4. package/android/gradle.properties +7 -0
  5. package/android/src/main/AndroidManifest.xml +7 -0
  6. package/android/src/main/java/com/cloudxreactnative/CloudXAdViewEvent.kt +15 -0
  7. package/android/src/main/java/com/cloudxreactnative/CloudXBannerViewManagerImpl.kt +472 -0
  8. package/android/src/main/java/com/cloudxreactnative/CloudXReactNativeModuleImpl.kt +861 -0
  9. package/android/src/newarch/com/cloudxreactnative/CloudXBannerViewManager.kt +90 -0
  10. package/android/src/newarch/com/cloudxreactnative/CloudXReactNativeModule.kt +73 -0
  11. package/android/src/newarch/com/cloudxreactnative/CloudXReactNativePackage.kt +37 -0
  12. package/android/src/oldarch/com/cloudxreactnative/CloudXBannerViewManager.kt +76 -0
  13. package/android/src/oldarch/com/cloudxreactnative/CloudXReactNativeModule.kt +73 -0
  14. package/android/src/oldarch/com/cloudxreactnative/CloudXReactNativePackage.kt +16 -0
  15. package/cloudx-react-native.podspec +46 -0
  16. package/ios/AppTrackingTransparency.h +13 -0
  17. package/ios/AppTrackingTransparency.mm +59 -0
  18. package/ios/RNCloudXBannerView.h +51 -0
  19. package/ios/RNCloudXBannerView.mm +633 -0
  20. package/ios/RNCloudXBannerViewManager.h +11 -0
  21. package/ios/RNCloudXBannerViewManager.mm +60 -0
  22. package/ios/RNCloudXModule.h +30 -0
  23. package/ios/RNCloudXModule.mm +1088 -0
  24. package/lib/commonjs/AdView.js +151 -0
  25. package/lib/commonjs/AdView.js.map +1 -0
  26. package/lib/commonjs/AppTrackingTransparency.js +62 -0
  27. package/lib/commonjs/AppTrackingTransparency.js.map +1 -0
  28. package/lib/commonjs/BannerAd.js +117 -0
  29. package/lib/commonjs/BannerAd.js.map +1 -0
  30. package/lib/commonjs/CloudX.js +49 -0
  31. package/lib/commonjs/CloudX.js.map +1 -0
  32. package/lib/commonjs/ErrorCode.js +116 -0
  33. package/lib/commonjs/ErrorCode.js.map +1 -0
  34. package/lib/commonjs/EventEmitter.js +44 -0
  35. package/lib/commonjs/EventEmitter.js.map +1 -0
  36. package/lib/commonjs/InterstitialAd.js +94 -0
  37. package/lib/commonjs/InterstitialAd.js.map +1 -0
  38. package/lib/commonjs/MRecAd.js +117 -0
  39. package/lib/commonjs/MRecAd.js.map +1 -0
  40. package/lib/commonjs/RewardedAd.js +103 -0
  41. package/lib/commonjs/RewardedAd.js.map +1 -0
  42. package/lib/commonjs/hooks.js +239 -0
  43. package/lib/commonjs/hooks.js.map +1 -0
  44. package/lib/commonjs/index.js +144 -0
  45. package/lib/commonjs/index.js.map +1 -0
  46. package/lib/commonjs/specs/CloudXAdViewNativeComponent.js +26 -0
  47. package/lib/commonjs/specs/CloudXAdViewNativeComponent.js.map +1 -0
  48. package/lib/commonjs/specs/NativeCloudXModule.js +18 -0
  49. package/lib/commonjs/specs/NativeCloudXModule.js.map +1 -0
  50. package/lib/commonjs/types/AdEvent.js +6 -0
  51. package/lib/commonjs/types/AdEvent.js.map +1 -0
  52. package/lib/commonjs/types/AdInfo.js +6 -0
  53. package/lib/commonjs/types/AdInfo.js.map +1 -0
  54. package/lib/commonjs/types/BannerAd.js +6 -0
  55. package/lib/commonjs/types/BannerAd.js.map +1 -0
  56. package/lib/commonjs/types/CloudX.js +6 -0
  57. package/lib/commonjs/types/CloudX.js.map +1 -0
  58. package/lib/commonjs/types/Configuration.js +2 -0
  59. package/lib/commonjs/types/Configuration.js.map +1 -0
  60. package/lib/commonjs/types/FullscreenAd.js +6 -0
  61. package/lib/commonjs/types/FullscreenAd.js.map +1 -0
  62. package/lib/commonjs/types/RewardedAd.js +6 -0
  63. package/lib/commonjs/types/RewardedAd.js.map +1 -0
  64. package/lib/commonjs/types/index.js +2 -0
  65. package/lib/commonjs/types/index.js.map +1 -0
  66. package/lib/module/AdView.js +144 -0
  67. package/lib/module/AdView.js.map +1 -0
  68. package/lib/module/AppTrackingTransparency.js +55 -0
  69. package/lib/module/AppTrackingTransparency.js.map +1 -0
  70. package/lib/module/BannerAd.js +110 -0
  71. package/lib/module/BannerAd.js.map +1 -0
  72. package/lib/module/CloudX.js +42 -0
  73. package/lib/module/CloudX.js.map +1 -0
  74. package/lib/module/ErrorCode.js +110 -0
  75. package/lib/module/ErrorCode.js.map +1 -0
  76. package/lib/module/EventEmitter.js +35 -0
  77. package/lib/module/EventEmitter.js.map +1 -0
  78. package/lib/module/InterstitialAd.js +87 -0
  79. package/lib/module/InterstitialAd.js.map +1 -0
  80. package/lib/module/MRecAd.js +110 -0
  81. package/lib/module/MRecAd.js.map +1 -0
  82. package/lib/module/RewardedAd.js +96 -0
  83. package/lib/module/RewardedAd.js.map +1 -0
  84. package/lib/module/hooks.js +230 -0
  85. package/lib/module/hooks.js.map +1 -0
  86. package/lib/module/index.js +33 -0
  87. package/lib/module/index.js.map +1 -0
  88. package/lib/module/specs/CloudXAdViewNativeComponent.js +20 -0
  89. package/lib/module/specs/CloudXAdViewNativeComponent.js.map +1 -0
  90. package/lib/module/specs/NativeCloudXModule.js +14 -0
  91. package/lib/module/specs/NativeCloudXModule.js.map +1 -0
  92. package/lib/module/types/AdEvent.js +2 -0
  93. package/lib/module/types/AdEvent.js.map +1 -0
  94. package/lib/module/types/AdInfo.js +2 -0
  95. package/lib/module/types/AdInfo.js.map +1 -0
  96. package/lib/module/types/BannerAd.js +2 -0
  97. package/lib/module/types/BannerAd.js.map +1 -0
  98. package/lib/module/types/CloudX.js +2 -0
  99. package/lib/module/types/CloudX.js.map +1 -0
  100. package/lib/module/types/Configuration.js +2 -0
  101. package/lib/module/types/Configuration.js.map +1 -0
  102. package/lib/module/types/FullscreenAd.js +2 -0
  103. package/lib/module/types/FullscreenAd.js.map +1 -0
  104. package/lib/module/types/RewardedAd.js +2 -0
  105. package/lib/module/types/RewardedAd.js.map +1 -0
  106. package/lib/module/types/index.js +2 -0
  107. package/lib/module/types/index.js.map +1 -0
  108. package/lib/typescript/src/AdView.d.ts +69 -0
  109. package/lib/typescript/src/AdView.d.ts.map +1 -0
  110. package/lib/typescript/src/AppTrackingTransparency.d.ts +28 -0
  111. package/lib/typescript/src/AppTrackingTransparency.d.ts.map +1 -0
  112. package/lib/typescript/src/BannerAd.d.ts +4 -0
  113. package/lib/typescript/src/BannerAd.d.ts.map +1 -0
  114. package/lib/typescript/src/CloudX.d.ts +4 -0
  115. package/lib/typescript/src/CloudX.d.ts.map +1 -0
  116. package/lib/typescript/src/ErrorCode.d.ts +102 -0
  117. package/lib/typescript/src/ErrorCode.d.ts.map +1 -0
  118. package/lib/typescript/src/EventEmitter.d.ts +16 -0
  119. package/lib/typescript/src/EventEmitter.d.ts.map +1 -0
  120. package/lib/typescript/src/InterstitialAd.d.ts +4 -0
  121. package/lib/typescript/src/InterstitialAd.d.ts.map +1 -0
  122. package/lib/typescript/src/MRecAd.d.ts +4 -0
  123. package/lib/typescript/src/MRecAd.d.ts.map +1 -0
  124. package/lib/typescript/src/RewardedAd.d.ts +4 -0
  125. package/lib/typescript/src/RewardedAd.d.ts.map +1 -0
  126. package/lib/typescript/src/hooks.d.ts +50 -0
  127. package/lib/typescript/src/hooks.d.ts.map +1 -0
  128. package/lib/typescript/src/index.d.ts +23 -0
  129. package/lib/typescript/src/index.d.ts.map +1 -0
  130. package/lib/typescript/src/specs/CloudXAdViewNativeComponent.d.ts +61 -0
  131. package/lib/typescript/src/specs/CloudXAdViewNativeComponent.d.ts.map +1 -0
  132. package/lib/typescript/src/specs/NativeCloudXModule.d.ts +106 -0
  133. package/lib/typescript/src/specs/NativeCloudXModule.d.ts.map +1 -0
  134. package/lib/typescript/src/types/AdEvent.d.ts +10 -0
  135. package/lib/typescript/src/types/AdEvent.d.ts.map +1 -0
  136. package/lib/typescript/src/types/AdInfo.d.ts +48 -0
  137. package/lib/typescript/src/types/AdInfo.d.ts.map +1 -0
  138. package/lib/typescript/src/types/BannerAd.d.ts +39 -0
  139. package/lib/typescript/src/types/BannerAd.d.ts.map +1 -0
  140. package/lib/typescript/src/types/CloudX.d.ts +25 -0
  141. package/lib/typescript/src/types/CloudX.d.ts.map +1 -0
  142. package/lib/typescript/src/types/Configuration.d.ts +10 -0
  143. package/lib/typescript/src/types/Configuration.d.ts.map +1 -0
  144. package/lib/typescript/src/types/FullscreenAd.d.ts +29 -0
  145. package/lib/typescript/src/types/FullscreenAd.d.ts.map +1 -0
  146. package/lib/typescript/src/types/RewardedAd.d.ts +10 -0
  147. package/lib/typescript/src/types/RewardedAd.d.ts.map +1 -0
  148. package/lib/typescript/src/types/index.d.ts +8 -0
  149. package/lib/typescript/src/types/index.d.ts.map +1 -0
  150. package/package.json +78 -0
  151. package/src/AdView.tsx +213 -0
  152. package/src/AppTrackingTransparency.ts +56 -0
  153. package/src/BannerAd.ts +133 -0
  154. package/src/CloudX.ts +55 -0
  155. package/src/ErrorCode.ts +157 -0
  156. package/src/EventEmitter.ts +38 -0
  157. package/src/InterstitialAd.ts +103 -0
  158. package/src/MRecAd.ts +133 -0
  159. package/src/RewardedAd.ts +113 -0
  160. package/src/hooks.ts +292 -0
  161. package/src/index.ts +50 -0
  162. package/src/specs/CloudXAdViewNativeComponent.ts +82 -0
  163. package/src/specs/NativeCloudXModule.ts +162 -0
  164. package/src/types/AdEvent.ts +11 -0
  165. package/src/types/AdInfo.ts +60 -0
  166. package/src/types/BannerAd.ts +59 -0
  167. package/src/types/CloudX.ts +33 -0
  168. package/src/types/Configuration.ts +10 -0
  169. package/src/types/FullscreenAd.ts +39 -0
  170. package/src/types/RewardedAd.ts +10 -0
  171. package/src/types/index.ts +7 -0
@@ -0,0 +1,230 @@
1
+ /**
2
+ * React Hooks for CloudX SDK.
3
+ *
4
+ * Provides declarative hooks for managing fullscreen and banner ad lifecycles.
5
+ * These are a CloudX-specific convenience layer on top of the static module APIs.
6
+ */
7
+
8
+ import { useEffect, useState, useCallback, useRef } from 'react';
9
+ import { NativeEventEmitter } from 'react-native';
10
+ import NativeCloudXModule from './specs/NativeCloudXModule';
11
+ const emitter = new NativeEventEmitter(NativeCloudXModule);
12
+ const {
13
+ ON_INTERSTITIAL_LOADED_EVENT,
14
+ ON_INTERSTITIAL_LOAD_FAILED_EVENT,
15
+ ON_INTERSTITIAL_DISPLAY_FAILED_EVENT,
16
+ ON_INTERSTITIAL_HIDDEN_EVENT,
17
+ ON_REWARDED_AD_LOADED_EVENT,
18
+ ON_REWARDED_AD_LOAD_FAILED_EVENT,
19
+ ON_REWARDED_AD_DISPLAY_FAILED_EVENT,
20
+ ON_REWARDED_AD_HIDDEN_EVENT,
21
+ ON_REWARDED_AD_RECEIVED_REWARD_EVENT,
22
+ ON_BANNER_AD_LOADED_EVENT,
23
+ ON_BANNER_AD_LOAD_FAILED_EVENT
24
+ } = NativeCloudXModule.getConstants();
25
+
26
+ // ---------------------------------------------------------------------------
27
+ // useCloudXInterstitial
28
+ // ---------------------------------------------------------------------------
29
+
30
+ /**
31
+ * Hook for managing an interstitial ad lifecycle.
32
+ *
33
+ * @param adUnitId - The ad unit identifier.
34
+ */
35
+ export function useCloudXInterstitial(adUnitId) {
36
+ const [isLoaded, setIsLoaded] = useState(false);
37
+ const [isLoading, setIsLoading] = useState(false);
38
+ const [error, setError] = useState(null);
39
+ const mountedRef = useRef(true);
40
+ useEffect(() => {
41
+ mountedRef.current = true;
42
+ const subs = [];
43
+ subs.push(emitter.addListener(ON_INTERSTITIAL_LOADED_EVENT, event => {
44
+ if (event.adUnitId === adUnitId && mountedRef.current) {
45
+ setIsLoaded(true);
46
+ setIsLoading(false);
47
+ setError(null);
48
+ }
49
+ }));
50
+ subs.push(emitter.addListener(ON_INTERSTITIAL_LOAD_FAILED_EVENT, event => {
51
+ if (event.adUnitId === adUnitId && mountedRef.current) {
52
+ setIsLoaded(false);
53
+ setIsLoading(false);
54
+ setError(event.message ?? 'Failed to load');
55
+ }
56
+ }));
57
+ subs.push(emitter.addListener(ON_INTERSTITIAL_DISPLAY_FAILED_EVENT, event => {
58
+ if (event.adUnitId === adUnitId && mountedRef.current) {
59
+ setIsLoaded(false);
60
+ setError(event.message ?? 'Display failed');
61
+ }
62
+ }));
63
+ subs.push(emitter.addListener(ON_INTERSTITIAL_HIDDEN_EVENT, event => {
64
+ if (event.adUnitId === adUnitId && mountedRef.current) {
65
+ setIsLoaded(false);
66
+ }
67
+ }));
68
+ return () => {
69
+ mountedRef.current = false;
70
+ subs.forEach(s => s.remove());
71
+ NativeCloudXModule.destroyInterstitial(adUnitId);
72
+ };
73
+ }, [adUnitId]);
74
+ const load = useCallback(() => {
75
+ setIsLoading(true);
76
+ setError(null);
77
+ NativeCloudXModule.loadInterstitial(adUnitId);
78
+ }, [adUnitId]);
79
+ const show = useCallback((placement, customData) => {
80
+ if (!isLoaded) {
81
+ setError('Ad not loaded');
82
+ return;
83
+ }
84
+ NativeCloudXModule.showInterstitial(adUnitId, placement ?? undefined, customData ?? undefined);
85
+ }, [adUnitId, isLoaded]);
86
+ const destroy = useCallback(() => {
87
+ NativeCloudXModule.destroyInterstitial(adUnitId);
88
+ setIsLoaded(false);
89
+ setIsLoading(false);
90
+ setError(null);
91
+ }, [adUnitId]);
92
+ return {
93
+ isLoaded,
94
+ isLoading,
95
+ error,
96
+ load,
97
+ show,
98
+ destroy
99
+ };
100
+ }
101
+
102
+ // ---------------------------------------------------------------------------
103
+ // useCloudXRewarded
104
+ // ---------------------------------------------------------------------------
105
+
106
+ /**
107
+ * Hook for managing a rewarded ad lifecycle.
108
+ *
109
+ * @param adUnitId - The ad unit identifier.
110
+ */
111
+ export function useCloudXRewarded(adUnitId) {
112
+ const [isLoaded, setIsLoaded] = useState(false);
113
+ const [isLoading, setIsLoading] = useState(false);
114
+ const [error, setError] = useState(null);
115
+ const [rewardEarned, setRewardEarned] = useState(false);
116
+ const mountedRef = useRef(true);
117
+ useEffect(() => {
118
+ mountedRef.current = true;
119
+ const subs = [];
120
+ subs.push(emitter.addListener(ON_REWARDED_AD_LOADED_EVENT, event => {
121
+ if (event.adUnitId === adUnitId && mountedRef.current) {
122
+ setIsLoaded(true);
123
+ setIsLoading(false);
124
+ setError(null);
125
+ }
126
+ }));
127
+ subs.push(emitter.addListener(ON_REWARDED_AD_LOAD_FAILED_EVENT, event => {
128
+ if (event.adUnitId === adUnitId && mountedRef.current) {
129
+ setIsLoaded(false);
130
+ setIsLoading(false);
131
+ setError(event.message ?? 'Failed to load');
132
+ }
133
+ }));
134
+ subs.push(emitter.addListener(ON_REWARDED_AD_DISPLAY_FAILED_EVENT, event => {
135
+ if (event.adUnitId === adUnitId && mountedRef.current) {
136
+ setIsLoaded(false);
137
+ setError(event.message ?? 'Display failed');
138
+ }
139
+ }));
140
+ subs.push(emitter.addListener(ON_REWARDED_AD_HIDDEN_EVENT, event => {
141
+ if (event.adUnitId === adUnitId && mountedRef.current) {
142
+ setIsLoaded(false);
143
+ }
144
+ }));
145
+ subs.push(emitter.addListener(ON_REWARDED_AD_RECEIVED_REWARD_EVENT, event => {
146
+ if (event.adUnitId === adUnitId && mountedRef.current) {
147
+ setRewardEarned(true);
148
+ }
149
+ }));
150
+ return () => {
151
+ mountedRef.current = false;
152
+ subs.forEach(s => s.remove());
153
+ NativeCloudXModule.destroyRewarded(adUnitId);
154
+ };
155
+ }, [adUnitId]);
156
+ const load = useCallback(() => {
157
+ setIsLoading(true);
158
+ setError(null);
159
+ setRewardEarned(false);
160
+ NativeCloudXModule.loadRewarded(adUnitId);
161
+ }, [adUnitId]);
162
+ const show = useCallback((placement, customData) => {
163
+ if (!isLoaded) {
164
+ setError('Ad not loaded');
165
+ return;
166
+ }
167
+ NativeCloudXModule.showRewarded(adUnitId, placement ?? undefined, customData ?? undefined);
168
+ }, [adUnitId, isLoaded]);
169
+ const destroy = useCallback(() => {
170
+ NativeCloudXModule.destroyRewarded(adUnitId);
171
+ setIsLoaded(false);
172
+ setIsLoading(false);
173
+ setError(null);
174
+ setRewardEarned(false);
175
+ }, [adUnitId]);
176
+ return {
177
+ isLoaded,
178
+ isLoading,
179
+ error,
180
+ rewardEarned,
181
+ load,
182
+ show,
183
+ destroy
184
+ };
185
+ }
186
+
187
+ // ---------------------------------------------------------------------------
188
+ // useCloudXBanner
189
+ // ---------------------------------------------------------------------------
190
+
191
+ /**
192
+ * Hook for listening to programmatic banner ad state.
193
+ *
194
+ * Subscribes to module-level banner events for a given adUnitId.
195
+ * Use with the programmatic BannerAd.createAd() API.
196
+ * For the <AdView> component, use its callback props (onAdLoaded, etc.) directly.
197
+ *
198
+ * @param adUnitId - The ad unit identifier.
199
+ */
200
+ export function useCloudXBanner(adUnitId) {
201
+ const [isLoaded, setIsLoaded] = useState(false);
202
+ const [error, setError] = useState(null);
203
+ const mountedRef = useRef(true);
204
+ useEffect(() => {
205
+ mountedRef.current = true;
206
+ const subs = [];
207
+ subs.push(emitter.addListener(ON_BANNER_AD_LOADED_EVENT, event => {
208
+ if (event.adUnitId === adUnitId && mountedRef.current) {
209
+ setIsLoaded(true);
210
+ setError(null);
211
+ }
212
+ }));
213
+ subs.push(emitter.addListener(ON_BANNER_AD_LOAD_FAILED_EVENT, event => {
214
+ if (event.adUnitId === adUnitId && mountedRef.current) {
215
+ setIsLoaded(false);
216
+ setError(event.message ?? 'Failed to load');
217
+ }
218
+ }));
219
+ return () => {
220
+ mountedRef.current = false;
221
+ subs.forEach(s => s.remove());
222
+ NativeCloudXModule.destroyBanner(adUnitId);
223
+ };
224
+ }, [adUnitId]);
225
+ return {
226
+ isLoaded,
227
+ error
228
+ };
229
+ }
230
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","useCallback","useRef","NativeEventEmitter","NativeCloudXModule","emitter","ON_INTERSTITIAL_LOADED_EVENT","ON_INTERSTITIAL_LOAD_FAILED_EVENT","ON_INTERSTITIAL_DISPLAY_FAILED_EVENT","ON_INTERSTITIAL_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","useCloudXRewarded","rewardEarned","setRewardEarned","destroyRewarded","loadRewarded","showRewarded","useCloudXBanner","destroyBanner"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ // Core SDK
2
+ export { default, CloudX } from './CloudX';
3
+ export { default as NativeCloudXModule } from './specs/NativeCloudXModule';
4
+
5
+ // Ad Modules
6
+ export { InterstitialAd } from './InterstitialAd';
7
+ export { RewardedAd } from './RewardedAd';
8
+ export { BannerAd } from './BannerAd';
9
+ export { MRecAd } from './MRecAd';
10
+
11
+ // AdView Component
12
+ export { AdView, AdFormat, AdViewPosition } from './AdView';
13
+ // Error Codes
14
+ export { ErrorCode } from './ErrorCode';
15
+
16
+ // App Tracking Transparency (iOS)
17
+ export { requestTrackingAuthorization, getTrackingAuthorizationStatus, ATTStatus } from './AppTrackingTransparency';
18
+
19
+ // Hooks
20
+ export { useCloudXInterstitial, useCloudXRewarded, useCloudXBanner } from './hooks';
21
+
22
+ // Types
23
+
24
+ // Log level constants
25
+ export const LogLevel = {
26
+ VERBOSE: 'verbose',
27
+ DEBUG: 'debug',
28
+ INFO: 'info',
29
+ WARN: 'warn',
30
+ ERROR: 'error',
31
+ NONE: 'none'
32
+ };
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","CloudX","NativeCloudXModule","InterstitialAd","RewardedAd","BannerAd","MRecAd","AdView","AdFormat","AdViewPosition","ErrorCode","requestTrackingAuthorization","getTrackingAuthorizationStatus","ATTStatus","useCloudXInterstitial","useCloudXRewarded","useCloudXBanner","LogLevel","VERBOSE","DEBUG","INFO","WARN","ERROR","NONE"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA,SAASA,OAAO,EAAEC,MAAM,QAAQ,UAAU;AAC1C,SAASD,OAAO,IAAIE,kBAAkB,QAAQ,4BAA4B;;AAE1E;AACA,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,MAAM,QAAQ,UAAU;;AAEjC;AACA,SAASC,MAAM,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,UAAU;AAG3D;AACA,SAASC,SAAS,QAAQ,aAAa;;AAEvC;AACA,SAASC,4BAA4B,EAAEC,8BAA8B,EAAEC,SAAS,QAAQ,2BAA2B;;AAEnH;AACA,SAASC,qBAAqB,EAAEC,iBAAiB,EAAEC,eAAe,QAAQ,SAAS;;AAGnF;;AAeA;AACA,OAAO,MAAMC,QAAQ,GAAG;EACpBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE;AACV,CAAU","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
2
+ import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
3
+
4
+ /**
5
+ * Ad info event payload from native.
6
+ */
7
+
8
+ /**
9
+ * Ad error event payload from native.
10
+ */
11
+
12
+ /**
13
+ * Props for CloudXAdView native component.
14
+ */
15
+
16
+ export const Commands = codegenNativeCommands({
17
+ supportedCommands: ['loadAd', 'destroy']
18
+ });
19
+ export default codegenNativeComponent('CloudXAdView');
20
+ //# sourceMappingURL=CloudXAdViewNativeComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["codegenNativeComponent","codegenNativeCommands","Commands","supportedCommands"],"sourceRoot":"../../../src","sources":["specs/CloudXAdViewNativeComponent.ts"],"mappings":"AAEA,OAAOA,sBAAsB,MAAM,yDAAyD;AAC5F,OAAOC,qBAAqB,MAAM,wDAAwD;;AAE1F;AACA;AACA;;AAUA;AACA;AACA;;AAOA;AACA;AACA;;AAiDA,OAAO,MAAMC,QAAQ,GAAGD,qBAAqB,CAAiB;EAC1DE,iBAAiB,EAAE,CAAC,QAAQ,EAAE,SAAS;AAC3C,CAAC,CAAC;AAEF,eAAeH,sBAAsB,CAAc,cAAc,CAAC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { TurboModuleRegistry } from 'react-native';
2
+
3
+ /**
4
+ * TurboModule spec for the CloudX native module.
5
+ *
6
+ * This spec defines every native method exposed to JavaScript.
7
+ * Codegen uses this to produce type-safe native bindings.
8
+ *
9
+ * All methods correspond 1-to-1 with public APIs in the native iOS SDK
10
+ * (CloudXCore 2.1.0-beta) and the native Android SDK.
11
+ */
12
+
13
+ export default TurboModuleRegistry.getEnforcing('CloudXModule');
14
+ //# sourceMappingURL=NativeCloudXModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeCloudXModule.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsJA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AdEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/AdEvent.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AdInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/AdInfo.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BannerAd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/BannerAd.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CloudX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/CloudX.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=Configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/Configuration.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FullscreenAd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/FullscreenAd.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RewardedAd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/RewardedAd.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ import React from 'react';
2
+ import type { ViewProps } from 'react-native';
3
+ import type { AdInfo, AdLoadFailedInfo } from './types/AdInfo';
4
+ /**
5
+ * Ad format for the AdView component.
6
+ */
7
+ export declare enum AdFormat {
8
+ BANNER = "BANNER",
9
+ MREC = "MREC"
10
+ }
11
+ /**
12
+ * Position constants for programmatic ad placement.
13
+ */
14
+ export declare enum AdViewPosition {
15
+ TOP_LEFT = "top_left",
16
+ TOP_CENTER = "top_center",
17
+ TOP_RIGHT = "top_right",
18
+ CENTER_LEFT = "center_left",
19
+ CENTERED = "centered",
20
+ CENTER_RIGHT = "center_right",
21
+ BOTTOM_LEFT = "bottom_left",
22
+ BOTTOM_CENTER = "bottom_center",
23
+ BOTTOM_RIGHT = "bottom_right"
24
+ }
25
+ /**
26
+ * Props for the AdView component.
27
+ */
28
+ export type AdViewProps = {
29
+ /** The ad unit ID. */
30
+ adUnitId: string;
31
+ /** The ad format: BANNER or MREC. */
32
+ adFormat: AdFormat;
33
+ /** Placement name for reporting. */
34
+ placement?: string | null;
35
+ /** Custom data string. */
36
+ customData?: string | null;
37
+ /** Whether to automatically refresh. Defaults to true. */
38
+ autoRefresh?: boolean;
39
+ /** Whether to load the ad on mount. Defaults to true. */
40
+ loadOnMount?: boolean;
41
+ /** Position for programmatic window-level placement. When set, the banner
42
+ * is removed from React layout and added to the app window at the given position. */
43
+ adPosition?: AdViewPosition | null;
44
+ /** Callbacks */
45
+ onAdLoaded?: (adInfo: AdInfo) => void;
46
+ onAdLoadFailed?: (errorInfo: AdLoadFailedInfo) => void;
47
+ onAdClicked?: (adInfo: AdInfo) => void;
48
+ onAdExpanded?: (adInfo: AdInfo) => void;
49
+ onAdCollapsed?: (adInfo: AdInfo) => void;
50
+ onAdRevenuePaid?: (adInfo: AdInfo) => void;
51
+ };
52
+ /**
53
+ * Imperative handle exposed via ref for AdView control.
54
+ */
55
+ export type AdViewHandler = {
56
+ loadAd: () => void;
57
+ destroy: () => void;
58
+ };
59
+ /**
60
+ * React component for displaying CloudX banner or MREC ads.
61
+ *
62
+ * - **Banners**: 320×50 on phones, 728×90 on tablets.
63
+ * - **MRECs**: Fixed 300×250 on all devices.
64
+ *
65
+ * Supports both programmatic control via ref and declarative props.
66
+ */
67
+ export declare const AdView: React.ForwardRefExoticComponent<AdViewProps & ViewProps & React.RefAttributes<AdViewHandler>>;
68
+ export default AdView;
69
+ //# sourceMappingURL=AdView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdView.d.ts","sourceRoot":"","sources":["../../../src/AdView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoF,MAAM,OAAO,CAAC;AACzG,OAAO,KAAK,EAAwB,SAAS,EAAE,MAAM,cAAc,CAAC;AAKpE,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE/D;;GAEG;AACH,oBAAY,QAAQ;IAChB,MAAM,WAAW;IACjB,IAAI,SAAS;CAChB;AAED;;GAEG;AACH,oBAAY,cAAc;IACtB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;CAChC;AAUD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACtB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IAEjB,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;IAEnB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,yDAAyD;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;0FACsF;IACtF,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAEnC,gBAAgB;IAChB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AASF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,+FAiHjB,CAAC;AAEH,eAAe,MAAM,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * App Tracking Transparency (ATT) module for iOS 14+.
3
+ *
4
+ * Provides methods to request and check tracking authorization status.
5
+ * On Android or iOS < 14, these methods return safe defaults.
6
+ */
7
+ /**
8
+ * ATT authorization status values.
9
+ */
10
+ export declare enum ATTStatus {
11
+ AUTHORIZED = "authorized",
12
+ DENIED = "denied",
13
+ RESTRICTED = "restricted",
14
+ NOT_DETERMINED = "not_determined",
15
+ NOT_REQUIRED = "not_required"
16
+ }
17
+ /**
18
+ * Requests App Tracking Transparency permission (iOS 14+).
19
+ *
20
+ * On iOS 14+, this shows the system ATT permission dialog.
21
+ * On iOS < 14 or Android, returns ATTStatus.NOT_REQUIRED.
22
+ */
23
+ export declare function requestTrackingAuthorization(): Promise<ATTStatus>;
24
+ /**
25
+ * Gets the current tracking authorization status without showing a dialog.
26
+ */
27
+ export declare function getTrackingAuthorizationStatus(): Promise<ATTStatus>;
28
+ //# sourceMappingURL=AppTrackingTransparency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppTrackingTransparency.d.ts","sourceRoot":"","sources":["../../../src/AppTrackingTransparency.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,oBAAY,SAAS;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;CAChC;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,SAAS,CAAC,CAWvE;AAED;;GAEG;AACH,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,SAAS,CAAC,CAWzE"}
@@ -0,0 +1,4 @@
1
+ import type { BannerAdType } from './types/BannerAd';
2
+ export declare const BannerAd: BannerAdType;
3
+ export default BannerAd;
4
+ //# sourceMappingURL=BannerAd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BannerAd.d.ts","sourceRoot":"","sources":["../../../src/BannerAd.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AAsGzE,eAAO,MAAM,QAAQ,EAAE,YA0BtB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CloudXType } from './types/CloudX';
2
+ export declare const CloudX: CloudXType;
3
+ export default CloudX;
4
+ //# sourceMappingURL=CloudX.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudX.d.ts","sourceRoot":"","sources":["../../../src/CloudX.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA0CjD,eAAO,MAAM,MAAM,EAAE,UAUpB,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Error codes for CloudX SDK — values match the native CLXErrorCode (iOS)
3
+ * and CloudXErrorCode (Android) enumerations exactly.
4
+ *
5
+ * Code ranges:
6
+ * 0-99 General errors
7
+ * 100-199 Network and connectivity errors
8
+ * 200-299 SDK initialization errors
9
+ * 300-399 Ad request / loading errors
10
+ * 400-499 Ad display / presentation errors
11
+ * 500-599 Configuration / setup errors
12
+ * 600-699 Adapter-level errors
13
+ */
14
+ export declare enum ErrorCode {
15
+ /** An internal error occurred. */
16
+ INTERNAL_ERROR = 0,
17
+ /** General network error. */
18
+ NETWORK_ERROR = 100,
19
+ /** Network request timed out. */
20
+ NETWORK_TIMEOUT = 101,
21
+ /** Server error (5xx). */
22
+ SERVER_ERROR = 102,
23
+ /** Client error (4xx). */
24
+ CLIENT_ERROR = 103,
25
+ /** Rate limited (429). */
26
+ TOO_MANY_REQUESTS = 104,
27
+ /** Invalid or unparseable server response. */
28
+ INVALID_RESPONSE = 105,
29
+ /** No network connectivity. */
30
+ NO_CONNECTION = 106,
31
+ /** SDK is not initialized. Call CloudX.initialize() first. */
32
+ NOT_INITIALIZED = 200,
33
+ /** No ad adapters/networks found. */
34
+ NO_ADAPTERS_FOUND = 201,
35
+ /** No ad networks configured for this app. */
36
+ NO_NETWORKS_CONFIGURED = 202,
37
+ /** Invalid app key provided. */
38
+ INVALID_APP_KEY = 203,
39
+ /** SDK disabled by server configuration. */
40
+ SDK_DISABLED = 204,
41
+ /** Invalid ad unit ID. */
42
+ INVALID_AD_UNIT = 300,
43
+ /** Ads disabled for this ad unit. */
44
+ ADS_DISABLED = 301,
45
+ /** No ad available (no fill). */
46
+ NO_FILL = 302,
47
+ /** Ad failed to load. */
48
+ LOAD_FAILED = 304,
49
+ /** Ad is not ready to be shown. */
50
+ AD_NOT_READY = 400,
51
+ /** Another fullscreen ad is already showing. */
52
+ AD_ALREADY_SHOWING = 401,
53
+ /** Android "Don't keep activities" setting is enabled (Android only). */
54
+ DONT_KEEP_ACTIVITIES_ENABLED = 402,
55
+ /** Native view is nil or invalid. */
56
+ INVALID_NATIVE_VIEW = 500,
57
+ /** Internal error in an ad network adapter. */
58
+ ADAPTER_INTERNAL_ERROR = 600,
59
+ /** Adapter returned no fill. */
60
+ ADAPTER_NO_FILL = 601,
61
+ /** Adapter reported an invalid load state. */
62
+ ADAPTER_INVALID_LOAD_STATE = 602,
63
+ /** Adapter has an invalid configuration. */
64
+ ADAPTER_INVALID_CONFIGURATION = 603,
65
+ /** Adapter received invalid server extras. */
66
+ ADAPTER_INVALID_SERVER_EXTRAS = 604,
67
+ /** Adapter rejected the ad request. */
68
+ ADAPTER_BAD_REQUEST = 605,
69
+ /** Adapter is not initialized. */
70
+ ADAPTER_NOT_INITIALIZED = 606,
71
+ /** Adapter failed to initialize. */
72
+ ADAPTER_INITIALIZATION_ERROR = 607,
73
+ /** Adapter ad is not ready. */
74
+ ADAPTER_AD_NOT_READY = 608,
75
+ /** Adapter load timed out. */
76
+ ADAPTER_LOAD_TIMEOUT = 609,
77
+ /** Adapter operation timed out. */
78
+ ADAPTER_TIMEOUT = 610,
79
+ /** Adapter has no network connection. */
80
+ ADAPTER_NO_CONNECTION = 611,
81
+ /** Adapter server error. */
82
+ ADAPTER_SERVER_ERROR = 612,
83
+ /** Adapter bid token request timed out. */
84
+ ADAPTER_BID_TOKEN_TIMEOUT = 613,
85
+ /** Adapter does not support bid tokens. */
86
+ ADAPTER_BID_TOKEN_NOT_SUPPORTED = 614,
87
+ /** Adapter encountered a WebView error. */
88
+ ADAPTER_WEBVIEW_ERROR = 615,
89
+ /** Adapter ad has expired. */
90
+ ADAPTER_AD_EXPIRED = 616,
91
+ /** Adapter ad is frequency capped. */
92
+ ADAPTER_AD_FREQUENCY_CAPPED = 617,
93
+ /** Adapter reward error. */
94
+ ADAPTER_REWARD_ERROR = 618,
95
+ /** Adapter is missing native ad assets. */
96
+ ADAPTER_MISSING_NATIVE_AD_ASSETS = 619,
97
+ /** Adapter is missing the required activity (Android) or view controller (iOS). */
98
+ ADAPTER_MISSING_VIEW_CONTROLLER = 620,
99
+ /** Adapter failed to display the ad. */
100
+ ADAPTER_DISPLAY_FAILED = 621
101
+ }
102
+ //# sourceMappingURL=ErrorCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorCode.d.ts","sourceRoot":"","sources":["../../../src/ErrorCode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,oBAAY,SAAS;IAGjB,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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Manages CloudX ad event listeners using a shared NativeEventEmitter.
3
+ * Ensures only one active subscription per event type at any given time,
4
+ * following the singleton listener pattern.
5
+ */
6
+ import type { AdEventObject, AdEventListener } from './types/AdEvent';
7
+ /**
8
+ * Subscribes to a specific ad event.
9
+ * If a listener already exists for the event, it will be replaced.
10
+ */
11
+ export declare const addEventListener: <T extends AdEventObject>(event: string, handler: AdEventListener<T>) => void;
12
+ /**
13
+ * Unsubscribes from a specific ad event, if a listener exists.
14
+ */
15
+ export declare const removeEventListener: (event: string) => void;
16
+ //# sourceMappingURL=EventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../../../src/EventEmitter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAOtE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,aAAa,EAAE,OAAO,MAAM,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,KAAG,IAOtG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,IAMnD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FullscreenAdType } from './types/FullscreenAd';
2
+ export declare const InterstitialAd: FullscreenAdType;
3
+ export default InterstitialAd;
4
+ //# sourceMappingURL=InterstitialAd.d.ts.map