react-native-daro 1.0.15 → 2.0.0-rc.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 (241) hide show
  1. package/README.md +2 -5
  2. package/android/build.gradle +17 -14
  3. package/android/src/main/java/com/daro/reactnative/DaroMediaViewManager.kt +25 -0
  4. package/android/src/main/java/com/daro/reactnative/DaroRNAdBannerViewManager.kt +105 -0
  5. package/android/src/main/java/com/daro/reactnative/DaroRNAdNativeViewManager.kt +163 -0
  6. package/android/src/main/java/com/daro/reactnative/DaroRNModule.kt +376 -0
  7. package/android/src/main/java/com/daro/reactnative/DaroRNPackage.kt +45 -0
  8. package/android/src/main/java/com/daro/reactnative/DaroSdkBridge.kt +52 -0
  9. package/android/src/main/java/com/daro/reactnative/constants/{InternalDaroMBannerSize.kt → InternalDaroRNBannerSize.kt} +2 -2
  10. package/android/src/main/java/com/daro/reactnative/event/{DaroMEvent.kt → DaroRNEvent.kt} +22 -11
  11. package/android/src/main/java/com/daro/reactnative/impl/{DaroMBannerViewModuleImpl.kt → DaroRNBannerViewModuleImpl.kt} +3 -3
  12. package/android/src/main/java/com/daro/reactnative/impl/{DaroMInterstitialModuleImpl.kt → DaroRNInterstitialModuleImpl.kt} +4 -4
  13. package/android/src/main/java/com/daro/reactnative/impl/{DaroMLightPopupModuleImpl.kt → DaroRNLightPopupModuleImpl.kt} +4 -4
  14. package/android/src/main/java/com/daro/reactnative/impl/{DaroMRewardedAdModuleImpl.kt → DaroRNRewardedAdModuleImpl.kt} +4 -4
  15. package/android/src/main/java/com/daro/reactnative/util/AdInfoUtil.kt +12 -0
  16. package/android/src/main/java/com/daro/reactnative/util/DaroQaProbe.kt +147 -0
  17. package/android/src/main/java/com/daro/reactnative/util/EventEmitterUtil.kt +20 -7
  18. package/android/src/main/java/com/daro/reactnative/view/DaroMediaView.kt +123 -0
  19. package/android/src/main/java/com/daro/reactnative/view/{DaroMAdBannerViewContainer.kt → DaroRNAdBannerViewContainer.kt} +2 -3
  20. package/android/src/main/java/com/daro/reactnative/view/DaroRNAdNativeViewContainer.kt +623 -0
  21. package/android/src/newarch/java/com/daro/reactnative/DaroRNModuleSpec.kt +6 -0
  22. package/android/src/oldarch/java/com/daro/reactnative/DaroRNModuleSpec.kt +119 -0
  23. package/ios/{DaroMModule+AppOpen.swift → DaroRNModule+AppOpen.swift} +22 -20
  24. package/ios/DaroRNModule+Consent.swift +88 -0
  25. package/ios/{DaroMModule+Interstitial.swift → DaroRNModule+Interstitial.swift} +21 -18
  26. package/ios/{DaroMModule+LightPopup.swift → DaroRNModule+LightPopup.swift} +18 -15
  27. package/ios/DaroRNModule+Qa.swift +158 -0
  28. package/ios/{DaroMModule+Rewarded.swift → DaroRNModule+Rewarded.swift} +22 -19
  29. package/ios/DaroRNModule.mm +88 -0
  30. package/ios/{DaroMModule.swift → DaroRNModule.swift} +24 -10
  31. package/ios/Fabric/DaroRNAdBannerComponentView.mm +219 -0
  32. package/ios/Fabric/DaroRNFabricEventSink.mm +31 -0
  33. package/ios/Fabric/DaroRNFabricPropApplier.mm +123 -0
  34. package/ios/Fabric/DaroRNNativeAdComponentView.mm +306 -0
  35. package/ios/{DaroMAdBannerViewManager.m → Paper/DaroRNAdBannerViewManager.m} +4 -2
  36. package/ios/Paper/DaroRNAdBannerViewManager.swift +21 -0
  37. package/ios/{DaroMNativeAdViewManager.m → Paper/DaroRNNativeAdViewManager.m} +3 -2
  38. package/ios/Paper/DaroRNNativeAdViewManager.swift +22 -0
  39. package/ios/Shared/DaroMediationDebugger.swift +14 -0
  40. package/ios/{mediation/admob → Shared}/DaroMediationTypes.swift +1 -0
  41. package/ios/Shared/DaroRNAdEventSink.swift +24 -0
  42. package/ios/Shared/DaroRNBannerAdView.swift +188 -0
  43. package/ios/Shared/DaroRNNativeAdLoadCoordinator.swift +49 -0
  44. package/ios/Shared/DaroRNNativeAdView.swift +575 -0
  45. package/ios/Shared/DaroRNNativeAssetResolver.swift +53 -0
  46. package/lib/commonjs/AdBannerView.js +20 -41
  47. package/lib/commonjs/AdBannerView.js.map +1 -1
  48. package/lib/commonjs/AppOpenAd.js +45 -12
  49. package/lib/commonjs/AppOpenAd.js.map +1 -1
  50. package/lib/commonjs/DaroMediaViewNativeComponent.ts +9 -0
  51. package/lib/commonjs/DaroRNAdBannerViewNativeComponent.ts +50 -0
  52. package/lib/commonjs/DaroRNNativeAdViewNativeComponent.ts +65 -0
  53. package/lib/commonjs/EventEmitter.js +4 -5
  54. package/lib/commonjs/EventEmitter.js.map +1 -1
  55. package/lib/commonjs/InterstitialAd.js +9 -11
  56. package/lib/commonjs/InterstitialAd.js.map +1 -1
  57. package/lib/commonjs/LightPopupAd.js +11 -12
  58. package/lib/commonjs/LightPopupAd.js.map +1 -1
  59. package/lib/commonjs/NativeDaroModule.js +9 -0
  60. package/lib/commonjs/NativeDaroModule.js.map +1 -0
  61. package/lib/commonjs/RewardedAd.js +9 -11
  62. package/lib/commonjs/RewardedAd.js.map +1 -1
  63. package/lib/commonjs/codegen-env.d.js +2 -0
  64. package/lib/commonjs/codegen-env.d.js.map +1 -0
  65. package/lib/commonjs/hooks/useInterstitialAd.js +110 -0
  66. package/lib/commonjs/hooks/useInterstitialAd.js.map +1 -0
  67. package/lib/commonjs/hooks/useLightPopupAd.js +114 -0
  68. package/lib/commonjs/hooks/useLightPopupAd.js.map +1 -0
  69. package/lib/commonjs/hooks/useRewardedAd.js +113 -0
  70. package/lib/commonjs/hooks/useRewardedAd.js.map +1 -0
  71. package/lib/commonjs/index.js +150 -13
  72. package/lib/commonjs/index.js.map +1 -1
  73. package/lib/commonjs/nativeAd/NativeAdView.js +23 -22
  74. package/lib/commonjs/nativeAd/NativeAdView.js.map +1 -1
  75. package/lib/commonjs/nativeAd/NativeAdViewComponents.js +43 -31
  76. package/lib/commonjs/nativeAd/NativeAdViewComponents.js.map +1 -1
  77. package/lib/commonjs/nativeAd/NativeAdViewProvider.js +34 -7
  78. package/lib/commonjs/nativeAd/NativeAdViewProvider.js.map +1 -1
  79. package/lib/module/AdBannerView.js +19 -42
  80. package/lib/module/AdBannerView.js.map +1 -1
  81. package/lib/module/AppOpenAd.js +45 -13
  82. package/lib/module/AppOpenAd.js.map +1 -1
  83. package/lib/module/DaroMediaViewNativeComponent.ts +9 -0
  84. package/lib/module/DaroRNAdBannerViewNativeComponent.ts +50 -0
  85. package/lib/module/DaroRNNativeAdViewNativeComponent.ts +65 -0
  86. package/lib/module/EventEmitter.js +4 -6
  87. package/lib/module/EventEmitter.js.map +1 -1
  88. package/lib/module/InterstitialAd.js +8 -11
  89. package/lib/module/InterstitialAd.js.map +1 -1
  90. package/lib/module/LightPopupAd.js +11 -13
  91. package/lib/module/LightPopupAd.js.map +1 -1
  92. package/lib/module/NativeDaroModule.js +5 -0
  93. package/lib/module/NativeDaroModule.js.map +1 -0
  94. package/lib/module/RewardedAd.js +8 -11
  95. package/lib/module/RewardedAd.js.map +1 -1
  96. package/lib/module/codegen-env.d.js +2 -0
  97. package/lib/module/codegen-env.d.js.map +1 -0
  98. package/lib/module/hooks/useInterstitialAd.js +106 -0
  99. package/lib/module/hooks/useInterstitialAd.js.map +1 -0
  100. package/lib/module/hooks/useLightPopupAd.js +110 -0
  101. package/lib/module/hooks/useLightPopupAd.js.map +1 -0
  102. package/lib/module/hooks/useRewardedAd.js +109 -0
  103. package/lib/module/hooks/useRewardedAd.js.map +1 -0
  104. package/lib/module/index.js +108 -13
  105. package/lib/module/index.js.map +1 -1
  106. package/lib/module/nativeAd/NativeAdView.js +22 -23
  107. package/lib/module/nativeAd/NativeAdView.js.map +1 -1
  108. package/lib/module/nativeAd/NativeAdViewComponents.js +45 -34
  109. package/lib/module/nativeAd/NativeAdViewComponents.js.map +1 -1
  110. package/lib/module/nativeAd/NativeAdViewProvider.js +35 -8
  111. package/lib/module/nativeAd/NativeAdViewProvider.js.map +1 -1
  112. package/lib/typescript/commonjs/plugin/src/index.d.ts +2 -6
  113. package/lib/typescript/commonjs/plugin/src/index.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/plugin/src/withAndroid.d.ts +2 -6
  115. package/lib/typescript/commonjs/plugin/src/withAndroid.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/plugin/src/withIos.d.ts +2 -6
  117. package/lib/typescript/commonjs/plugin/src/withIos.d.ts.map +1 -1
  118. package/lib/typescript/commonjs/src/AdBannerView.d.ts +2 -2
  119. package/lib/typescript/commonjs/src/AdBannerView.d.ts.map +1 -1
  120. package/lib/typescript/commonjs/src/AppOpenAd.d.ts +2 -2
  121. package/lib/typescript/commonjs/src/AppOpenAd.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/src/DaroMediaViewNativeComponent.d.ts +6 -0
  123. package/lib/typescript/commonjs/src/DaroMediaViewNativeComponent.d.ts.map +1 -0
  124. package/lib/typescript/commonjs/src/DaroRNAdBannerViewNativeComponent.d.ts +33 -0
  125. package/lib/typescript/commonjs/src/DaroRNAdBannerViewNativeComponent.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/src/DaroRNNativeAdViewNativeComponent.d.ts +43 -0
  127. package/lib/typescript/commonjs/src/DaroRNNativeAdViewNativeComponent.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/src/EventEmitter.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/src/InterstitialAd.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/src/LightPopupAd.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/src/NativeDaroModule.d.ts +70 -0
  132. package/lib/typescript/commonjs/src/NativeDaroModule.d.ts.map +1 -0
  133. package/lib/typescript/commonjs/src/RewardedAd.d.ts.map +1 -1
  134. package/lib/typescript/commonjs/src/hooks/useInterstitialAd.d.ts +19 -0
  135. package/lib/typescript/commonjs/src/hooks/useInterstitialAd.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/src/hooks/useLightPopupAd.d.ts +23 -0
  137. package/lib/typescript/commonjs/src/hooks/useLightPopupAd.d.ts.map +1 -0
  138. package/lib/typescript/commonjs/src/hooks/useRewardedAd.d.ts +20 -0
  139. package/lib/typescript/commonjs/src/hooks/useRewardedAd.d.ts.map +1 -0
  140. package/lib/typescript/commonjs/src/index.d.ts +86 -1
  141. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/src/nativeAd/NativeAdView.d.ts +1 -0
  143. package/lib/typescript/commonjs/src/nativeAd/NativeAdView.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/src/nativeAd/NativeAdViewProvider.d.ts +11 -5
  146. package/lib/typescript/commonjs/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -1
  147. package/lib/typescript/commonjs/src/types/AdInfo.d.ts +15 -0
  148. package/lib/typescript/commonjs/src/types/AdInfo.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/src/types/AdProps.d.ts +0 -1
  150. package/lib/typescript/commonjs/src/types/AdProps.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/src/types/NativeAdViewProps.d.ts +2 -0
  152. package/lib/typescript/commonjs/src/types/NativeAdViewProps.d.ts.map +1 -1
  153. package/lib/typescript/module/plugin/src/index.d.ts +2 -6
  154. package/lib/typescript/module/plugin/src/index.d.ts.map +1 -1
  155. package/lib/typescript/module/plugin/src/withAndroid.d.ts +2 -6
  156. package/lib/typescript/module/plugin/src/withAndroid.d.ts.map +1 -1
  157. package/lib/typescript/module/plugin/src/withIos.d.ts +2 -6
  158. package/lib/typescript/module/plugin/src/withIos.d.ts.map +1 -1
  159. package/lib/typescript/module/src/AdBannerView.d.ts +2 -2
  160. package/lib/typescript/module/src/AdBannerView.d.ts.map +1 -1
  161. package/lib/typescript/module/src/AppOpenAd.d.ts +2 -2
  162. package/lib/typescript/module/src/AppOpenAd.d.ts.map +1 -1
  163. package/lib/typescript/module/src/DaroMediaViewNativeComponent.d.ts +6 -0
  164. package/lib/typescript/module/src/DaroMediaViewNativeComponent.d.ts.map +1 -0
  165. package/lib/typescript/module/src/DaroRNAdBannerViewNativeComponent.d.ts +33 -0
  166. package/lib/typescript/module/src/DaroRNAdBannerViewNativeComponent.d.ts.map +1 -0
  167. package/lib/typescript/module/src/DaroRNNativeAdViewNativeComponent.d.ts +43 -0
  168. package/lib/typescript/module/src/DaroRNNativeAdViewNativeComponent.d.ts.map +1 -0
  169. package/lib/typescript/module/src/EventEmitter.d.ts.map +1 -1
  170. package/lib/typescript/module/src/InterstitialAd.d.ts.map +1 -1
  171. package/lib/typescript/module/src/LightPopupAd.d.ts.map +1 -1
  172. package/lib/typescript/module/src/NativeDaroModule.d.ts +70 -0
  173. package/lib/typescript/module/src/NativeDaroModule.d.ts.map +1 -0
  174. package/lib/typescript/module/src/RewardedAd.d.ts.map +1 -1
  175. package/lib/typescript/module/src/hooks/useInterstitialAd.d.ts +19 -0
  176. package/lib/typescript/module/src/hooks/useInterstitialAd.d.ts.map +1 -0
  177. package/lib/typescript/module/src/hooks/useLightPopupAd.d.ts +23 -0
  178. package/lib/typescript/module/src/hooks/useLightPopupAd.d.ts.map +1 -0
  179. package/lib/typescript/module/src/hooks/useRewardedAd.d.ts +20 -0
  180. package/lib/typescript/module/src/hooks/useRewardedAd.d.ts.map +1 -0
  181. package/lib/typescript/module/src/index.d.ts +86 -1
  182. package/lib/typescript/module/src/index.d.ts.map +1 -1
  183. package/lib/typescript/module/src/nativeAd/NativeAdView.d.ts +1 -0
  184. package/lib/typescript/module/src/nativeAd/NativeAdView.d.ts.map +1 -1
  185. package/lib/typescript/module/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -1
  186. package/lib/typescript/module/src/nativeAd/NativeAdViewProvider.d.ts +11 -5
  187. package/lib/typescript/module/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -1
  188. package/lib/typescript/module/src/types/AdInfo.d.ts +15 -0
  189. package/lib/typescript/module/src/types/AdInfo.d.ts.map +1 -1
  190. package/lib/typescript/module/src/types/AdProps.d.ts +0 -1
  191. package/lib/typescript/module/src/types/AdProps.d.ts.map +1 -1
  192. package/lib/typescript/module/src/types/NativeAdViewProps.d.ts +2 -0
  193. package/lib/typescript/module/src/types/NativeAdViewProps.d.ts.map +1 -1
  194. package/package.json +12 -5
  195. package/plugin/build/index.d.ts +2 -6
  196. package/plugin/build/index.js +21 -56
  197. package/plugin/build/withAndroid.d.ts +2 -6
  198. package/plugin/build/withAndroid.js +123 -83
  199. package/plugin/build/withIos.d.ts +2 -6
  200. package/plugin/build/withIos.js +37 -34
  201. package/react-native-daro.podspec +4 -2
  202. package/src/AdBannerView.tsx +24 -63
  203. package/src/AppOpenAd.ts +48 -17
  204. package/src/DaroMediaViewNativeComponent.ts +9 -0
  205. package/src/DaroRNAdBannerViewNativeComponent.ts +50 -0
  206. package/src/DaroRNNativeAdViewNativeComponent.ts +65 -0
  207. package/src/EventEmitter.ts +4 -5
  208. package/src/InterstitialAd.ts +8 -10
  209. package/src/LightPopupAd.ts +11 -12
  210. package/src/NativeDaroModule.ts +106 -0
  211. package/src/RewardedAd.ts +8 -10
  212. package/src/codegen-env.d.ts +45 -0
  213. package/src/hooks/useInterstitialAd.ts +117 -0
  214. package/src/hooks/useLightPopupAd.ts +132 -0
  215. package/src/hooks/useRewardedAd.ts +122 -0
  216. package/src/index.tsx +157 -22
  217. package/src/nativeAd/NativeAdView.tsx +41 -54
  218. package/src/nativeAd/NativeAdViewComponents.tsx +80 -42
  219. package/src/nativeAd/NativeAdViewProvider.tsx +75 -17
  220. package/src/types/AdInfo.ts +17 -0
  221. package/src/types/AdProps.ts +0 -2
  222. package/src/types/NativeAdViewProps.ts +7 -0
  223. package/android/src/admob/java/com/daro/reactnative/DaroSdkBridge.kt +0 -23
  224. package/android/src/main/java/com/daro/reactnative/DaroMAdBannerViewManager.kt +0 -132
  225. package/android/src/main/java/com/daro/reactnative/DaroMAdNativeViewManager.kt +0 -136
  226. package/android/src/main/java/com/daro/reactnative/DaroMModule.kt +0 -202
  227. package/android/src/main/java/com/daro/reactnative/DaroMPackage.kt +0 -21
  228. package/android/src/main/java/com/daro/reactnative/view/DaroMAdNativeViewContainer.kt +0 -375
  229. package/ios/DaroMAdBannerViewManager.swift +0 -91
  230. package/ios/DaroMModule.mm +0 -45
  231. package/ios/DaroMNativeAdViewManager.swift +0 -291
  232. package/ios/mediation/admob/DaroMediationDebugger.swift +0 -11
  233. package/lib/commonjs/types/DaroMMobileAds.js +0 -2
  234. package/lib/commonjs/types/DaroMMobileAds.js.map +0 -1
  235. package/lib/module/types/DaroMMobileAds.js +0 -2
  236. package/lib/module/types/DaroMMobileAds.js.map +0 -1
  237. package/lib/typescript/commonjs/src/types/DaroMMobileAds.d.ts +0 -6
  238. package/lib/typescript/commonjs/src/types/DaroMMobileAds.d.ts.map +0 -1
  239. package/lib/typescript/module/src/types/DaroMMobileAds.d.ts +0 -6
  240. package/lib/typescript/module/src/types/DaroMMobileAds.d.ts.map +0 -1
  241. package/src/types/DaroMMobileAds.ts +0 -5
