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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 Lion
3
+ Copyright (c) 2026 Delightroom
4
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
5
5
  of this software and associated documentation files (the "Software"), to deal
6
6
  in the Software without restriction, including without limitation the rights
package/README.md CHANGED
@@ -1,47 +1,47 @@
1
- # react-native-daro-m
1
+ # react-native-daro
2
2
 
3
- DaroM React Native Module for Android and iOS
3
+ React Native module for the Daro SDK on Android and iOS.
4
4
 
5
5
  ## Installation
6
6
 
7
7
  ```sh
8
- yarn install
8
+ npm install react-native-daro
9
9
  ```
10
10
 
11
11
  ## Usage
12
12
 
13
-
14
13
  ```js
15
- import { DaroMView } from "react-native-daro-m";
16
-
17
- // ...
18
-
19
- <DaroMView color="tomato" />
20
- ```
14
+ import { initialize, InterstitialAd } from 'react-native-daro';
21
15
 
22
- ## Example
16
+ await initialize();
23
17
 
24
- ```sh
25
- cd example
18
+ const interstitialAd = InterstitialAd.createForAdRequest('AD_UNIT_ID');
19
+ interstitialAd.load();
26
20
  ```
27
21
 
28
- ### Android
29
-
30
- ```sh
31
- yarn run android
32
- ```
22
+ ## Expo Config Plugin
33
23
 
34
- ### iOS
24
+ For Expo apps, add `react-native-daro` to `plugins`.
35
25
 
