react-native-daro 1.0.13 → 1.0.16

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 (262) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +30 -30
  3. package/android/build.gradle +52 -59
  4. package/android/src/admob/java/com/daro/reactnative/DaroSdkBridge.kt +23 -0
  5. package/android/src/main/AndroidManifest.xml +1 -2
  6. package/android/src/main/java/com/{darom → daro/reactnative}/DaroMAdBannerViewManager.kt +38 -15
  7. package/android/src/main/java/com/daro/reactnative/DaroMAdNativeViewManager.kt +167 -0
  8. package/android/src/main/java/com/daro/reactnative/DaroMModule.kt +257 -0
  9. package/android/src/main/java/com/daro/reactnative/DaroMPackage.kt +45 -0
  10. package/android/src/main/java/com/daro/reactnative/DaroMediaViewManager.kt +25 -0
  11. package/android/src/main/java/com/{darom → daro/reactnative}/constants/InternalDaroMBannerSize.kt +1 -1
  12. package/android/src/main/java/com/{darom → daro/reactnative}/event/DaroMEvent.kt +19 -8
  13. package/android/src/main/java/com/{darom → daro/reactnative}/impl/DaroMBannerViewModuleImpl.kt +2 -2
  14. package/android/src/main/java/com/{darom → daro/reactnative}/impl/DaroMInterstitialModuleImpl.kt +26 -26
  15. package/android/src/main/java/com/{darom → daro/reactnative}/impl/DaroMLightPopupModuleImpl.kt +30 -29
  16. package/android/src/main/java/com/{darom → daro/reactnative}/impl/DaroMRewardedAdModuleImpl.kt +27 -27
  17. package/android/src/main/java/com/{darom → daro/reactnative}/util/AdInfoUtil.kt +25 -1
  18. package/android/src/main/java/com/daro/reactnative/util/EventEmitterUtil.kt +37 -0
  19. package/android/src/main/java/com/daro/reactnative/view/DaroMAdBannerViewContainer.kt +417 -0
  20. package/android/src/main/java/com/daro/reactnative/view/DaroMAdNativeViewContainer.kt +624 -0
  21. package/android/src/main/java/com/daro/reactnative/view/DaroMediaView.kt +123 -0
  22. package/android/src/newarch/java/com/daro/reactnative/DaroMModuleSpec.kt +6 -0
  23. package/android/src/oldarch/java/com/daro/reactnative/DaroMModuleSpec.kt +90 -0
  24. package/app.plugin.js +1 -0
  25. package/ios/DaroMModule+AppOpen.swift +38 -32
  26. package/ios/DaroMModule+Interstitial.swift +32 -26
  27. package/ios/DaroMModule+LightPopup.swift +43 -33
  28. package/ios/DaroMModule+Rewarded.swift +38 -27
  29. package/ios/DaroMModule.mm +45 -17
  30. package/ios/DaroMModule.swift +24 -17
  31. package/ios/Fabric/DaroMAdBannerComponentView.mm +207 -0
  32. package/ios/Fabric/DaroMFabricEventSink.mm +31 -0
  33. package/ios/Fabric/DaroMFabricPropApplier.mm +123 -0
  34. package/ios/Fabric/DaroMNativeAdComponentView.mm +294 -0
  35. package/ios/{DaroMAdBannerViewManager.m → Paper/DaroMAdBannerViewManager.m} +3 -1
  36. package/ios/Paper/DaroMAdBannerViewManager.swift +21 -0
  37. package/ios/{DaroMNativeAdViewManager.m → Paper/DaroMNativeAdViewManager.m} +2 -1
  38. package/ios/Paper/DaroMNativeAdViewManager.swift +22 -0
  39. package/ios/Shared/DaroMAdEventSink.swift +24 -0
  40. package/ios/Shared/DaroMBannerAdView.swift +188 -0
  41. package/ios/Shared/DaroMNativeAdLoadCoordinator.swift +49 -0
  42. package/ios/Shared/DaroMNativeAdView.swift +575 -0
  43. package/ios/Shared/DaroMNativeAssetResolver.swift +53 -0
  44. package/ios/mediation/admob/DaroMediationDebugger.swift +11 -0
  45. package/ios/mediation/admob/DaroMediationTypes.swift +23 -0
  46. package/lib/commonjs/AdBannerView.js +21 -35
  47. package/lib/commonjs/AdBannerView.js.map +1 -1
  48. package/lib/commonjs/AppOpenAd.js +80 -21
  49. package/lib/commonjs/AppOpenAd.js.map +1 -1
  50. package/lib/commonjs/DaroMAdBannerViewNativeComponent.ts +47 -0
  51. package/lib/commonjs/DaroMNativeAdViewNativeComponent.ts +62 -0
  52. package/lib/commonjs/DaroMediaViewNativeComponent.ts +9 -0
  53. package/lib/commonjs/ErrorCode.js.map +1 -1
  54. package/lib/commonjs/EventEmitter.js +4 -5
  55. package/lib/commonjs/EventEmitter.js.map +1 -1
  56. package/lib/commonjs/InterstitialAd.js +48 -22
  57. package/lib/commonjs/InterstitialAd.js.map +1 -1
  58. package/lib/commonjs/LightPopupAd.js +64 -46
  59. package/lib/commonjs/LightPopupAd.js.map +1 -1
  60. package/lib/commonjs/NativeDaroModule.js +9 -0
  61. package/lib/commonjs/NativeDaroModule.js.map +1 -0
  62. package/lib/commonjs/RewardedAd.js +47 -23
  63. package/lib/commonjs/RewardedAd.js.map +1 -1
  64. package/lib/commonjs/codegen-env.d.js +2 -0
  65. package/lib/commonjs/codegen-env.d.js.map +1 -0
  66. package/lib/commonjs/hooks/useInterstitialAd.js +110 -0
  67. package/lib/commonjs/hooks/useInterstitialAd.js.map +1 -0
  68. package/lib/commonjs/hooks/useLightPopupAd.js +114 -0
  69. package/lib/commonjs/hooks/useLightPopupAd.js.map +1 -0
  70. package/lib/commonjs/hooks/useRewardedAd.js +113 -0
  71. package/lib/commonjs/hooks/useRewardedAd.js.map +1 -0
  72. package/lib/commonjs/index.js +29 -13
  73. package/lib/commonjs/index.js.map +1 -1
  74. package/lib/commonjs/nativeAd/NativeAdView.js +23 -18
  75. package/lib/commonjs/nativeAd/NativeAdView.js.map +1 -1
  76. package/lib/commonjs/nativeAd/NativeAdViewComponents.js +43 -31
  77. package/lib/commonjs/nativeAd/NativeAdViewComponents.js.map +1 -1
  78. package/lib/commonjs/nativeAd/NativeAdViewProvider.js +34 -7
  79. package/lib/commonjs/nativeAd/NativeAdViewProvider.js.map +1 -1
  80. package/lib/commonjs/package.json +1 -0
  81. package/lib/module/AdBannerView.js +20 -36
  82. package/lib/module/AdBannerView.js.map +1 -1
  83. package/lib/module/AppOpenAd.js +80 -22
  84. package/lib/module/AppOpenAd.js.map +1 -1
  85. package/lib/module/DaroMAdBannerViewNativeComponent.ts +47 -0
  86. package/lib/module/DaroMNativeAdViewNativeComponent.ts +62 -0
  87. package/lib/module/DaroMediaViewNativeComponent.ts +9 -0
  88. package/lib/module/ErrorCode.js.map +1 -1
  89. package/lib/module/EventEmitter.js +4 -6
  90. package/lib/module/EventEmitter.js.map +1 -1
  91. package/lib/module/InterstitialAd.js +47 -22
  92. package/lib/module/InterstitialAd.js.map +1 -1
  93. package/lib/module/LightPopupAd.js +65 -47
  94. package/lib/module/LightPopupAd.js.map +1 -1
  95. package/lib/module/NativeDaroModule.js +5 -0
  96. package/lib/module/NativeDaroModule.js.map +1 -0
  97. package/lib/module/RewardedAd.js +46 -23
  98. package/lib/module/RewardedAd.js.map +1 -1
  99. package/lib/module/codegen-env.d.js +2 -0
  100. package/lib/module/codegen-env.d.js.map +1 -0
  101. package/lib/module/hooks/useInterstitialAd.js +106 -0
  102. package/lib/module/hooks/useInterstitialAd.js.map +1 -0
  103. package/lib/module/hooks/useLightPopupAd.js +110 -0
  104. package/lib/module/hooks/useLightPopupAd.js.map +1 -0
  105. package/lib/module/hooks/useRewardedAd.js +109 -0
  106. package/lib/module/hooks/useRewardedAd.js.map +1 -0
  107. package/lib/module/index.js +7 -13
  108. package/lib/module/index.js.map +1 -1
  109. package/lib/module/nativeAd/NativeAdView.js +22 -19
  110. package/lib/module/nativeAd/NativeAdView.js.map +1 -1
  111. package/lib/module/nativeAd/NativeAdViewComponents.js +45 -34
  112. package/lib/module/nativeAd/NativeAdViewComponents.js.map +1 -1
  113. package/lib/module/nativeAd/NativeAdViewProvider.js +35 -8
  114. package/lib/module/nativeAd/NativeAdViewProvider.js.map +1 -1
  115. package/lib/module/package.json +1 -0
  116. package/lib/typescript/commonjs/plugin/src/index.d.ts +19 -0
  117. package/lib/typescript/commonjs/plugin/src/index.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/plugin/src/skAdNetworkIds.d.ts +6 -0
  119. package/lib/typescript/commonjs/plugin/src/skAdNetworkIds.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/plugin/src/withAndroid.d.ts +8 -0
  121. package/lib/typescript/commonjs/plugin/src/withAndroid.d.ts.map +1 -0
  122. package/lib/typescript/commonjs/plugin/src/withIos.d.ts +8 -0
  123. package/lib/typescript/commonjs/plugin/src/withIos.d.ts.map +1 -0
  124. package/lib/typescript/commonjs/src/AdBannerView.d.ts +126 -4
  125. package/lib/typescript/commonjs/src/AdBannerView.d.ts.map +1 -1
  126. package/lib/typescript/commonjs/src/AppOpenAd.d.ts +6 -0
  127. package/lib/typescript/commonjs/src/AppOpenAd.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/src/DaroMAdBannerViewNativeComponent.d.ts +32 -0
  129. package/lib/typescript/commonjs/src/DaroMAdBannerViewNativeComponent.d.ts.map +1 -0
  130. package/lib/typescript/commonjs/src/DaroMNativeAdViewNativeComponent.d.ts +42 -0
  131. package/lib/typescript/commonjs/src/DaroMNativeAdViewNativeComponent.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/src/DaroMediaViewNativeComponent.d.ts +6 -0
  133. package/lib/typescript/commonjs/src/DaroMediaViewNativeComponent.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/src/ErrorCode.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/src/EventEmitter.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/src/InterstitialAd.d.ts +6 -0
  137. package/lib/typescript/commonjs/src/InterstitialAd.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/src/LightPopupAd.d.ts +6 -0
  139. package/lib/typescript/commonjs/src/LightPopupAd.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/src/NativeDaroModule.d.ts +61 -0
  141. package/lib/typescript/commonjs/src/NativeDaroModule.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/src/RewardedAd.d.ts +6 -0
  143. package/lib/typescript/commonjs/src/RewardedAd.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/src/hooks/useInterstitialAd.d.ts +19 -0
  145. package/lib/typescript/commonjs/src/hooks/useInterstitialAd.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/src/hooks/useLightPopupAd.d.ts +23 -0
  147. package/lib/typescript/commonjs/src/hooks/useLightPopupAd.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/src/hooks/useRewardedAd.d.ts +20 -0
  149. package/lib/typescript/commonjs/src/hooks/useRewardedAd.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/src/index.d.ts +7 -1
  151. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/src/nativeAd/NativeAdView.d.ts +125 -2
  153. package/lib/typescript/commonjs/src/nativeAd/NativeAdView.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/src/nativeAd/NativeAdViewProvider.d.ts +11 -5
  156. package/lib/typescript/commonjs/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -1
  157. package/lib/typescript/commonjs/src/types/AdBannerViewProps.d.ts +2 -2
  158. package/lib/typescript/commonjs/src/types/AdBannerViewProps.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/src/types/AdInfo.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/src/types/AdProps.d.ts +2 -2
  161. package/lib/typescript/commonjs/src/types/AdProps.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/src/types/DaroMMobileAds.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/src/types/NativeAdViewProps.d.ts +2 -0
  164. package/lib/typescript/commonjs/src/types/NativeAdViewProps.d.ts.map +1 -1
  165. package/lib/typescript/module/plugin/src/index.d.ts +19 -0
  166. package/lib/typescript/module/plugin/src/index.d.ts.map +1 -0
  167. package/lib/typescript/module/plugin/src/skAdNetworkIds.d.ts +6 -0
  168. package/lib/typescript/module/plugin/src/skAdNetworkIds.d.ts.map +1 -0
  169. package/lib/typescript/module/plugin/src/withAndroid.d.ts +8 -0
  170. package/lib/typescript/module/plugin/src/withAndroid.d.ts.map +1 -0
  171. package/lib/typescript/module/plugin/src/withIos.d.ts +8 -0
  172. package/lib/typescript/module/plugin/src/withIos.d.ts.map +1 -0
  173. package/lib/typescript/module/src/AdBannerView.d.ts +126 -4
  174. package/lib/typescript/module/src/AdBannerView.d.ts.map +1 -1
  175. package/lib/typescript/module/src/AppOpenAd.d.ts +6 -0
  176. package/lib/typescript/module/src/AppOpenAd.d.ts.map +1 -1
  177. package/lib/typescript/module/src/DaroMAdBannerViewNativeComponent.d.ts +32 -0
  178. package/lib/typescript/module/src/DaroMAdBannerViewNativeComponent.d.ts.map +1 -0
  179. package/lib/typescript/module/src/DaroMNativeAdViewNativeComponent.d.ts +42 -0
  180. package/lib/typescript/module/src/DaroMNativeAdViewNativeComponent.d.ts.map +1 -0
  181. package/lib/typescript/module/src/DaroMediaViewNativeComponent.d.ts +6 -0
  182. package/lib/typescript/module/src/DaroMediaViewNativeComponent.d.ts.map +1 -0
  183. package/lib/typescript/module/src/ErrorCode.d.ts.map +1 -1
  184. package/lib/typescript/module/src/EventEmitter.d.ts.map +1 -1
  185. package/lib/typescript/module/src/InterstitialAd.d.ts +6 -0
  186. package/lib/typescript/module/src/InterstitialAd.d.ts.map +1 -1
  187. package/lib/typescript/module/src/LightPopupAd.d.ts +6 -0
  188. package/lib/typescript/module/src/LightPopupAd.d.ts.map +1 -1
  189. package/lib/typescript/module/src/NativeDaroModule.d.ts +61 -0
  190. package/lib/typescript/module/src/NativeDaroModule.d.ts.map +1 -0
  191. package/lib/typescript/module/src/RewardedAd.d.ts +6 -0
  192. package/lib/typescript/module/src/RewardedAd.d.ts.map +1 -1
  193. package/lib/typescript/module/src/hooks/useInterstitialAd.d.ts +19 -0
  194. package/lib/typescript/module/src/hooks/useInterstitialAd.d.ts.map +1 -0
  195. package/lib/typescript/module/src/hooks/useLightPopupAd.d.ts +23 -0
  196. package/lib/typescript/module/src/hooks/useLightPopupAd.d.ts.map +1 -0
  197. package/lib/typescript/module/src/hooks/useRewardedAd.d.ts +20 -0
  198. package/lib/typescript/module/src/hooks/useRewardedAd.d.ts.map +1 -0
  199. package/lib/typescript/module/src/index.d.ts +7 -1
  200. package/lib/typescript/module/src/index.d.ts.map +1 -1
  201. package/lib/typescript/module/src/nativeAd/NativeAdView.d.ts +125 -2
  202. package/lib/typescript/module/src/nativeAd/NativeAdView.d.ts.map +1 -1
  203. package/lib/typescript/module/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -1
  204. package/lib/typescript/module/src/nativeAd/NativeAdViewProvider.d.ts +11 -5
  205. package/lib/typescript/module/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -1
  206. package/lib/typescript/module/src/types/AdBannerViewProps.d.ts +2 -2
  207. package/lib/typescript/module/src/types/AdBannerViewProps.d.ts.map +1 -1
  208. package/lib/typescript/module/src/types/AdInfo.d.ts.map +1 -1
  209. package/lib/typescript/module/src/types/AdProps.d.ts +2 -2
  210. package/lib/typescript/module/src/types/AdProps.d.ts.map +1 -1
  211. package/lib/typescript/module/src/types/DaroMMobileAds.d.ts.map +1 -1
  212. package/lib/typescript/module/src/types/NativeAdViewProps.d.ts +2 -0
  213. package/lib/typescript/module/src/types/NativeAdViewProps.d.ts.map +1 -1
  214. package/package.json +95 -105
  215. package/plugin/build/index.d.ts +18 -0
  216. package/plugin/build/index.js +71 -0
  217. package/plugin/build/skAdNetworkIds.d.ts +5 -0
  218. package/plugin/build/skAdNetworkIds.js +205 -0
  219. package/plugin/build/withAndroid.d.ts +7 -0
  220. package/plugin/build/withAndroid.js +222 -0
  221. package/plugin/build/withIos.d.ts +7 -0
  222. package/plugin/build/withIos.js +82 -0
  223. package/react-native-daro.podspec +28 -0
  224. package/src/AdBannerView.tsx +48 -48
  225. package/src/AppOpenAd.ts +101 -20
  226. package/src/DaroMAdBannerViewNativeComponent.ts +47 -0
  227. package/src/DaroMNativeAdViewNativeComponent.ts +62 -0
  228. package/src/DaroMediaViewNativeComponent.ts +9 -0
  229. package/src/ErrorCode.ts +1 -2
  230. package/src/EventEmitter.ts +9 -7
  231. package/src/InterstitialAd.ts +75 -21
  232. package/src/LightPopupAd.ts +90 -51
  233. package/src/NativeDaroModule.ts +91 -0
  234. package/src/RewardedAd.ts +72 -22
  235. package/src/codegen-env.d.ts +45 -0
  236. package/src/hooks/useInterstitialAd.ts +117 -0
  237. package/src/hooks/useLightPopupAd.ts +132 -0
  238. package/src/hooks/useRewardedAd.ts +122 -0
  239. package/src/index.tsx +21 -22
  240. package/src/nativeAd/NativeAdView.tsx +83 -45
  241. package/src/nativeAd/NativeAdViewComponents.tsx +129 -64
  242. package/src/nativeAd/NativeAdViewProvider.tsx +84 -16
  243. package/src/types/AdBannerViewProps.ts +11 -11
  244. package/src/types/AdInfo.ts +17 -17
  245. package/src/types/AdProps.ts +8 -9
  246. package/src/types/DaroMMobileAds.ts +3 -6
  247. package/src/types/NativeAdViewProps.ts +12 -5
  248. package/src/types/index.ts +1 -1
  249. package/android/gradle.properties +0 -5
  250. package/android/src/main/AndroidManifestNew.xml +0 -7
  251. package/android/src/main/java/com/darom/DaroMAdNativeViewManager.kt +0 -136
  252. package/android/src/main/java/com/darom/DaroMModule.kt +0 -203
  253. package/android/src/main/java/com/darom/DaroMPackage.kt +0 -21
  254. package/android/src/main/java/com/darom/util/EventEmitterUtil.kt +0 -24
  255. package/android/src/main/java/com/darom/view/DaroMAdBannerViewContainer.kt +0 -163
  256. package/android/src/main/java/com/darom/view/DaroMAdNativeViewContainer.kt +0 -375
  257. package/android/src/main/res/layout/layout_activity_transparent.xml +0 -7
  258. package/android/src/main/res/values/styles.xml +0 -11
  259. package/ios/DaroM-Bridging-Header.h +0 -6
  260. package/ios/DaroMAdBannerViewManager.swift +0 -91
  261. package/ios/DaroMNativeAdViewManager.swift +0 -291
  262. package/react-native-daro-m.podspec +0 -44