package/README.md CHANGED
@@ -31,13 +31,10 @@ module.exports = {
31
31
  'react-native-daro',
32
32
  {
33
33
  ios: {
34
- daroAppKey: 'DARO_IOS_APP_KEY',
35
- daroKeyFile: './ios-daro-key.txt',
36
- admobAppId: 'ca-app-pub-0000000000000000~0000000000',
34
+ daroIntegrationKey: 'DARO_IOS_INTEGRATION_KEY',
37
35
  },
38
36
  android: {
39
- daroAppKey: 'DARO_ANDROID_APP_KEY',
40
- daroKeyFile: './android-daro-key.txt',
37
+ daroIntegrationKey: 'DARO_ANDROID_INTEGRATION_KEY',
41
38
  },
42
39
  },
43
40
  ],
@@ -1,9 +1,7 @@
1
- import groovy.json.JsonSlurper
2
-
3
1
  buildscript {
4
2
  ext.DaroReactNative = [
5
3
  kotlinVersion: "2.0.21",
6
- minSdkVersion: 24,
4
+ minSdkVersion: 23,
7
5
  compileSdkVersion: 36,
8
6
  targetSdkVersion: 36
9
7
  ]
@@ -34,25 +32,26 @@ apply plugin: "kotlin-android"
34
32
 
35
33
  apply plugin: "com.facebook.react"
36
34
 
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"
35
+ // 통합 daro-sdk AdMob·MAX 미디에이션을 한 아티팩트에 담는다 — 빌드타임 분기가 없다.
36
+ def daroSdkDependency = "so.daro:daro-sdk:2.0.0-rc.2"
37
+ def isNewArchitectureEnabled =
38
+ (project.hasProperty("newArchEnabled") && project.property("newArchEnabled").toString().toBoolean()) ||
39
+ (project.hasProperty("react.newArchEnabled") && project.property("react.newArchEnabled").toString().toBoolean())
40
+ def architectureSourceSet = isNewArchitectureEnabled ? "newarch" : "oldarch"
47
41
 
48
42
  android {
49
43
  namespace "com.daro.reactnative"
50
44
 
51
45
  compileSdkVersion getExtOrDefault("compileSdkVersion")
52
46
 
47
+ buildFeatures {
48
+ buildConfig true
49
+ }
50
+
53
51
  defaultConfig {
54
52
  minSdkVersion getExtOrDefault("minSdkVersion")
55
53
  targetSdkVersion getExtOrDefault("targetSdkVersion")
54
+ buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled.toString()
56
55
  }
57
56
 
58
57
  buildTypes {
@@ -63,7 +62,7 @@ android {
63
62
 
64
63
  sourceSets {
65
64
  main {
66
- java.srcDirs += "src/${mediation}/java"
65
+ java.srcDirs += "src/${architectureSourceSet}/java"
67
66
  }
68
67
  }
69
68
 
@@ -80,4 +79,8 @@ android {
80
79
  dependencies {
81
80
  implementation "com.facebook.react:react-android"
82
81
  compileOnly daroSdkDependency
82
+ // QA 표면(DaroQaProbe)이 벤더 API 를 직접 부른다 — 런타임 클래스는 daro-sdk 가
83
+ // 전이로 실어 오므로 컴파일 가시성만 연다. 버전은 android/sdk 카탈로그와 맞춘다.
84
+ compileOnly "com.google.android.gms:play-services-ads:25.4.0"
85
+ compileOnly "com.applovin:applovin-sdk:13.5.1"
83
86
  }
@@ -0,0 +1,25 @@
1
+ package com.daro.reactnative
2
+
3
+ import com.daro.reactnative.view.DaroMediaView
4
+ import com.facebook.react.uimanager.ThemedReactContext
5
+ import com.facebook.react.uimanager.ViewManagerDelegate
6
+ import com.facebook.react.uimanager.ViewGroupManager
7
+ import com.facebook.react.viewmanagers.DaroMediaViewManagerDelegate
8
+ import com.facebook.react.viewmanagers.DaroMediaViewManagerInterface
9
+
10
+ class DaroMediaViewManager : ViewGroupManager<DaroMediaView>(),
11
+ DaroMediaViewManagerInterface<DaroMediaView> {
12
+
13
+ private val delegate: ViewManagerDelegate<DaroMediaView> =
14
+ DaroMediaViewManagerDelegate(this)
15
+
16
+ override fun getDelegate(): ViewManagerDelegate<DaroMediaView> = delegate
17
+
18
+ override fun getName(): String {
19
+ return "DaroMediaView"
20
+ }
21
+
22
+ override fun createViewInstance(context: ThemedReactContext): DaroMediaView {
23
+ return DaroMediaView(context)
24
+ }
25
+ }
@@ -0,0 +1,105 @@
1
+ package com.daro.reactnative
2
+
3
+ import com.daro.reactnative.constants.InternalDaroRNBannerSize
4
+ import com.daro.reactnative.event.AdViewEvent
5
+ import com.daro.reactnative.view.DaroRNAdBannerViewContainer
6
+ import com.facebook.react.bridge.ReadableArray
7
+ import com.facebook.react.uimanager.SimpleViewManager
8
+ import com.facebook.react.uimanager.ThemedReactContext
9
+ import com.facebook.react.uimanager.ViewManagerDelegate
10
+ import com.facebook.react.uimanager.annotations.ReactProp
11
+ import com.facebook.react.viewmanagers.DaroRNAdBannerViewManagerDelegate
12
+ import com.facebook.react.viewmanagers.DaroRNAdBannerViewManagerInterface
13
+
14
+ class DaroRNAdBannerViewManager : SimpleViewManager<DaroRNAdBannerViewContainer>(),
15
+ DaroRNAdBannerViewManagerInterface<DaroRNAdBannerViewContainer> {
16
+
17
+ private val delegate: ViewManagerDelegate<DaroRNAdBannerViewContainer> =
18
+ DaroRNAdBannerViewManagerDelegate(this)
19
+
20
+ override fun getDelegate(): ViewManagerDelegate<DaroRNAdBannerViewContainer> = delegate
21
+
22
+ override fun getName(): String {
23
+ return "DaroRNAdBannerView"
24
+ }
25
+
26
+ companion object {
27
+ private const val COMMAND_LOAD_AD: Int = 1
28
+ }
29
+
30
+ override fun createViewInstance(reactContext: ThemedReactContext): DaroRNAdBannerViewContainer {
31
+ return DaroRNAdBannerViewContainer(reactContext).apply {
32
+ loadOnMount = true
33
+ }
34
+ }
35
+
36
+ override fun getCommandsMap(): MutableMap<String, Int> {
37
+ return mutableMapOf(
38
+ "loadAd" to COMMAND_LOAD_AD,
39
+ )
40
+ }
41
+
42
+ override fun onAfterUpdateTransaction(view: DaroRNAdBannerViewContainer) {
43
+ super.onAfterUpdateTransaction(view)
44
+ view.onSetProps()
45
+ }
46
+
47
+ override fun onDropViewInstance(view: DaroRNAdBannerViewContainer) {
48
+ super.onDropViewInstance(view)
49
+ view.destroy()
50
+ }
51
+
52
+ @Deprecated("")
53
+ override fun receiveCommand(
54
+ root: DaroRNAdBannerViewContainer,
55
+ commandId: Int,
56
+ args: ReadableArray?,
57
+ ) {
58
+ when (commandId) {
59
+ COMMAND_LOAD_AD -> {
60
+ root.loadAd()
61
+ }
62
+ }
63
+ }
64
+
65
+ override fun receiveCommand(
66
+ root: DaroRNAdBannerViewContainer,
67
+ commandId: String,
68
+ args: ReadableArray?,
69
+ ) {
70
+ when (commandId) {
71
+ "loadAd" -> root.loadAd()
72
+ }
73
+ }
74
+
75
+ @ReactProp(name = "isVisible")
76
+ override fun setIsVisible(view: DaroRNAdBannerViewContainer, isVisible: Boolean) {
77
+ view.setAdVisibility(isVisible)
78
+ }
79
+
80
+ @ReactProp(name = "adUnitId")
81
+ override fun setAdUnitId(view: DaroRNAdBannerViewContainer, adUnitId: String?) {
82
+ view.adUnitId = adUnitId.orEmpty()
83
+ }
84
+
85
+ @ReactProp(name = "adFormat")
86
+ override fun setAdFormat(view: DaroRNAdBannerViewContainer, adFormat: String?) {
87
+ view.adSize = adFormat?.let { InternalDaroRNBannerSize.fromName(it).toBannerSize() }
88
+ }
89
+
90
+ @ReactProp(name = "loadOnMount")
91
+ override fun setLoadOnMount(view: DaroRNAdBannerViewContainer, loadOnMount: Boolean) {
92
+ view.loadOnMount = loadOnMount
93
+ }
94
+
95
+ override fun loadAd(view: DaroRNAdBannerViewContainer) {
96
+ view.loadAd()
97
+ }
98
+
99
+ @OptIn(ExperimentalStdlibApi::class)
100
+ override fun getExportedCustomDirectEventTypeConstants(): MutableMap<String, Any> {
101
+ return AdViewEvent.entries.associate {
102
+ it.value to mutableMapOf("registrationName" to it.registrationName)
103
+ }.toMutableMap()
104
+ }
105
+ }
@@ -0,0 +1,163 @@
1
+ package com.daro.reactnative
2
+
3
+ import android.view.View
4
+ import com.daro.reactnative.event.AdViewEvent
5
+ import com.daro.reactnative.view.DaroRNAdNativeViewContainer
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.DaroRNNativeAdViewManagerDelegate
13
+ import com.facebook.react.viewmanagers.DaroRNNativeAdViewManagerInterface
14
+
15
+ class DaroRNAdNativeViewManager : ViewGroupManager<DaroRNAdNativeViewContainer>(),
16
+ DaroRNNativeAdViewManagerInterface<DaroRNAdNativeViewContainer> {
17
+
18
+ private val delegate: ViewManagerDelegate<DaroRNAdNativeViewContainer> =
19
+ DaroRNNativeAdViewManagerDelegate(this)
20
+
21
+ override fun getDelegate(): ViewManagerDelegate<DaroRNAdNativeViewContainer> = delegate
22
+
23
+ override fun getName(): String {
24
+ return "DaroRNNativeAdView"
25
+ }
26
+
27
+ override fun createViewInstance(context: ThemedReactContext): DaroRNAdNativeViewContainer {
28
+ return DaroRNAdNativeViewContainer(context)
29
+ }
30
+
31
+ override fun addView(parent: DaroRNAdNativeViewContainer, child: View, index: Int) {
32
+ parent.addReactSubview(child, index)
33
+ }
34
+
35
+ override fun getChildCount(parent: DaroRNAdNativeViewContainer): Int {
36
+ return parent.getReactSubviewCount()
37
+ }
38
+
39
+ override fun getChildAt(parent: DaroRNAdNativeViewContainer, index: Int): View {
40
+ return parent.getReactSubviewAt(index)
41
+ }
42
+
43
+ override fun removeViewAt(parent: DaroRNAdNativeViewContainer, index: Int) {
44
+ parent.removeReactSubviewAt(index)
45
+ }
46
+
47
+ override fun removeAllViews(parent: DaroRNAdNativeViewContainer) {
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: DaroRNAdNativeViewContainer,
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: DaroRNAdNativeViewContainer,
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: DaroRNAdNativeViewContainer, adUnitId: String?) {
92
+ view.adUnitId = adUnitId.orEmpty()
93
+ }
94
+
95
+ @ReactProp(name = "loadOnMount")
96
+ override fun setLoadOnMount(view: DaroRNAdNativeViewContainer, loadOnMount: Boolean) {
97
+ view.loadOnMount = loadOnMount
98
+ }
99
+
100
+ @ReactProp(name = "adChoicesPosition")
101
+ override fun setAdChoicesPosition(view: DaroRNAdNativeViewContainer, value: String?) {
102
+ view.setAdChoicesPosition(value)
103
+ }
104
+
105
+ @ReactProp(name = "titleView")
106
+ override fun setTitleView(view: DaroRNAdNativeViewContainer, value: Int) {
107
+ view.setTitleView(value)
108
+ }
109
+
110
+ @ReactProp(name = "bodyView")
111
+ override fun setBodyView(view: DaroRNAdNativeViewContainer, value: Int) {
112
+ view.setBodyView(value)
113
+ }
114
+
115
+ @ReactProp(name = "callToActionView")
116
+ override fun setCallToActionView(view: DaroRNAdNativeViewContainer, value: Int) {
117
+ view.setCallToActionView(value)
118
+ }
119
+
120
+ @ReactProp(name = "iconView")
121
+ override fun setIconView(view: DaroRNAdNativeViewContainer, value: Int) {
122
+ view.setIconView(value)
123
+ }
124
+
125
+ @ReactProp(name = "mediaView")
126
+ override fun setMediaView(view: DaroRNAdNativeViewContainer, value: Int) {
127
+ view.setMediaView(value)
128
+ }
129
+
130
+ @ReactProp(name = "titleViewStyleProps")
131
+ override fun setTitleViewStyleProps(view: DaroRNAdNativeViewContainer, value: Dynamic) {
132
+ }
133
+
134
+ @ReactProp(name = "bodyViewStyleProps")
135
+ override fun setBodyViewStyleProps(view: DaroRNAdNativeViewContainer, value: Dynamic) {
136
+ }
137
+
138
+ @ReactProp(name = "callToActionViewStyleProps")
139
+ override fun setCallToActionViewStyleProps(view: DaroRNAdNativeViewContainer, value: Dynamic) {
140
+ }
141
+
142
+ @ReactProp(name = "iconViewStyleProps")
143
+ override fun setIconViewStyleProps(view: DaroRNAdNativeViewContainer, value: Dynamic) {
144
+ }
145
+
146
+ @ReactProp(name = "mediaViewStyleProps")
147
+ override fun setMediaViewStyleProps(view: DaroRNAdNativeViewContainer, value: Dynamic) {
148
+ }
149
+
150
+ override fun loadAd(view: DaroRNAdNativeViewContainer) {
151
+ view.loadAd()
152
+ }
153
+
154
+ override fun onAfterUpdateTransaction(view: DaroRNAdNativeViewContainer) {
155
+ super.onAfterUpdateTransaction(view)
156
+ view.onSetProps()
157
+ }
158
+
159
+ override fun onDropViewInstance(view: DaroRNAdNativeViewContainer) {
160
+ super.onDropViewInstance(view)
161
+ view.destroy()
162
+ }
163
+ }