36
- ```sh
37
- yarn run ios --simulator "iPhone 16"
26
+ ```js
27
+ module.exports = {
28
+ expo: {
29
+ plugins: [
30
+ [
31
+ 'react-native-daro',
32
+ {
33
+ ios: {
34
+ daroAppKey: 'DARO_IOS_APP_KEY',
35
+ daroKeyFile: './ios-daro-key.txt',
36
+ admobAppId: 'ca-app-pub-0000000000000000~0000000000',
37
+ },
38
+ android: {
39
+ daroAppKey: 'DARO_ANDROID_APP_KEY',
40
+ daroKeyFile: './android-daro-key.txt',
41
+ },
42
+ },
43
+ ],
44
+ ],
45
+ },
46
+ };
38
47
  ```
39
-
40
-
41
- ## License
42
-
43
- MIT
44
-
45
- ---
46
-
47
- Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
@@ -1,6 +1,20 @@
1
+ import groovy.json.JsonSlurper
2
+
1
3
  buildscript {
2
- // Buildscript is evaluated before everything else so we can't use getExtOrDefault
3
- def kotlin_version = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["DaroM_kotlinVersion"]
4
+ ext.DaroReactNative = [
5
+ kotlinVersion: "2.0.21",
6
+ minSdkVersion: 23,
7
+ compileSdkVersion: 36,
8
+ targetSdkVersion: 36
9
+ ]
10
+
11
+ ext.getExtOrDefault = { prop ->
12
+ if (rootProject.ext.has(prop)) {
13
+ return rootProject.ext.get(prop)
14
+ }
15
+
16
+ return DaroReactNative[prop]
17
+ }
4
18
 
5
19
  repositories {
6
20
  google()
@@ -8,62 +22,46 @@ buildscript {
8
22
  }
9
23
 
10
24
  dependencies {
11
- classpath "com.android.tools.build:gradle:8.2.0"
25
+ classpath "com.android.tools.build:gradle:8.7.2"
12
26
  // noinspection DifferentKotlinGradleVersion
13
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
27
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}"
14
28
  }
15
29
  }
16
30
 
17
- def reactNativeArchitectures() {
18
- def value = rootProject.getProperties().get("reactNativeArchitectures")
19
- return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
20
- }
21
-
22
- def isNewArchitectureEnabled() {
23
- return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
24
- }
25
31
 
26
32
  apply plugin: "com.android.library"
27
33
  apply plugin: "kotlin-android"
28
34
 
29
- if (isNewArchitectureEnabled()) {
30
- apply plugin: "com.facebook.react"
31
- }
32
-
33
- def getExtOrDefault(name) {
34
- return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["DaroM_" + name]
35
- }
36
-
37
- def getExtOrIntegerDefault(name) {
38
- return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["DaroM_" + name]).toInteger()
39
- }
40
-
41
- def supportsNamespace() {
42
- def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
43
- def major = parsed[0].toInteger()
44
- def minor = parsed[1].toInteger()
45
-
46
- // Namespace support was added in 7.3.0
47
- return (major == 7 && minor >= 3) || major >= 8
48
- }
35
+ apply plugin: "com.facebook.react"
36
+
37
+ def packageJson = new JsonSlurper().parse(file("$projectDir/../package.json"))
38
+ def packageName = packageJson.name
39
+ def localMediation = (
40
+ project.findProperty("daroMediation") ?: System.getenv("DARO_MEDIATION")
41
+ )?.toString()?.toLowerCase()
42
+ def mediation =
43
+ packageName == "react-native-daro-m" ? "max" :
44
+ packageName == "react-native-daro" ? "admob" :
45
+ localMediation == "max" ? "max" : "admob"
46
+ def daroSdkDependency = mediation == "max" ? "so.daro:daro-m:1.3.8" : "so.daro:daro-a:1.5.5"
47
+ def isNewArchitectureEnabled =
48
+ (project.hasProperty("newArchEnabled") && project.property("newArchEnabled").toString().toBoolean()) ||
49
+ (project.hasProperty("react.newArchEnabled") && project.property("react.newArchEnabled").toString().toBoolean())
50
+ def architectureSourceSet = isNewArchitectureEnabled ? "newarch" : "oldarch"
49
51
 
50
52
  android {
51
- if (supportsNamespace()) {
52
- namespace "com.darom"
53
+ namespace "com.daro.reactnative"
53
54
 
54
- sourceSets {
55
- main {
56
- manifest.srcFile "src/main/AndroidManifestNew.xml"
57
- }
58
- }
59
- }
55
+ compileSdkVersion getExtOrDefault("compileSdkVersion")
60
56
 
61
- compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
57
+ buildFeatures {
58
+ buildConfig true
59
+ }
62
60
 
63
61
  defaultConfig {
64
- minSdkVersion getExtOrIntegerDefault("minSdkVersion")
65
- targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
66
-
62
+ minSdkVersion getExtOrDefault("minSdkVersion")
63
+ targetSdkVersion getExtOrDefault("targetSdkVersion")
64
+ buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled.toString()
67
65
  }
68
66
 
69
67
  buildTypes {
@@ -72,7 +70,14 @@ android {
72
70
  }
73
71
  }
74
72
 
75
- lintOptions {
73
+ sourceSets {
74
+ main {
75
+ java.srcDirs += "src/${mediation}/java"
76
+ java.srcDirs += "src/${architectureSourceSet}/java"
77
+ }
78
+ }
79
+
80
+ lint {
76
81
  disable "GradleCompatible"
77
82
  }
78
83
 
@@ -82,19 +87,7 @@ android {
82
87
  }
83
88
  }
84
89
 
85
- repositories {
86
- mavenCentral()
87
- google()
88
- maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
89
- }
90
-
91
- def kotlin_version = getExtOrDefault("kotlinVersion")
92
-
93
90
  dependencies {
94
- // For < 0.71, this will be from the local maven repo
95
- // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
96
- //noinspection GradleDynamicVersion
97
- implementation "com.facebook.react:react-android:+"
98
- implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
99
- compileOnly "so.daro:daro-a:1.5.5"
91
+ implementation "com.facebook.react:react-android"
92
+ compileOnly daroSdkDependency
100
93
  }
@@ -0,0 +1,23 @@
1
+ package com.daro.reactnative
2
+
3
+ import android.app.Application
4
+ import android.content.Context
5
+ import droom.daro.SDKConfig
6
+ import droom.daro.a.Daro
7
+
8
+ internal object DaroSdkBridge {
9
+ fun initialize(application: Application, sdkConfig: SDKConfig) {
10
+ Daro.init(
11
+ application = application,
12
+ sdkConfig = sdkConfig,
13
+ )
14
+ }
15
+
16
+ fun openDebugger(context: Context) {
17
+ Daro.openDebugger(context)
18
+ }
19
+
20
+ fun setUserId(context: Context, userId: String) {
21
+ Daro.setUserId(context, userId)
22
+ }
23
+ }
@@ -1,3 +1,2 @@
1
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
- package="com.darom">
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
3
2
  </manifest>
@@ -1,16 +1,25 @@
1
- package com.darom
1
+ package com.daro.reactnative
2
2
 
3
- import com.darom.constants.InternalDaroMBannerSize
4
- import com.darom.event.AdViewEvent
5
- import com.darom.view.DaroMAdBannerViewContainer
3
+ import com.daro.reactnative.constants.InternalDaroMBannerSize
4
+ import com.daro.reactnative.event.AdViewEvent
5
+ import com.daro.reactnative.view.DaroMAdBannerViewContainer
6
6
  import com.facebook.react.bridge.ReadableArray
7
7
  import com.facebook.react.uimanager.ReactStylesDiffMap
8
8
  import com.facebook.react.uimanager.SimpleViewManager
9
9
  import com.facebook.react.uimanager.StateWrapper
10
10
  import com.facebook.react.uimanager.ThemedReactContext
11
+ import com.facebook.react.uimanager.ViewManagerDelegate
11
12
  import com.facebook.react.uimanager.annotations.ReactProp
13
+ import com.facebook.react.viewmanagers.DaroMAdBannerViewManagerDelegate
14
+ import com.facebook.react.viewmanagers.DaroMAdBannerViewManagerInterface
12
15
 
13
- class DaroMAdBannerViewManager : SimpleViewManager<DaroMAdBannerViewContainer>() {
16
+ class DaroMAdBannerViewManager : SimpleViewManager<DaroMAdBannerViewContainer>(),
17
+ DaroMAdBannerViewManagerInterface<DaroMAdBannerViewContainer> {
18
+
19
+ private val delegate: ViewManagerDelegate<DaroMAdBannerViewContainer> =
20
+ DaroMAdBannerViewManagerDelegate(this)
21
+
22
+ override fun getDelegate(): ViewManagerDelegate<DaroMAdBannerViewContainer> = delegate
14
23
 
15
24
  override fun getName(): String {
16
25
  return "DaroMAdBannerView"
@@ -46,7 +55,7 @@ class DaroMAdBannerViewManager : SimpleViewManager<DaroMAdBannerViewContainer>()
46
55
  viewCache[cacheKey].let { cachedView ->
47
56
  cachedView?.id = reactTag
48
57
 
49
- if(cachedView?.parent == null) {
58
+ if (cachedView?.parent == null) {
50
59
  cachedView?.resumeAd()
51
60
  cachedView
52
61
  } else {
@@ -99,34 +108,48 @@ class DaroMAdBannerViewManager : SimpleViewManager<DaroMAdBannerViewContainer>()
99
108
  }
100
109
  }
101
110
 
111
+ override fun receiveCommand(
112
+ root: DaroMAdBannerViewContainer,
113
+ commandId: String,
114
+ args: ReadableArray?,
115
+ ) {
116
+ when (commandId) {
117
+ "loadAd" -> root.loadAd()
118
+ }
119
+ }
120
+
102
121
  @ReactProp(name = "isVisible")
103
- fun setIsVisible(view: DaroMAdBannerViewContainer, isVisible: Boolean) {
122
+ override fun setIsVisible(view: DaroMAdBannerViewContainer, isVisible: Boolean) {
104
123
  view.setAdVisibility(isVisible)
105
124
  }
106
125
 
107
126
  @ReactProp(name = "adUnitId")
108
- fun setAdUnitId(view: DaroMAdBannerViewContainer, adUnitId: String) {
109
- view.adUnitId = adUnitId
127
+ override fun setAdUnitId(view: DaroMAdBannerViewContainer, adUnitId: String?) {
128
+ view.adUnitId = adUnitId.orEmpty()
110
129
  }
111
130
 
112
131
  @ReactProp(name = "adFormat")
113
- fun setAdFormat(view: DaroMAdBannerViewContainer, adFormat: String) {
114
- view.adSize = InternalDaroMBannerSize.fromName(adFormat).toBannerSize()
132
+ override fun setAdFormat(view: DaroMAdBannerViewContainer, adFormat: String?) {
133
+ view.adSize = adFormat?.let { InternalDaroMBannerSize.fromName(it).toBannerSize() }
115
134
  }
116
135
 
117
136
  @ReactProp(name = "loadOnMount")
118
- fun setLoadOnMount(view: DaroMAdBannerViewContainer, loadOnMount: Boolean) {
137
+ override fun setLoadOnMount(view: DaroMAdBannerViewContainer, loadOnMount: Boolean) {
119
138
  view.loadOnMount = loadOnMount
120
139
  }
121
140
 
122
141
  @ReactProp(name = "placement")
123
- fun setPlacement(view: DaroMAdBannerViewContainer, placement: String) {
142
+ override fun setPlacement(view: DaroMAdBannerViewContainer, placement: String?) {
143
+ }
144
+
145
+ override fun loadAd(view: DaroMAdBannerViewContainer) {
146
+ view.loadAd()
124
147
  }
125
148
 
126
149
  @OptIn(ExperimentalStdlibApi::class)
127
- override fun getExportedCustomBubblingEventTypeConstants(): MutableMap<String, Any> {
150
+ override fun getExportedCustomDirectEventTypeConstants(): MutableMap<String, Any> {
128
151
  return AdViewEvent.entries.associate {
129
- it.value to mutableMapOf("phasedRegistrationNames" to mutableMapOf("bubbled" to it.key))
152
+ it.value to mutableMapOf("registrationName" to it.registrationName)
130
153
  }.toMutableMap()
131
154
  }
132
155
  }
@@ -0,0 +1,167 @@
1
+ package com.daro.reactnative
2
+
3
+ import android.view.View
4
+ import com.daro.reactnative.event.AdViewEvent
5
+ import com.daro.reactnative.view.DaroMAdNativeViewContainer
6
+ import com.facebook.react.bridge.Dynamic
7
+ import com.facebook.react.bridge.ReadableArray
8
+ import com.facebook.react.uimanager.ThemedReactContext
9
+ import com.facebook.react.uimanager.ViewManagerDelegate
10
+ import com.facebook.react.uimanager.ViewGroupManager
11
+ import com.facebook.react.uimanager.annotations.ReactProp
12
+ import com.facebook.react.viewmanagers.DaroMNativeAdViewManagerDelegate
13
+ import com.facebook.react.viewmanagers.DaroMNativeAdViewManagerInterface
14
+
15
+ class DaroMAdNativeViewManager : ViewGroupManager<DaroMAdNativeViewContainer>(),
16
+ DaroMNativeAdViewManagerInterface<DaroMAdNativeViewContainer> {
17
+
18
+ private val delegate: ViewManagerDelegate<DaroMAdNativeViewContainer> =
19
+ DaroMNativeAdViewManagerDelegate(this)
20
+
21
+ override fun getDelegate(): ViewManagerDelegate<DaroMAdNativeViewContainer> = delegate
22
+
23
+ override fun getName(): String {
24
+ return "DaroMNativeAdView"
25
+ }
26
+
27
+ override fun createViewInstance(context: ThemedReactContext): DaroMAdNativeViewContainer {
28
+ return DaroMAdNativeViewContainer(context)
29
+ }
30
+
31
+ override fun addView(parent: DaroMAdNativeViewContainer, child: View, index: Int) {
32
+ parent.addReactSubview(child, index)
33
+ }
34
+
35
+ override fun getChildCount(parent: DaroMAdNativeViewContainer): Int {
36
+ return parent.getReactSubviewCount()
37
+ }
38
+
39
+ override fun getChildAt(parent: DaroMAdNativeViewContainer, index: Int): View {
40
+ return parent.getReactSubviewAt(index)
41
+ }
42
+
43
+ override fun removeViewAt(parent: DaroMAdNativeViewContainer, index: Int) {
44
+ parent.removeReactSubviewAt(index)
45
+ }
46
+
47
+ override fun removeAllViews(parent: DaroMAdNativeViewContainer) {
48
+ parent.removeAllReactSubviews()
49
+ }
50
+
51
+ companion object {
52
+ private const val COMMAND_LOAD_AD: Int = 1
53
+ }
54
+
55
+ override fun getExportedCustomDirectEventTypeConstants(): MutableMap<String, Any> {
56
+ return AdViewEvent.entries.associate {
57
+ it.value to mutableMapOf("registrationName" to it.registrationName)
58
+ }.toMutableMap()
59
+ }
60
+
61
+ override fun getCommandsMap(): MutableMap<String, Int> {
62
+ return mutableMapOf(
63
+ "loadAd" to COMMAND_LOAD_AD,
64
+ )
65
+ }
66
+
67
+ @Deprecated("")
68
+ override fun receiveCommand(
69
+ root: DaroMAdNativeViewContainer,
70
+ commandId: Int,
71
+ args: ReadableArray?,
72
+ ) {
73
+ when (commandId) {
74
+ COMMAND_LOAD_AD -> {
75
+ root.loadAd()
76
+ }
77
+ }
78
+ }
79
+
80
+ override fun receiveCommand(
81
+ root: DaroMAdNativeViewContainer,
82
+ commandId: String,
83
+ args: ReadableArray?,
84
+ ) {
85
+ when (commandId) {
86
+ "loadAd" -> root.loadAd()
87
+ }
88
+ }
89
+
90
+ @ReactProp(name = "adUnitId")
91
+ override fun setAdUnitId(view: DaroMAdNativeViewContainer, adUnitId: String?) {
92
+ view.adUnitId = adUnitId.orEmpty()
93
+ }
94
+
95
+ @ReactProp(name = "loadOnMount")
96
+ override fun setLoadOnMount(view: DaroMAdNativeViewContainer, loadOnMount: Boolean) {
97
+ view.loadOnMount = loadOnMount
98
+ }
99
+
100
+ @ReactProp(name = "adChoicesPosition")
101
+ override fun setAdChoicesPosition(view: DaroMAdNativeViewContainer, value: String?) {
102
+ view.setAdChoicesPosition(value)
103
+ }
104
+
105
+ @ReactProp(name = "titleView")
106
+ override fun setTitleView(view: DaroMAdNativeViewContainer, value: Int) {
107
+ view.setTitleView(value)
108
+ }
109
+
110
+ @ReactProp(name = "bodyView")
111
+ override fun setBodyView(view: DaroMAdNativeViewContainer, value: Int) {
112
+ view.setBodyView(value)
113
+ }
114
+
115
+ @ReactProp(name = "callToActionView")
116
+ override fun setCallToActionView(view: DaroMAdNativeViewContainer, value: Int) {
117
+ view.setCallToActionView(value)
118
+ }
119
+
120
+ @ReactProp(name = "iconView")
121
+ override fun setIconView(view: DaroMAdNativeViewContainer, value: Int) {
122
+ view.setIconView(value)
123
+ }
124
+
125
+ @ReactProp(name = "mediaView")
126
+ override fun setMediaView(view: DaroMAdNativeViewContainer, value: Int) {
127
+ view.setMediaView(value)
128
+ }
129
+
130
+ @ReactProp(name = "placement")
131
+ override fun setPlacement(view: DaroMAdNativeViewContainer, placement: String?) {
132
+ }
133
+
134
+ @ReactProp(name = "titleViewStyleProps")
135
+ override fun setTitleViewStyleProps(view: DaroMAdNativeViewContainer, value: Dynamic) {
136
+ }
137
+
138
+ @ReactProp(name = "bodyViewStyleProps")
139
+ override fun setBodyViewStyleProps(view: DaroMAdNativeViewContainer, value: Dynamic) {
140
+ }
141
+
142
+ @ReactProp(name = "callToActionViewStyleProps")
143
+ override fun setCallToActionViewStyleProps(view: DaroMAdNativeViewContainer, value: Dynamic) {
144
+ }
145
+
146
+ @ReactProp(name = "iconViewStyleProps")
147
+ override fun setIconViewStyleProps(view: DaroMAdNativeViewContainer, value: Dynamic) {
148
+ }
149
+
150
+ @ReactProp(name = "mediaViewStyleProps")
151
+ override fun setMediaViewStyleProps(view: DaroMAdNativeViewContainer, value: Dynamic) {
152
+ }
153
+
154
+ override fun loadAd(view: DaroMAdNativeViewContainer) {
155
+ view.loadAd()
156
+ }
157
+
158
+ override fun onAfterUpdateTransaction(view: DaroMAdNativeViewContainer) {
159
+ super.onAfterUpdateTransaction(view)
160
+ view.onSetProps()
161
+ }
162
+
163
+ override fun onDropViewInstance(view: DaroMAdNativeViewContainer) {
164
+ super.onDropViewInstance(view)
165
+ view.destroy()
166
+ }
167
+ }