package/src/RewardedAd.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { NativeModules } from 'react-native';
2
1
  import {
3
2
  addEventListener,
4
3
  removeEventListener,
5
4
  AdEventEmitter,
6
5
  } from './EventEmitter';
6
+ import NativeDaroModule from './NativeDaroModule';
7
7
  import type {
8
8
  AdDisplayFailedInfo,
9
9
  AdInfo,
@@ -16,8 +16,6 @@ import {
16
16
  type RewardedAdEventPayloadMap,
17
17
  } from './types/AdEvent';
18
18
 
19
- const { DaroMModule } = NativeModules;
20
-
21
19
  const {
22
20
  ON_REWARDED_AD_LOADED_EVENT,
23
21
  ON_REWARDED_AD_LOAD_FAILED_EVENT,
@@ -27,7 +25,7 @@ const {
27
25
  ON_REWARDED_AD_HIDDEN_EVENT,
28
26
  ON_REWARDED_AD_RECEIVED_REWARD_EVENT,
29
27
  ON_REWARDED_AD_IMPRESSION_RECORDED,
30
- } = DaroMModule.getConstants();
28
+ } = NativeDaroModule.getConstants();
31
29
 
32
30
  const NATIVE_EVENT_BY_TYPE: Record<AdEventType | RewardedAdEventType, string> =
33
31
  {
@@ -42,24 +40,36 @@ const NATIVE_EVENT_BY_TYPE: Record<AdEventType | RewardedAdEventType, string> =
42
40
  };
43
41
 
44
42
  export class RewardedAd {
43
+ private static _nextRequestId = 1;
44
+ private static _legacyRequestIds = new Map<string, number>();
45
+ private static _legacyRequestIdSet = new Set<number>();
46
+
45
47
  private readonly eventEmitter = new AdEventEmitter();
46
48
 
47
- private constructor(private readonly adUnitId: string) {}
49
+ private constructor(
50
+ private readonly requestId: number,
51
+ private readonly adUnitId: string
52
+ ) {}
48
53
 
49
54
  static createForAdRequest(adUnitId: string): RewardedAd {
50
- return new RewardedAd(adUnitId);
55
+ const requestId = RewardedAd._nextRequestId++;
56
+ return new RewardedAd(requestId, adUnitId);
51
57
  }
52
58
 
53
59
  isAdReady(): Promise<boolean> {
54
- return DaroMModule.isRewardedAdReady(this.adUnitId);
60
+ return NativeDaroModule.isRewardedAdReady(this.requestId, this.adUnitId);
55
61
  }
56
62
 
57
63
  load(): void {
58
- DaroMModule.loadRewardedAd(this.adUnitId);
64
+ NativeDaroModule.loadRewardedAd(this.requestId, this.adUnitId);
59
65
  }
60
66
 
61
67
  show(customData?: string | null): void {
62
- DaroMModule.showRewardedAd(this.adUnitId, customData ?? null);
68
+ NativeDaroModule.showRewardedAd(
69
+ this.requestId,
70
+ this.adUnitId,
71
+ customData ?? null
72
+ );
63
73
  }
64
74
 
65
75
  addAdEventListener<T extends AdEventType | RewardedAdEventType>(
@@ -67,9 +77,9 @@ export class RewardedAd {
67
77
  listener: (info: RewardedAdEventPayloadMap[T]) => void
68
78
  ): () => void {
69
79
  const nativeEvent = NATIVE_EVENT_BY_TYPE[type];
70
- const adUnitId = this.adUnitId;
80
+ const requestId = this.requestId;
71
81
  return this.eventEmitter.addEventListener(nativeEvent, (payload: any) => {
72
- if (payload?.adUnitId !== undefined && payload.adUnitId !== adUnitId) {
82
+ if (payload?.requestId !== requestId) {
73
83
  return;
74
84
  }
75
85
  listener(payload);
@@ -82,24 +92,49 @@ export class RewardedAd {
82
92
 
83
93
  // ---- Deprecated static API (backward compatibility) ----
84
94
 
95
+ private static _getLegacyRequestId(adUnitId: string): number {
96
+ let requestId = RewardedAd._legacyRequestIds.get(adUnitId);
97
+ if (requestId === undefined) {
98
+ requestId = RewardedAd._nextRequestId++;
99
+ RewardedAd._legacyRequestIds.set(adUnitId, requestId);
100
+ RewardedAd._legacyRequestIdSet.add(requestId);
101
+ }
102
+ return requestId;
103
+ }
104
+
105
+ private static _addLegacyEventListener<T>(
106
+ event: string,
107
+ listener: (info: T) => void
108
+ ): void {
109
+ addEventListener(event, (payload: any) => {
110
+ if (!RewardedAd._legacyRequestIdSet.has(payload?.requestId)) {
111
+ return;
112
+ }
113
+ listener(payload);
114
+ });
115
+ }
116
+
85
117
  /** @deprecated `RewardedAd.createForAdRequest(adUnitId)` 인스턴스의 `isAdReady()`를 사용하세요. */
86
118
  static isAdReady(adUnitId: string): Promise<boolean> {
87
- return DaroMModule.isRewardedAdReady(adUnitId);
119
+ const requestId = RewardedAd._getLegacyRequestId(adUnitId);
120
+ return NativeDaroModule.isRewardedAdReady(requestId, adUnitId);
88
121
  }
89
122
 
90
123
  /** @deprecated `RewardedAd.createForAdRequest(adUnitId)` 인스턴스의 `load()`를 사용하세요. */
91
124
  static loadAd(adUnitId: string): void {
92
- DaroMModule.loadRewardedAd(adUnitId);
125
+ const requestId = RewardedAd._getLegacyRequestId(adUnitId);
126
+ NativeDaroModule.loadRewardedAd(requestId, adUnitId);
93
127
  }
94
128
 
95
129
  /** @deprecated `RewardedAd.createForAdRequest(adUnitId)` 인스턴스의 `show()`를 사용하세요. */
96
130
  static showAd(adUnitId: string, customData?: string | null): void {
97
- DaroMModule.showRewardedAd(adUnitId, customData ?? null);
131
+ const requestId = RewardedAd._getLegacyRequestId(adUnitId);
132
+ NativeDaroModule.showRewardedAd(requestId, adUnitId, customData ?? null);
98
133
  }
99
134
 
100
135
  /** @deprecated `addAdEventListener(AdEventType.LOADED, ...)`를 인스턴스에서 사용하세요. */
101
136
  static addAdLoadedEventListener(listener: (adInfo: AdInfo) => void): void {
102
- addEventListener(ON_REWARDED_AD_LOADED_EVENT, listener);
137
+ RewardedAd._addLegacyEventListener(ON_REWARDED_AD_LOADED_EVENT, listener);
103
138
  }
104
139
 
105
140
  /** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
@@ -111,7 +146,10 @@ export class RewardedAd {
111
146
  static addAdLoadFailedEventListener(
112
147
  listener: (errorInfo: AdLoadFailedInfo) => void
113
148
  ): void {
114
- addEventListener(ON_REWARDED_AD_LOAD_FAILED_EVENT, listener);
149
+ RewardedAd._addLegacyEventListener(
150
+ ON_REWARDED_AD_LOAD_FAILED_EVENT,
151
+ listener
152
+ );
115
153
  }
116
154
 
117
155
  /** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
@@ -121,7 +159,7 @@ export class RewardedAd {
121
159
 
122
160
  /** @deprecated `addAdEventListener(AdEventType.CLICKED, ...)`를 인스턴스에서 사용하세요. */
123
161
  static addAdClickedEventListener(listener: (adInfo: AdInfo) => void): void {
124
- addEventListener(ON_REWARDED_AD_CLICKED_EVENT, listener);
162
+ RewardedAd._addLegacyEventListener(ON_REWARDED_AD_CLICKED_EVENT, listener);
125
163
  }
126
164
 
127
165
  /** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
@@ -131,7 +169,10 @@ export class RewardedAd {
131
169
 
132
170
  /** @deprecated `addAdEventListener(AdEventType.DISPLAYED, ...)`를 인스턴스에서 사용하세요. */
133
171
  static addAdDisplayedEventListener(listener: (adInfo: AdInfo) => void): void {
134
- addEventListener(ON_REWARDED_AD_DISPLAYED_EVENT, listener);
172
+ RewardedAd._addLegacyEventListener(
173
+ ON_REWARDED_AD_DISPLAYED_EVENT,
174
+ listener
175
+ );
135
176
  }
136
177
 
137
178
  /** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
@@ -143,7 +184,10 @@ export class RewardedAd {
143
184
  static addAdFailedToDisplayEventListener(
144
185
  listener: (errorInfo: AdDisplayFailedInfo) => void
145
186
  ): void {
146
- addEventListener(ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT, listener);
187
+ RewardedAd._addLegacyEventListener(
188
+ ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT,
189
+ listener
190
+ );
147
191
  }
148
192
 
149
193
  /** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
@@ -153,7 +197,7 @@ export class RewardedAd {
153
197
 
154
198
  /** @deprecated `addAdEventListener(AdEventType.HIDDEN, ...)`를 인스턴스에서 사용하세요. */
155
199
  static addAdHiddenEventListener(listener: (adInfo: AdInfo) => void): void {
156
- addEventListener(ON_REWARDED_AD_HIDDEN_EVENT, listener);
200
+ RewardedAd._addLegacyEventListener(ON_REWARDED_AD_HIDDEN_EVENT, listener);
157
201
  }
158
202
 
159
203
  /** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
@@ -165,7 +209,10 @@ export class RewardedAd {
165
209
  static addAdImpressionRecordedListener(
166
210
  listener: (adInfo: AdInfo) => void
167
211
  ): void {
168
- addEventListener(ON_REWARDED_AD_IMPRESSION_RECORDED, listener);
212
+ RewardedAd._addLegacyEventListener(
213
+ ON_REWARDED_AD_IMPRESSION_RECORDED,
214
+ listener
215
+ );
169
216
  }
170
217
 
171
218
  /** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
@@ -177,7 +224,10 @@ export class RewardedAd {
177
224
  static addAdReceivedRewardEventListener(
178
225
  listener: (adInfo: AdRewardInfo) => void
179
226
  ): void {
180
- addEventListener(ON_REWARDED_AD_RECEIVED_REWARD_EVENT, listener);
227
+ RewardedAd._addLegacyEventListener(
228
+ ON_REWARDED_AD_RECEIVED_REWARD_EVENT,
229
+ listener
230
+ );
181
231
  }
182
232
 
183
233
  /** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
@@ -0,0 +1,45 @@
1
+ declare module 'react-native/Libraries/Types/CodegenTypes' {
2
+ import type { NativeSyntheticEvent } from 'react-native';
3
+
4
+ export type DirectEventHandler<
5
+ T,
6
+ PaperName extends string | never = never,
7
+ > = [PaperName] extends [never]
8
+ ? (event: NativeSyntheticEvent<T>) => void | Promise<void>
9
+ : (event: NativeSyntheticEvent<T>) => void | Promise<void>;
10
+ export type Int32 = number;
11
+ export type Double = number;
12
+ export type UnsafeObject = object;
13
+ export type UnsafeMixed = unknown;
14
+ export type WithDefault<Type, Value> = Type | (Value & never);
15
+ }
16
+
17
+ declare module 'react-native/Libraries/Utilities/codegenNativeCommands' {
18
+ export interface Options<T extends string> {
19
+ readonly supportedCommands: ReadonlyArray<T>;
20
+ }
21
+
22
+ function codegenNativeCommands<T extends object>(
23
+ options: Options<keyof T extends string ? keyof T : never>
24
+ ): T;
25
+
26
+ export default codegenNativeCommands;
27
+ }
28
+
29
+ declare module 'react-native/Libraries/Utilities/codegenNativeComponent' {
30
+ import type { HostComponent } from 'react-native';
31
+
32
+ export interface Options {
33
+ readonly interfaceOnly?: boolean | undefined;
34
+ readonly paperComponentName?: string | undefined;
35
+ readonly paperComponentNameDeprecated?: string | undefined;
36
+ readonly excludedPlatforms?: ReadonlyArray<'iOS' | 'android'> | undefined;
37
+ }
38
+
39
+ function codegenNativeComponent<Props extends object>(
40
+ componentName: string,
41
+ options?: Options
42
+ ): HostComponent<Props>;
43
+
44
+ export default codegenNativeComponent;
45
+ }
@@ -0,0 +1,117 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import { InterstitialAd } from '../InterstitialAd';
3
+ import { AdEventType } from '../types/AdEvent';
4
+ import type {
5
+ AdDisplayFailedInfo,
6
+ AdInfo,
7
+ AdLoadFailedInfo,
8
+ } from '../types/AdInfo';
9
+
10
+ export type UseInterstitialAdOptions = {
11
+ onLoaded?: (adInfo: AdInfo) => void;
12
+ onLoadFailed?: (error: AdLoadFailedInfo) => void;
13
+ onClicked?: (adInfo: AdInfo) => void;
14
+ onDisplayed?: (adInfo: AdInfo) => void;
15
+ onFailedToDisplay?: (error: AdDisplayFailedInfo) => void;
16
+ onHidden?: (adInfo: AdInfo) => void;
17
+ onImpressionRecorded?: (adInfo: AdInfo) => void;
18
+ };
19
+
20
+ export type UseInterstitialAdResult = {
21
+ isLoaded: boolean;
22
+ isLoading: boolean;
23
+ load: () => void;
24
+ show: () => void;
25
+ isAdReady: () => Promise<boolean>;
26
+ };
27
+
28
+ export function useInterstitialAd(
29
+ adUnitId: string | null,
30
+ options: UseInterstitialAdOptions = {}
31
+ ): UseInterstitialAdResult {
32
+ const adRef = useRef<InterstitialAd | null>(null);
33
+ const optionsRef = useRef(options);
34
+ optionsRef.current = options;
35
+ const [state, setState] = useState({
36
+ isLoaded: false,
37
+ isLoading: false,
38
+ });
39
+
40
+ const load = useCallback(() => {
41
+ if (!adUnitId) {
42
+ return;
43
+ }
44
+
45
+ const ad = adRef.current;
46
+ if (!ad) {
47
+ return;
48
+ }
49
+
50
+ setState({ isLoaded: false, isLoading: true });
51
+ ad.load();
52
+ }, [adUnitId]);
53
+
54
+ const show = useCallback(() => {
55
+ adRef.current?.show();
56
+ }, []);
57
+
58
+ const isAdReady = useCallback(async () => {
59
+ const isLoaded = (await adRef.current?.isAdReady()) ?? false;
60
+ setState((prevState) => ({ ...prevState, isLoaded }));
61
+ return isLoaded;
62
+ }, []);
63
+
64
+ useEffect(() => {
65
+ adRef.current?.removeAllListeners();
66
+ adRef.current = null;
67
+ setState({ isLoaded: false, isLoading: false });
68
+
69
+ if (!adUnitId) {
70
+ return;
71
+ }
72
+
73
+ const ad = InterstitialAd.createForAdRequest(adUnitId);
74
+ adRef.current = ad;
75
+
76
+ ad.addAdEventListener(AdEventType.LOADED, (info) => {
77
+ setState({ isLoaded: true, isLoading: false });
78
+ optionsRef.current.onLoaded?.(info);
79
+ });
80
+ ad.addAdEventListener(AdEventType.LOAD_FAILED, (error) => {
81
+ setState({ isLoaded: false, isLoading: false });
82
+ optionsRef.current.onLoadFailed?.(error);
83
+ });
84
+ ad.addAdEventListener(AdEventType.DISPLAYED, (info) => {
85
+ setState((prevState) => ({ ...prevState, isLoaded: false }));
86
+ optionsRef.current.onDisplayed?.(info);
87
+ });
88
+ ad.addAdEventListener(AdEventType.FAILED_TO_DISPLAY, (error) => {
89
+ setState({ isLoaded: false, isLoading: false });
90
+ optionsRef.current.onFailedToDisplay?.(error);
91
+ });
92
+ ad.addAdEventListener(AdEventType.HIDDEN, (info) => {
93
+ setState((prevState) => ({ ...prevState, isLoaded: false }));
94
+ optionsRef.current.onHidden?.(info);
95
+ });
96
+ ad.addAdEventListener(AdEventType.CLICKED, (info) => {
97
+ optionsRef.current.onClicked?.(info);
98
+ });
99
+ ad.addAdEventListener(AdEventType.IMPRESSION_RECORDED, (info) => {
100
+ optionsRef.current.onImpressionRecorded?.(info);
101
+ });
102
+
103
+ return () => {
104
+ ad.removeAllListeners();
105
+ if (adRef.current === ad) {
106
+ adRef.current = null;
107
+ }
108
+ };
109
+ }, [adUnitId]);
110
+
111
+ return {
112
+ ...state,
113
+ load,
114
+ show,
115
+ isAdReady,
116
+ };
117
+ }
@@ -0,0 +1,132 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import { LightPopupAd } from '../LightPopupAd';
3
+ import { AdEventType } from '../types/AdEvent';
4
+ import type {
5
+ AdDisplayFailedInfo,
6
+ AdInfo,
7
+ AdLoadFailedInfo,
8
+ } from '../types/AdInfo';
9
+ import type { LightPopupAdConfiguration } from '../types/LightPopupAd';
10
+
11
+ export type UseLightPopupAdOptions = {
12
+ onLoaded?: (adInfo: AdInfo) => void;
13
+ onLoadFailed?: (error: AdLoadFailedInfo) => void;
14
+ onClicked?: (adInfo: AdInfo) => void;
15
+ onDisplayed?: (adInfo: AdInfo) => void;
16
+ onFailedToDisplay?: (error: AdDisplayFailedInfo) => void;
17
+ onHidden?: (adInfo: AdInfo) => void;
18
+ onImpressionRecorded?: (adInfo: AdInfo) => void;
19
+ };
20
+
21
+ export type UseLightPopupAdLoadOptions = {
22
+ configuration?: LightPopupAdConfiguration;
23
+ };
24
+
25
+ export type UseLightPopupAdResult = {
26
+ isLoaded: boolean;
27
+ isLoading: boolean;
28
+ load: (options?: UseLightPopupAdLoadOptions) => void;
29
+ show: () => void;
30
+ isAdReady: () => Promise<boolean>;
31
+ };
32
+
33
+ export function useLightPopupAd(
34
+ adUnitId: string | null,
35
+ options: UseLightPopupAdOptions = {}
36
+ ): UseLightPopupAdResult {
37
+ const adRef = useRef<LightPopupAd | null>(null);
38
+ const optionsRef = useRef(options);
39
+ optionsRef.current = options;
40
+ const [state, setState] = useState({
41
+ isLoaded: false,
42
+ isLoading: false,
43
+ });
44
+
45
+ const createAd = useCallback(() => {
46
+ if (!adUnitId) {
47
+ return null;
48
+ }
49
+
50
+ adRef.current?.removeAllListeners();
51
+
52
+ const ad = LightPopupAd.createForAdRequest(adUnitId);
53
+ adRef.current = ad;
54
+
55
+ ad.addAdEventListener(AdEventType.LOADED, (info) => {
56
+ setState({ isLoaded: true, isLoading: false });
57
+ optionsRef.current.onLoaded?.(info);
58
+ });
59
+ ad.addAdEventListener(AdEventType.LOAD_FAILED, (error) => {
60
+ setState({ isLoaded: false, isLoading: false });
61
+ optionsRef.current.onLoadFailed?.(error);
62
+ });
63
+ ad.addAdEventListener(AdEventType.DISPLAYED, (info) => {
64
+ setState((prevState) => ({ ...prevState, isLoaded: false }));
65
+ optionsRef.current.onDisplayed?.(info);
66
+ });
67
+ ad.addAdEventListener(AdEventType.FAILED_TO_DISPLAY, (error) => {
68
+ setState({ isLoaded: false, isLoading: false });
69
+ optionsRef.current.onFailedToDisplay?.(error);
70
+ });
71
+ ad.addAdEventListener(AdEventType.HIDDEN, (info) => {
72
+ setState((prevState) => ({ ...prevState, isLoaded: false }));
73
+ optionsRef.current.onHidden?.(info);
74
+ });
75
+ ad.addAdEventListener(AdEventType.CLICKED, (info) => {
76
+ optionsRef.current.onClicked?.(info);
77
+ });
78
+ ad.addAdEventListener(AdEventType.IMPRESSION_RECORDED, (info) => {
79
+ optionsRef.current.onImpressionRecorded?.(info);
80
+ });
81
+
82
+ return ad;
83
+ }, [adUnitId]);
84
+
85
+ const load = useCallback(
86
+ (loadOptions?: UseLightPopupAdLoadOptions) => {
87
+ const ad = createAd();
88
+ if (!ad) {
89
+ return;
90
+ }
91
+
92
+ setState({ isLoaded: false, isLoading: true });
93
+
94
+ if (loadOptions?.configuration) {
95
+ ad.setConfiguration(loadOptions.configuration);
96
+ }
97
+
98
+ ad.load();
99
+ },
100
+ [createAd]
101
+ );
102
+
103
+ const show = useCallback(() => {
104
+ adRef.current?.show();
105
+ }, []);
106
+
107
+ const isAdReady = useCallback(async () => {
108
+ const isLoaded = (await adRef.current?.isAdReady()) ?? false;
109
+ setState((prevState) => ({ ...prevState, isLoaded }));
110
+ return isLoaded;
111
+ }, []);
112
+
113
+ useEffect(() => {
114
+ adRef.current?.removeAllListeners();
115
+ adRef.current = null;
116
+ setState({ isLoaded: false, isLoading: false });
117
+ }, [adUnitId]);
118
+
119
+ useEffect(() => {
120
+ return () => {
121
+ adRef.current?.removeAllListeners();
122
+ adRef.current = null;
123
+ };
124
+ }, []);
125
+
126
+ return {
127
+ ...state,
128
+ load,
129
+ show,
130
+ isAdReady,
131
+ };
132
+ }
@@ -0,0 +1,122 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import { RewardedAd } from '../RewardedAd';
3
+ import { AdEventType, RewardedAdEventType } from '../types/AdEvent';
4
+ import type {
5
+ AdDisplayFailedInfo,
6
+ AdInfo,
7
+ AdLoadFailedInfo,
8
+ AdRewardInfo,
9
+ } from '../types/AdInfo';
10
+
11
+ export type UseRewardedAdOptions = {
12
+ onLoaded?: (adInfo: AdInfo) => void;
13
+ onLoadFailed?: (error: AdLoadFailedInfo) => void;
14
+ onClicked?: (adInfo: AdInfo) => void;
15
+ onDisplayed?: (adInfo: AdInfo) => void;
16
+ onFailedToDisplay?: (error: AdDisplayFailedInfo) => void;
17
+ onHidden?: (adInfo: AdInfo) => void;
18
+ onImpressionRecorded?: (adInfo: AdInfo) => void;
19
+ onReceivedReward?: (reward: AdRewardInfo) => void;
20
+ };
21
+
22
+ export type UseRewardedAdResult = {
23
+ isLoaded: boolean;
24
+ isLoading: boolean;
25
+ load: () => void;
26
+ show: (customData?: string | null) => void;
27
+ isAdReady: () => Promise<boolean>;
28
+ };
29
+
30
+ export function useRewardedAd(
31
+ adUnitId: string | null,
32
+ options: UseRewardedAdOptions = {}
33
+ ): UseRewardedAdResult {
34
+ const adRef = useRef<RewardedAd | null>(null);
35
+ const optionsRef = useRef(options);
36
+ optionsRef.current = options;
37
+ const [state, setState] = useState({
38
+ isLoaded: false,
39
+ isLoading: false,
40
+ });
41
+
42
+ const load = useCallback(() => {
43
+ if (!adUnitId) {
44
+ return;
45
+ }
46
+
47
+ const ad = adRef.current;
48
+ if (!ad) {
49
+ return;
50
+ }
51
+
52
+ setState({ isLoaded: false, isLoading: true });
53
+ ad.load();
54
+ }, [adUnitId]);
55
+
56
+ const show = useCallback((customData?: string | null) => {
57
+ adRef.current?.show(customData);
58
+ }, []);
59
+
60
+ const isAdReady = useCallback(async () => {
61
+ const isLoaded = (await adRef.current?.isAdReady()) ?? false;
62
+ setState((prevState) => ({ ...prevState, isLoaded }));
63
+ return isLoaded;
64
+ }, []);
65
+
66
+ useEffect(() => {
67
+ adRef.current?.removeAllListeners();
68
+ adRef.current = null;
69
+ setState({ isLoaded: false, isLoading: false });
70
+
71
+ if (!adUnitId) {
72
+ return;
73
+ }
74
+
75
+ const ad = RewardedAd.createForAdRequest(adUnitId);
76
+ adRef.current = ad;
77
+
78
+ ad.addAdEventListener(AdEventType.LOADED, (info) => {
79
+ setState({ isLoaded: true, isLoading: false });
80
+ optionsRef.current.onLoaded?.(info);
81
+ });
82
+ ad.addAdEventListener(AdEventType.LOAD_FAILED, (error) => {
83
+ setState({ isLoaded: false, isLoading: false });
84
+ optionsRef.current.onLoadFailed?.(error);
85
+ });
86
+ ad.addAdEventListener(AdEventType.DISPLAYED, (info) => {
87
+ setState((prevState) => ({ ...prevState, isLoaded: false }));
88
+ optionsRef.current.onDisplayed?.(info);
89
+ });
90
+ ad.addAdEventListener(AdEventType.FAILED_TO_DISPLAY, (error) => {
91
+ setState({ isLoaded: false, isLoading: false });
92
+ optionsRef.current.onFailedToDisplay?.(error);
93
+ });
94
+ ad.addAdEventListener(AdEventType.HIDDEN, (info) => {
95
+ setState((prevState) => ({ ...prevState, isLoaded: false }));
96
+ optionsRef.current.onHidden?.(info);
97
+ });
98
+ ad.addAdEventListener(AdEventType.CLICKED, (info) => {
99
+ optionsRef.current.onClicked?.(info);
100
+ });
101
+ ad.addAdEventListener(AdEventType.IMPRESSION_RECORDED, (info) => {
102
+ optionsRef.current.onImpressionRecorded?.(info);
103
+ });
104
+ ad.addAdEventListener(RewardedAdEventType.RECEIVED_REWARD, (reward) => {
105
+ optionsRef.current.onReceivedReward?.(reward);
106
+ });
107
+
108
+ return () => {
109
+ ad.removeAllListeners();
110
+ if (adRef.current === ad) {
111
+ adRef.current = null;
112
+ }
113
+ };
114
+ }, [adUnitId]);
115
+
116
+ return {
117
+ ...state,
118
+ load,
119
+ show,
120
+ isAdReady,
121
+ };
122
+ }
package/src/index.tsx CHANGED
@@ -1,10 +1,26 @@
1
- import { NativeModules, Platform } from 'react-native';
1
+ import NativeDaroModule from './NativeDaroModule';
2
2
 
3
3
  export * from './AdBannerView';
4
4
  export * from './types';
5
5
  export { InterstitialAd } from './InterstitialAd';
6
+ export { useInterstitialAd } from './hooks/useInterstitialAd';
7
+ export type {
8
+ UseInterstitialAdOptions,
9
+ UseInterstitialAdResult,
10
+ } from './hooks/useInterstitialAd';
6
11
  export { RewardedAd } from './RewardedAd';
12
+ export { useRewardedAd } from './hooks/useRewardedAd';
13
+ export type {
14
+ UseRewardedAdOptions,
15
+ UseRewardedAdResult,
16
+ } from './hooks/useRewardedAd';
7
17
  export { LightPopupAd } from './LightPopupAd';
18
+ export { useLightPopupAd } from './hooks/useLightPopupAd';
19
+ export type {
20
+ UseLightPopupAdOptions,
21
+ UseLightPopupAdLoadOptions,
22
+ UseLightPopupAdResult,
23
+ } from './hooks/useLightPopupAd';
8
24
 
9
25
  export { NativeAdView } from './nativeAd/NativeAdView';
10
26
  export {
@@ -15,31 +31,14 @@ export {
15
31
  TitleView,
16
32
  } from './nativeAd/NativeAdViewComponents';
17
33
 
18
- const LINKING_ERROR =
19
- `The package 'react-native-daro-m' doesn't seem to be linked. Make sure: \n\n` +
20
- Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) +
21
- '- You rebuilt the app after installing the package\n' +
22
- '- You are not using Expo Go\n';
23
-
24
- const DaroMModule = NativeModules.DaroMModule
25
- ? NativeModules.DaroMModule
26
- : new Proxy(
27
- {},
28
- {
29
- get() {
30
- throw new Error(LINKING_ERROR);
31
- },
32
- }
33
- );
34
-
35
34
  export async function initialize() {
36
- await DaroMModule.initializeSdk();
35
+ await NativeDaroModule.initializeSdk();
37
36
  }
38
37
 
39
38
  export async function showMediationDebugger() {
40
- await DaroMModule.showMediationDebugger();
39
+ await NativeDaroModule.showMediationDebugger();
41
40
  }
42
41
 
43
- export async function setUserId(userId: String) {
44
- await DaroMModule.setUserId(userId);
42
+ export async function setUserId(userId: string) {
43
+ await NativeDaroModule.setUserId(userId);
45
44
  }