react-native-daro 1.0.0
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.
- package/LICENSE +20 -0
- package/README.md +47 -0
- package/android/build.gradle +99 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/AndroidManifestNew.xml +7 -0
- package/android/src/main/java/com/darom/DaroMAdBannerViewManager.kt +114 -0
- package/android/src/main/java/com/darom/DaroMAdNativeViewManager.kt +133 -0
- package/android/src/main/java/com/darom/DaroMModule.kt +194 -0
- package/android/src/main/java/com/darom/DaroMPackage.kt +21 -0
- package/android/src/main/java/com/darom/constants/InternalDaroMBannerSize.kt +23 -0
- package/android/src/main/java/com/darom/event/DaroMEvent.kt +57 -0
- package/android/src/main/java/com/darom/impl/DaroMBannerViewModuleImpl.kt +10 -0
- package/android/src/main/java/com/darom/impl/DaroMInterstitialModuleImpl.kt +113 -0
- package/android/src/main/java/com/darom/impl/DaroMLightPopupModuleImpl.kt +149 -0
- package/android/src/main/java/com/darom/impl/DaroMRewardedAdModuleImpl.kt +128 -0
- package/android/src/main/java/com/darom/util/AdInfoUtil.kt +51 -0
- package/android/src/main/java/com/darom/util/EventEmitterUtil.kt +24 -0
- package/android/src/main/java/com/darom/view/DaroMAdBannerViewContainer.kt +132 -0
- package/android/src/main/java/com/darom/view/DaroMAdNativeViewContainer.kt +372 -0
- package/android/src/main/res/layout/layout_activity_transparent.xml +7 -0
- package/android/src/main/res/values/styles.xml +11 -0
- package/ios/Daro+Extensions.swift +196 -0
- package/ios/DaroM-Bridging-Header.h +6 -0
- package/ios/DaroMAdBannerViewManager.m +15 -0
- package/ios/DaroMAdBannerViewManager.swift +87 -0
- package/ios/DaroMModule+AppOpen.swift +98 -0
- package/ios/DaroMModule+Interstitial.swift +100 -0
- package/ios/DaroMModule+LightPopup.swift +166 -0
- package/ios/DaroMModule+Rewarded.swift +118 -0
- package/ios/DaroMModule.mm +45 -0
- package/ios/DaroMModule.swift +218 -0
- package/ios/DaroMNativeAdViewManager.m +26 -0
- package/ios/DaroMNativeAdViewManager.swift +291 -0
- package/lib/commonjs/AdBannerView.js +115 -0
- package/lib/commonjs/AdBannerView.js.map +1 -0
- package/lib/commonjs/AppOpenAd.js +92 -0
- package/lib/commonjs/AppOpenAd.js.map +1 -0
- package/lib/commonjs/ErrorCode.js +11 -0
- package/lib/commonjs/ErrorCode.js.map +1 -0
- package/lib/commonjs/EventEmitter.js +30 -0
- package/lib/commonjs/EventEmitter.js.map +1 -0
- package/lib/commonjs/InterstitialAd.js +92 -0
- package/lib/commonjs/InterstitialAd.js.map +1 -0
- package/lib/commonjs/LightPopupAd.js +135 -0
- package/lib/commonjs/LightPopupAd.js.map +1 -0
- package/lib/commonjs/RewardedAd.js +105 -0
- package/lib/commonjs/RewardedAd.js.map +1 -0
- package/lib/commonjs/index.js +126 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/nativeAd/NativeAdView.js +103 -0
- package/lib/commonjs/nativeAd/NativeAdView.js.map +1 -0
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js +189 -0
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js.map +1 -0
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js +29 -0
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js.map +1 -0
- package/lib/commonjs/types/AdBannerViewProps.js +6 -0
- package/lib/commonjs/types/AdBannerViewProps.js.map +1 -0
- package/lib/commonjs/types/AdEvent.js +6 -0
- package/lib/commonjs/types/AdEvent.js.map +1 -0
- package/lib/commonjs/types/AdInfo.js +6 -0
- package/lib/commonjs/types/AdInfo.js.map +1 -0
- package/lib/commonjs/types/AdProps.js +6 -0
- package/lib/commonjs/types/AdProps.js.map +1 -0
- package/lib/commonjs/types/AppOpenAd.js +6 -0
- package/lib/commonjs/types/AppOpenAd.js.map +1 -0
- package/lib/commonjs/types/DaroMMobileAds.js +2 -0
- package/lib/commonjs/types/DaroMMobileAds.js.map +1 -0
- package/lib/commonjs/types/FullScreenAd.js +6 -0
- package/lib/commonjs/types/FullScreenAd.js.map +1 -0
- package/lib/commonjs/types/InterstitialAd.js +6 -0
- package/lib/commonjs/types/InterstitialAd.js.map +1 -0
- package/lib/commonjs/types/LightPopupAd.js +6 -0
- package/lib/commonjs/types/LightPopupAd.js.map +1 -0
- package/lib/commonjs/types/NativeAdViewProps.js +6 -0
- package/lib/commonjs/types/NativeAdViewProps.js.map +1 -0
- package/lib/commonjs/types/RewardedAd.js +6 -0
- package/lib/commonjs/types/RewardedAd.js.map +1 -0
- package/lib/commonjs/types/index.js +61 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/module/AdBannerView.js +111 -0
- package/lib/module/AdBannerView.js.map +1 -0
- package/lib/module/AppOpenAd.js +88 -0
- package/lib/module/AppOpenAd.js.map +1 -0
- package/lib/module/ErrorCode.js +7 -0
- package/lib/module/ErrorCode.js.map +1 -0
- package/lib/module/EventEmitter.js +24 -0
- package/lib/module/EventEmitter.js.map +1 -0
- package/lib/module/InterstitialAd.js +88 -0
- package/lib/module/InterstitialAd.js.map +1 -0
- package/lib/module/LightPopupAd.js +130 -0
- package/lib/module/LightPopupAd.js.map +1 -0
- package/lib/module/RewardedAd.js +101 -0
- package/lib/module/RewardedAd.js.map +1 -0
- package/lib/module/index.js +30 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/nativeAd/NativeAdView.js +99 -0
- package/lib/module/nativeAd/NativeAdView.js.map +1 -0
- package/lib/module/nativeAd/NativeAdViewComponents.js +179 -0
- package/lib/module/nativeAd/NativeAdViewComponents.js.map +1 -0
- package/lib/module/nativeAd/NativeAdViewProvider.js +23 -0
- package/lib/module/nativeAd/NativeAdViewProvider.js.map +1 -0
- package/lib/module/types/AdBannerViewProps.js +4 -0
- package/lib/module/types/AdBannerViewProps.js.map +1 -0
- package/lib/module/types/AdEvent.js +4 -0
- package/lib/module/types/AdEvent.js.map +1 -0
- package/lib/module/types/AdInfo.js +4 -0
- package/lib/module/types/AdInfo.js.map +1 -0
- package/lib/module/types/AdProps.js +4 -0
- package/lib/module/types/AdProps.js.map +1 -0
- package/lib/module/types/AppOpenAd.js +4 -0
- package/lib/module/types/AppOpenAd.js.map +1 -0
- package/lib/module/types/DaroMMobileAds.js +2 -0
- package/lib/module/types/DaroMMobileAds.js.map +1 -0
- package/lib/module/types/FullScreenAd.js +4 -0
- package/lib/module/types/FullScreenAd.js.map +1 -0
- package/lib/module/types/InterstitialAd.js +4 -0
- package/lib/module/types/InterstitialAd.js.map +1 -0
- package/lib/module/types/LightPopupAd.js +4 -0
- package/lib/module/types/LightPopupAd.js.map +1 -0
- package/lib/module/types/NativeAdViewProps.js +4 -0
- package/lib/module/types/NativeAdViewProps.js.map +1 -0
- package/lib/module/types/RewardedAd.js +4 -0
- package/lib/module/types/RewardedAd.js.map +1 -0
- package/lib/module/types/index.js +8 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/src/AdBannerView.d.ts +12 -0
- package/lib/typescript/commonjs/src/AdBannerView.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/AppOpenAd.d.ts +4 -0
- package/lib/typescript/commonjs/src/AppOpenAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ErrorCode.d.ts +4 -0
- package/lib/typescript/commonjs/src/ErrorCode.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/EventEmitter.d.ts +4 -0
- package/lib/typescript/commonjs/src/EventEmitter.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/InterstitialAd.d.ts +4 -0
- package/lib/typescript/commonjs/src/InterstitialAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/LightPopupAd.d.ts +4 -0
- package/lib/typescript/commonjs/src/LightPopupAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/RewardedAd.d.ts +4 -0
- package/lib/typescript/commonjs/src/RewardedAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +11 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/nativeAd/NativeAdView.d.ts +6 -0
- package/lib/typescript/commonjs/src/nativeAd/NativeAdView.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/nativeAd/NativeAdViewComponents.d.ts +7 -0
- package/lib/typescript/commonjs/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/nativeAd/NativeAdViewProvider.d.ts +14 -0
- package/lib/typescript/commonjs/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/AdBannerViewProps.d.ts +14 -0
- package/lib/typescript/commonjs/src/types/AdBannerViewProps.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/AdEvent.d.ts +7 -0
- package/lib/typescript/commonjs/src/types/AdEvent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/AdInfo.d.ts +19 -0
- package/lib/typescript/commonjs/src/types/AdInfo.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/AdProps.d.ts +11 -0
- package/lib/typescript/commonjs/src/types/AdProps.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/AppOpenAd.d.ts +3 -0
- package/lib/typescript/commonjs/src/types/AppOpenAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/DaroMMobileAds.d.ts +6 -0
- package/lib/typescript/commonjs/src/types/DaroMMobileAds.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/FullScreenAd.d.ts +21 -0
- package/lib/typescript/commonjs/src/types/FullScreenAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/InterstitialAd.d.ts +3 -0
- package/lib/typescript/commonjs/src/types/InterstitialAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/LightPopupAd.d.ts +18 -0
- package/lib/typescript/commonjs/src/types/LightPopupAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/NativeAdViewProps.d.ts +17 -0
- package/lib/typescript/commonjs/src/types/NativeAdViewProps.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/RewardedAd.d.ts +9 -0
- package/lib/typescript/commonjs/src/types/RewardedAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/index.d.ts +6 -0
- package/lib/typescript/commonjs/src/types/index.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/src/AdBannerView.d.ts +12 -0
- package/lib/typescript/module/src/AdBannerView.d.ts.map +1 -0
- package/lib/typescript/module/src/AppOpenAd.d.ts +4 -0
- package/lib/typescript/module/src/AppOpenAd.d.ts.map +1 -0
- package/lib/typescript/module/src/ErrorCode.d.ts +4 -0
- package/lib/typescript/module/src/ErrorCode.d.ts.map +1 -0
- package/lib/typescript/module/src/EventEmitter.d.ts +4 -0
- package/lib/typescript/module/src/EventEmitter.d.ts.map +1 -0
- package/lib/typescript/module/src/InterstitialAd.d.ts +4 -0
- package/lib/typescript/module/src/InterstitialAd.d.ts.map +1 -0
- package/lib/typescript/module/src/LightPopupAd.d.ts +4 -0
- package/lib/typescript/module/src/LightPopupAd.d.ts.map +1 -0
- package/lib/typescript/module/src/RewardedAd.d.ts +4 -0
- package/lib/typescript/module/src/RewardedAd.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +11 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -0
- package/lib/typescript/module/src/nativeAd/NativeAdView.d.ts +6 -0
- package/lib/typescript/module/src/nativeAd/NativeAdView.d.ts.map +1 -0
- package/lib/typescript/module/src/nativeAd/NativeAdViewComponents.d.ts +7 -0
- package/lib/typescript/module/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -0
- package/lib/typescript/module/src/nativeAd/NativeAdViewProvider.d.ts +14 -0
- package/lib/typescript/module/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -0
- package/lib/typescript/module/src/types/AdBannerViewProps.d.ts +14 -0
- package/lib/typescript/module/src/types/AdBannerViewProps.d.ts.map +1 -0
- package/lib/typescript/module/src/types/AdEvent.d.ts +7 -0
- package/lib/typescript/module/src/types/AdEvent.d.ts.map +1 -0
- package/lib/typescript/module/src/types/AdInfo.d.ts +19 -0
- package/lib/typescript/module/src/types/AdInfo.d.ts.map +1 -0
- package/lib/typescript/module/src/types/AdProps.d.ts +11 -0
- package/lib/typescript/module/src/types/AdProps.d.ts.map +1 -0
- package/lib/typescript/module/src/types/AppOpenAd.d.ts +3 -0
- package/lib/typescript/module/src/types/AppOpenAd.d.ts.map +1 -0
- package/lib/typescript/module/src/types/DaroMMobileAds.d.ts +6 -0
- package/lib/typescript/module/src/types/DaroMMobileAds.d.ts.map +1 -0
- package/lib/typescript/module/src/types/FullScreenAd.d.ts +21 -0
- package/lib/typescript/module/src/types/FullScreenAd.d.ts.map +1 -0
- package/lib/typescript/module/src/types/InterstitialAd.d.ts +3 -0
- package/lib/typescript/module/src/types/InterstitialAd.d.ts.map +1 -0
- package/lib/typescript/module/src/types/LightPopupAd.d.ts +18 -0
- package/lib/typescript/module/src/types/LightPopupAd.d.ts.map +1 -0
- package/lib/typescript/module/src/types/NativeAdViewProps.d.ts +17 -0
- package/lib/typescript/module/src/types/NativeAdViewProps.d.ts.map +1 -0
- package/lib/typescript/module/src/types/RewardedAd.d.ts +9 -0
- package/lib/typescript/module/src/types/RewardedAd.d.ts.map +1 -0
- package/lib/typescript/module/src/types/index.d.ts +6 -0
- package/lib/typescript/module/src/types/index.d.ts.map +1 -0
- package/package.json +185 -0
- package/react-native-daro-m.podspec +44 -0
- package/src/AdBannerView.tsx +138 -0
- package/src/AppOpenAd.ts +113 -0
- package/src/ErrorCode.ts +4 -0
- package/src/EventEmitter.ts +25 -0
- package/src/InterstitialAd.ts +113 -0
- package/src/LightPopupAd.ts +161 -0
- package/src/RewardedAd.ts +130 -0
- package/src/index.tsx +37 -0
- package/src/nativeAd/NativeAdView.tsx +124 -0
- package/src/nativeAd/NativeAdViewComponents.tsx +239 -0
- package/src/nativeAd/NativeAdViewProvider.tsx +32 -0
- package/src/types/AdBannerViewProps.ts +15 -0
- package/src/types/AdEvent.ts +9 -0
- package/src/types/AdInfo.ts +37 -0
- package/src/types/AdProps.ts +18 -0
- package/src/types/AppOpenAd.ts +3 -0
- package/src/types/DaroMMobileAds.ts +8 -0
- package/src/types/FullScreenAd.ts +28 -0
- package/src/types/InterstitialAd.ts +3 -0
- package/src/types/LightPopupAd.ts +19 -0
- package/src/types/NativeAdViewProps.ts +18 -0
- package/src/types/RewardedAd.ts +15 -0
- package/src/types/index.ts +5 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import Daro
|
|
2
|
+
|
|
3
|
+
// MARK: - AppOpen Ad Methods
|
|
4
|
+
|
|
5
|
+
extension DaroMModule {
|
|
6
|
+
|
|
7
|
+
@objc(isAppOpenAdReady:::)
|
|
8
|
+
func isAppOpenAdReady(
|
|
9
|
+
_ adUnitId: String,
|
|
10
|
+
resolve: RCTPromiseResolveBlock,
|
|
11
|
+
reject: RCTPromiseRejectBlock
|
|
12
|
+
) {
|
|
13
|
+
if !Self.sdkInitialized {
|
|
14
|
+
DaroMModule.logger.debug("[DaroMMobileAds] !isInitialized")
|
|
15
|
+
resolve(false)
|
|
16
|
+
return
|
|
17
|
+
}
|
|
18
|
+
resolve(appOpenAds[adUnitId]?.loadedAd != nil)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@objc(loadAppOpenAd:::)
|
|
22
|
+
func loadAppOpenAd(
|
|
23
|
+
_ adUnitId: String,
|
|
24
|
+
resolve: RCTPromiseResolveBlock,
|
|
25
|
+
reject: RCTPromiseRejectBlock
|
|
26
|
+
) {
|
|
27
|
+
let appOpenAdLoader = retrieveAppOpenLoader(for: adUnitId)
|
|
28
|
+
appOpenAdLoader.loadAd()
|
|
29
|
+
resolve(Void())
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@objc(showAppOpenAd::::)
|
|
33
|
+
func showAppOpenAd(
|
|
34
|
+
_ adUnitId: String,
|
|
35
|
+
customData: String?,
|
|
36
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
37
|
+
reject: RCTPromiseRejectBlock
|
|
38
|
+
) {
|
|
39
|
+
guard let loadedAd = appOpenAds[adUnitId]?.loadedAd else {
|
|
40
|
+
reject("APPOPEN_NOT_LOADED", "AppOpen ad not loaded", nil)
|
|
41
|
+
return
|
|
42
|
+
}
|
|
43
|
+
DispatchQueue.main.async {
|
|
44
|
+
loadedAd.show()
|
|
45
|
+
resolve(Void())
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
func retrieveAppOpenLoader(for unitId: String) -> DaroAppOpenAdLoader {
|
|
50
|
+
if let appOpenLoader = appOpenAds[unitId] {
|
|
51
|
+
return appOpenLoader.loader
|
|
52
|
+
} else {
|
|
53
|
+
let appOpenLoader = DaroAppOpenAdLoader(unit: DaroAdUnit(unitId: unitId))
|
|
54
|
+
appOpenLoader.listener.onAdClicked = { [weak self] adInfo in
|
|
55
|
+
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad clicked")
|
|
56
|
+
self?.sendEvent(with: .onAppOpenAdClickedEvent, body: adInfo?.toBody)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
appOpenLoader.listener.onAdImpression = { [weak self] adInfo in
|
|
60
|
+
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad impression")
|
|
61
|
+
self?.interstitials[unitId]?.loadedAd = nil
|
|
62
|
+
self?.sendEvent(with: .onAppOpenAdImpressionRecordedEvent, body: adInfo?.toBody)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
appOpenLoader.listener.onAdLoadSuccess = { [weak self] ad, adInfo in
|
|
66
|
+
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad loaded")
|
|
67
|
+
self?.appOpenAds[unitId]?.loadedAd = ad
|
|
68
|
+
self?.sendEvent(with: .onAppOpenAdLoadedEvent, body: adInfo?.toBody)
|
|
69
|
+
self?.setupAppOpenListener(for: ad)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
appOpenLoader.listener.onAdLoadFail = { [weak self] error in
|
|
73
|
+
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad failed: \(error)")
|
|
74
|
+
self?.sendEvent(with: .onAppOpenAdLoadFailedEvent, body: error.toBody)
|
|
75
|
+
}
|
|
76
|
+
self.appOpenAds[unitId] = AppOpenAd(loader: appOpenLoader)
|
|
77
|
+
return appOpenLoader
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
private func setupAppOpenListener(for ad: DaroAppOpenAd) {
|
|
82
|
+
ad.appOpenAdListener.onShown = { [weak self] adInfo in
|
|
83
|
+
DaroMModule.logger.debug("[DARO] Sample AppOpen Ad displayed")
|
|
84
|
+
self?.sendEvent(with: .onAppOpenAdDisplayedEvent, body: adInfo?.toBody)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
ad.appOpenAdListener.onDismiss = { [weak self] adInfo in
|
|
88
|
+
DaroMModule.logger.debug("[DARO] Sample AppOpen Ad hidden")
|
|
89
|
+
self?.sendEvent(with: .onAppOpenAdHiddenEvent, body: adInfo?.toBody)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
ad.appOpenAdListener.onFailedToShow = { [weak self] adInfo, error in
|
|
93
|
+
DaroMModule.logger.debug("[DARO] Sample AppOpen Ad failed to display")
|
|
94
|
+
self?.sendEvent(with: .onAppOpenAdFailedToDisplayEvent, body: adInfo?.toBody)
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import Daro
|
|
2
|
+
|
|
3
|
+
// MARK: - Interstitial Ad Methods
|
|
4
|
+
|
|
5
|
+
extension DaroMModule {
|
|
6
|
+
|
|
7
|
+
@objc(isInterstitialReady:::)
|
|
8
|
+
func isInterstitialReady(
|
|
9
|
+
_ adUnitId: String,
|
|
10
|
+
resolve: RCTPromiseResolveBlock,
|
|
11
|
+
reject: RCTPromiseRejectBlock
|
|
12
|
+
) {
|
|
13
|
+
if !Self.sdkInitialized {
|
|
14
|
+
DaroMModule.logger.debug("[DaroMMobileAds] !isInitialized")
|
|
15
|
+
resolve(false)
|
|
16
|
+
return
|
|
17
|
+
}
|
|
18
|
+
resolve(interstitials[adUnitId]?.loadedAd != nil)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@objc(loadInterstitial:::)
|
|
22
|
+
func loadInterstitial(
|
|
23
|
+
_ adUnitId: String,
|
|
24
|
+
resolve: RCTPromiseResolveBlock,
|
|
25
|
+
reject: RCTPromiseRejectBlock
|
|
26
|
+
) {
|
|
27
|
+
let interstitialLoader = retrieveInterstitialLoader(for: adUnitId)
|
|
28
|
+
interstitialLoader.loadAd()
|
|
29
|
+
resolve(Void())
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@objc(showInterstitial:::)
|
|
33
|
+
func showInterstitial(
|
|
34
|
+
_ adUnitId: String,
|
|
35
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
36
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
37
|
+
) {
|
|
38
|
+
guard let loadedAd = interstitials[adUnitId]?.loadedAd else {
|
|
39
|
+
reject("INTERSTITIAL_NOT_LOADED", "Interstitial ad not loaded", nil)
|
|
40
|
+
return
|
|
41
|
+
}
|
|
42
|
+
DispatchQueue.main.async {
|
|
43
|
+
guard let viewController = UIApplication.shared.windows.first?.rootViewController else {
|
|
44
|
+
reject("VIEW_CONTROLLER_NOT_FOUND", "Root view controller not found", nil)
|
|
45
|
+
return
|
|
46
|
+
}
|
|
47
|
+
loadedAd.show(viewController: viewController)
|
|
48
|
+
resolve(Void())
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
func retrieveInterstitialLoader(for unitId: String) -> DaroInterstitialAdLoader {
|
|
53
|
+
if let interstitialAd = interstitials[unitId] {
|
|
54
|
+
return interstitialAd.loader
|
|
55
|
+
} else {
|
|
56
|
+
let interstitialLoader = DaroInterstitialAdLoader(unit: DaroAdUnit(unitId: unitId))
|
|
57
|
+
interstitialLoader.listener.onAdClicked = { [weak self] adInfo in
|
|
58
|
+
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad clicked")
|
|
59
|
+
self?.sendEvent(with: .onInterstitialClickedEvent, body: adInfo?.toBody)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
interstitialLoader.listener.onAdImpression = { [weak self] adInfo in
|
|
63
|
+
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad impression")
|
|
64
|
+
self?.interstitials[unitId]?.loadedAd = nil
|
|
65
|
+
self?.sendEvent(with: .onInterstitialAdImpressionRecordedEvent, body: adInfo?.toBody)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
interstitialLoader.listener.onAdLoadSuccess = { [weak self] ad, adInfo in
|
|
69
|
+
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad loaded")
|
|
70
|
+
self?.interstitials[unitId]?.loadedAd = ad
|
|
71
|
+
self?.sendEvent(with: .onInterstitialLoadedEvent, body: adInfo?.toBody)
|
|
72
|
+
self?.setupInterstitialListener(for: ad)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
interstitialLoader.listener.onAdLoadFail = { [weak self] error in
|
|
76
|
+
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad failed: \(error)")
|
|
77
|
+
self?.sendEvent(with: .onInterstitialLoadFailedEvent, body: error.toBody)
|
|
78
|
+
}
|
|
79
|
+
self.interstitials[unitId] = InterstitialAd(loader: interstitialLoader)
|
|
80
|
+
return interstitialLoader
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
private func setupInterstitialListener(for ad: DaroInterstitialAd) {
|
|
85
|
+
ad.interstitialListener.onShown = { [weak self] adInfo in
|
|
86
|
+
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad displayed")
|
|
87
|
+
self?.sendEvent(with: .onInterstitialDisplayedEvent, body: adInfo?.toBody)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
ad.interstitialListener.onDismiss = { [weak self] adInfo in
|
|
91
|
+
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad hidden")
|
|
92
|
+
self?.sendEvent(with: .onInterstitialHiddenEvent, body: adInfo?.toBody)
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
ad.interstitialListener.onFailedToShow = { [weak self] adInfo, error in
|
|
96
|
+
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad failed to display")
|
|
97
|
+
self?.sendEvent(with: .onInterstitialAdFailedToDisplayEvent, body: adInfo?.toBody)
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import Daro
|
|
2
|
+
import UIKit
|
|
3
|
+
// MARK: - LightPopup Ad
|
|
4
|
+
extension DaroMModule {
|
|
5
|
+
|
|
6
|
+
@objc(isLightPopupReady:::)
|
|
7
|
+
func isLightPopupReady(
|
|
8
|
+
_ adUnitId: String,
|
|
9
|
+
resolve: RCTPromiseResolveBlock,
|
|
10
|
+
reject: RCTPromiseRejectBlock
|
|
11
|
+
) {
|
|
12
|
+
if !Self.sdkInitialized {
|
|
13
|
+
DaroMModule.logger.debug("[DaroMMobileAds] !isInitialized")
|
|
14
|
+
resolve(false)
|
|
15
|
+
return
|
|
16
|
+
}
|
|
17
|
+
resolve(lightPopups[adUnitId]?.loadedAd != nil)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@objc(loadLightPopup:::)
|
|
21
|
+
func loadLightPopup(
|
|
22
|
+
_ adUnitId: String,
|
|
23
|
+
resolve: RCTPromiseResolveBlock,
|
|
24
|
+
reject: RCTPromiseRejectBlock
|
|
25
|
+
) {
|
|
26
|
+
let lightPopupLoader = retrieveLightPopupLoader(for: adUnitId)
|
|
27
|
+
lightPopupLoader.loadAd()
|
|
28
|
+
resolve(Void())
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@objc(showLightPopup:::)
|
|
32
|
+
func showLightPopup(
|
|
33
|
+
_ adUnitId: String,
|
|
34
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
35
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
36
|
+
) {
|
|
37
|
+
guard let loadedAd = lightPopups[adUnitId]?.loadedAd else {
|
|
38
|
+
reject("LIGHTPOPUP_NOT_LOADED", "LightPopup ad not loaded", nil)
|
|
39
|
+
return
|
|
40
|
+
}
|
|
41
|
+
DispatchQueue.main.async {
|
|
42
|
+
guard let viewController = UIApplication.shared.windows.first?.rootViewController else {
|
|
43
|
+
reject("VIEW_CONTROLLER_NOT_FOUND", "Root view controller not found", nil)
|
|
44
|
+
return
|
|
45
|
+
}
|
|
46
|
+
loadedAd.show(viewController: viewController)
|
|
47
|
+
resolve(Void())
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@objc(setLightPopupAdConfiguration::::)
|
|
52
|
+
func setLightPopupAdConfiguration(
|
|
53
|
+
_ adUnitId: String,
|
|
54
|
+
configuration: [String: Any],
|
|
55
|
+
resolve: RCTPromiseResolveBlock,
|
|
56
|
+
reject: RCTPromiseRejectBlock
|
|
57
|
+
) {
|
|
58
|
+
guard let loadedAd = lightPopups[adUnitId]?.loadedAd else {
|
|
59
|
+
lightPopupConfigurations[adUnitId] = configuration
|
|
60
|
+
resolve(Void())
|
|
61
|
+
return
|
|
62
|
+
}
|
|
63
|
+
executeOnMainThread {
|
|
64
|
+
let lightPopupConfig = DaroLightPopupConfiguration()
|
|
65
|
+
|
|
66
|
+
func setColorIfValid(_ key: String, setter: (UIColor) -> Void) {
|
|
67
|
+
if let colorString = configuration[key] as? String {
|
|
68
|
+
setter(UIColor(hex: colorString))
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
setColorIfValid("backgroundColor") { lightPopupConfig.backgroundColor = $0 }
|
|
73
|
+
setColorIfValid("cardViewBackgroundColor") { lightPopupConfig.cardViewBackgroundColor = $0 }
|
|
74
|
+
setColorIfValid("adMarkLabelTextColor") { lightPopupConfig.adMarkLabelTextColor = $0 }
|
|
75
|
+
setColorIfValid("adMarkLabelBackgroundColor") { lightPopupConfig.adMarkLabelBackgroundColor = $0 }
|
|
76
|
+
setColorIfValid("closeButtonTextColor") { lightPopupConfig.closeButtonTextColor = $0 }
|
|
77
|
+
setColorIfValid("titleTextColor") { lightPopupConfig.titleTextColor = $0 }
|
|
78
|
+
setColorIfValid("bodyTextColor") { lightPopupConfig.bodyTextColor = $0 }
|
|
79
|
+
setColorIfValid("ctaButtonTextColor") { lightPopupConfig.ctaButtonTextColor = $0 }
|
|
80
|
+
setColorIfValid("ctaButtonBackgroundColor") { lightPopupConfig.ctaButtonBackgroundColor = $0 }
|
|
81
|
+
|
|
82
|
+
if let closeButtonText = configuration["closeButtonText"] as? String {
|
|
83
|
+
lightPopupConfig.closeButtonText = closeButtonText
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
loadedAd.configuration = lightPopupConfig
|
|
87
|
+
}
|
|
88
|
+
resolve(Void())
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
func retrieveLightPopupLoader(for unitId: String) -> DaroLightPopupAdLoader {
|
|
92
|
+
if let lightPopupAd = lightPopups[unitId] {
|
|
93
|
+
return lightPopupAd.loader
|
|
94
|
+
} else {
|
|
95
|
+
let lightPopupLoader = DaroLightPopupAdLoader(unit: DaroAdUnit(unitId: unitId))
|
|
96
|
+
|
|
97
|
+
lightPopupLoader.listener.onAdClicked = { [weak self] adInfo in
|
|
98
|
+
self?.sendEvent(with: .onLightPopupClickedEvent, body: adInfo?.toBody)
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
lightPopupLoader.listener.onAdImpression = { [weak self] adInfo in
|
|
102
|
+
self?.lightPopups[unitId]?.loadedAd = nil
|
|
103
|
+
self?.sendEvent(with: .onLightPopupAdImpressionRecordedEvent, body: adInfo?.toBody)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
lightPopupLoader.listener.onAdLoadSuccess = { [weak self] ad, adInfo in
|
|
107
|
+
self?.lightPopups[unitId]?.loadedAd = ad
|
|
108
|
+
self?.sendEvent(with: .onLightPopupLoadedEvent, body: adInfo?.toBody)
|
|
109
|
+
self?.setupLightPopupListener(for: ad)
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
lightPopupLoader.listener.onAdLoadFail = { [weak self] error in
|
|
113
|
+
self?.sendEvent(with: .onLightPopupLoadFailedEvent, body: error.toBody)
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
self.lightPopups[unitId] = LightPopupAd(loader: lightPopupLoader)
|
|
117
|
+
return lightPopupLoader
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
private func setupLightPopupListener(for ad: DaroLightPopupAd) {
|
|
122
|
+
ad.lightPopupAdListener.onShown = { [weak self] adInfo in
|
|
123
|
+
self?.sendEvent(with: .onLightPopupDisplayedEvent, body: adInfo?.toBody)
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
ad.lightPopupAdListener.onDismiss = { [weak self] adInfo in
|
|
127
|
+
self?.sendEvent(with: .onLightPopupHiddenEvent, body: adInfo?.toBody)
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
ad.lightPopupAdListener.onFailedToShow = { [weak self] adInfo, error in
|
|
131
|
+
self?.sendEvent(with: .onLightPopupAdFailedToDisplayEvent, body: adInfo?.toBody)
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// 메인 스레드에서 실행하는 헬퍼 메서드
|
|
136
|
+
private func executeOnMainThread<T>(_ block: () -> T) -> T {
|
|
137
|
+
if Thread.isMainThread {
|
|
138
|
+
return block()
|
|
139
|
+
} else {
|
|
140
|
+
var result: T!
|
|
141
|
+
DispatchQueue.main.sync {
|
|
142
|
+
result = block()
|
|
143
|
+
}
|
|
144
|
+
return result
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
extension DaroLightPopupConfiguration {
|
|
150
|
+
convenience init(from configuration: [String: Any]) {
|
|
151
|
+
self.init()
|
|
152
|
+
func setColorIfValid(_ key: String, setter: (UIColor) -> Void) {
|
|
153
|
+
if let colorString = configuration[key] as? String {
|
|
154
|
+
setter(UIColor(hex: colorString))
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
setColorIfValid("backgroundColor") { self.backgroundColor = $0 }
|
|
159
|
+
setColorIfValid("cardViewBackgroundColor") { self.cardViewBackgroundColor = $0 }
|
|
160
|
+
setColorIfValid("adMarkLabelTextColor") { self.adMarkLabelTextColor = $0 }
|
|
161
|
+
setColorIfValid("adMarkLabelBackgroundColor") { self.adMarkLabelBackgroundColor = $0 }
|
|
162
|
+
setColorIfValid("closeButtonTextColor") { self.closeButtonTextColor = $0 }
|
|
163
|
+
setColorIfValid("titleTextColor") { self.titleTextColor = $0 }
|
|
164
|
+
setColorIfValid("bodyTextColor") { self.bodyTextColor = $0 }
|
|
165
|
+
}
|
|
166
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import Daro
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
extension DaroMModule {
|
|
5
|
+
@objc(isRewardedAdReady:::)
|
|
6
|
+
func isRewardedAdReady(
|
|
7
|
+
_ adUnitId: String,
|
|
8
|
+
resolve: RCTPromiseResolveBlock,
|
|
9
|
+
reject: RCTPromiseRejectBlock
|
|
10
|
+
) {
|
|
11
|
+
if !Self.sdkInitialized {
|
|
12
|
+
DaroMModule.logger.debug("[DaroMMobileAds] !isInitialized")
|
|
13
|
+
resolve(false)
|
|
14
|
+
return
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
resolve(rewardedAds[adUnitId]?.loadedAd != nil)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@objc(loadRewardedAd:::)
|
|
21
|
+
func loadRewardedAd(
|
|
22
|
+
_ adUnitId: String,
|
|
23
|
+
resolve: RCTPromiseResolveBlock,
|
|
24
|
+
reject: RCTPromiseRejectBlock
|
|
25
|
+
) {
|
|
26
|
+
let rewardedLoader = retrieveRewardedLoader(for: adUnitId)
|
|
27
|
+
rewardedLoader.loadAd()
|
|
28
|
+
resolve(Void())
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@objc(showRewardedAd::::)
|
|
32
|
+
func showRewardedAd(
|
|
33
|
+
_ adUnitId: String,
|
|
34
|
+
customData: String?,
|
|
35
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
36
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
37
|
+
) {
|
|
38
|
+
guard let loadedAd = rewardedAds[adUnitId]?.loadedAd else {
|
|
39
|
+
reject("REWARDED_AD_NOT_LOADED", "Rewarded ad not loaded", nil)
|
|
40
|
+
return
|
|
41
|
+
}
|
|
42
|
+
DispatchQueue.main.async {
|
|
43
|
+
guard let viewController = UIApplication.shared.windows.first?.rootViewController else {
|
|
44
|
+
reject("VIEW_CONTROLLER_NOT_FOUND", "Root view controller not found", nil)
|
|
45
|
+
return
|
|
46
|
+
}
|
|
47
|
+
if let customData {
|
|
48
|
+
loadedAd.setCustomData(customData)
|
|
49
|
+
}
|
|
50
|
+
loadedAd.show(viewController: viewController)
|
|
51
|
+
resolve(Void())
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
func retrieveRewardedLoader(for unitId: String) -> DaroRewardedAdLoader {
|
|
56
|
+
if let rewardedAd = rewardedAds[unitId] {
|
|
57
|
+
return rewardedAd.loader
|
|
58
|
+
} else {
|
|
59
|
+
let rewardedAdLoader = DaroRewardedAdLoader(unit: DaroAdUnit(unitId: unitId))
|
|
60
|
+
rewardedAdLoader.listener.onAdClicked = { [weak self] adInfo in
|
|
61
|
+
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad clicked")
|
|
62
|
+
self?.sendEvent(with: .onRewardedAdClickedEvent, body: adInfo?.toBody)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
rewardedAdLoader.listener.onAdImpression = { [weak self] adInfo in
|
|
66
|
+
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad impression")
|
|
67
|
+
self?.rewardedAds[unitId]?.loadedAd = nil
|
|
68
|
+
self?.sendEvent(with: .onRewardedAdImpressionRecordedEvent, body: adInfo?.toBody)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
rewardedAdLoader.listener.onAdLoadSuccess = { [weak self] ad, adInfo in
|
|
72
|
+
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad loaded")
|
|
73
|
+
self?.rewardedAds[unitId]?.loadedAd = ad
|
|
74
|
+
self?.sendEvent(with: .onRewardedAdLoadedEvent, body: adInfo?.toBody)
|
|
75
|
+
self?.setupRewardedListener(for: ad)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
rewardedAdLoader.listener.onAdLoadFail = { [weak self] error in
|
|
79
|
+
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad failed to load: \(error)")
|
|
80
|
+
self?.sendEvent(with: .onRewardedAdLoadFailedEvent, body: error.toBody)
|
|
81
|
+
}
|
|
82
|
+
self.rewardedAds[unitId] = RewardedAd(loader: rewardedAdLoader)
|
|
83
|
+
return rewardedAdLoader
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
private func setupRewardedListener(for ad: DaroRewardedAd) {
|
|
88
|
+
ad.rewardedAdListener.onShown = { [weak self] adInfo in
|
|
89
|
+
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad displayed")
|
|
90
|
+
self?.sendEvent(with: .onRewardedAdDisplayedEvent, body: adInfo?.toBody)
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
ad.rewardedAdListener.onDismiss = { [weak self] adInfo in
|
|
94
|
+
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad hidden")
|
|
95
|
+
self?.sendEvent(with: .onRewardedAdHiddenEvent, body: adInfo?.toBody)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
ad.rewardedAdListener.onFailedToShow = { [weak self] adInfo, error in
|
|
99
|
+
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad failed to display: \(error)")
|
|
100
|
+
self?.sendEvent(with: .onRewardedAdFailedToDisplayEvent, body: adInfo?.toBody)
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
ad.rewardedAdListener.onEarnedReward = { [weak self] adInfo, rewardItem in
|
|
104
|
+
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad received reward")
|
|
105
|
+
self?.sendEvent(with: .onRewardedAdReceivedRewardEvent, body: rewardItem?.toBody(unitId: adInfo?.adUnitId ?? ""))
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
private extension DaroRewardedItem {
|
|
111
|
+
func toBody(unitId: String) -> [String: Any] {
|
|
112
|
+
return [
|
|
113
|
+
"adUnitId": unitId,
|
|
114
|
+
"rewardLabel": self.rewardType,
|
|
115
|
+
"rewardAmount": self.amount,
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#import <React/RCTBridgeModule.h>
|
|
2
|
+
#import <React/RCTEventEmitter.h>
|
|
3
|
+
|
|
4
|
+
@interface RCT_EXTERN_MODULE (DaroMModule, RCTEventEmitter)
|
|
5
|
+
|
|
6
|
+
#pragma mark - Initialization
|
|
7
|
+
|
|
8
|
+
RCT_EXTERN_METHOD(isInitialized : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
9
|
+
RCT_EXTERN_METHOD(initializeSdk : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
10
|
+
RCT_EXTERN_METHOD(setUserId : (NSString *)userId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
11
|
+
|
|
12
|
+
#pragma mark - Mediation Debugger
|
|
13
|
+
|
|
14
|
+
RCT_EXTERN_METHOD(showMediationDebugger : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
15
|
+
|
|
16
|
+
#pragma mark - Interstitial
|
|
17
|
+
|
|
18
|
+
RCT_EXTERN_METHOD(isInterstitialReady : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
19
|
+
RCT_EXTERN_METHOD(loadInterstitial : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
20
|
+
RCT_EXTERN_METHOD(showInterstitial : (NSString *)adUnitIdentifier : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
21
|
+
|
|
22
|
+
#pragma mark - Rewarded
|
|
23
|
+
|
|
24
|
+
RCT_EXTERN_METHOD(isRewardedAdReady : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
25
|
+
RCT_EXTERN_METHOD(loadRewardedAd : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
26
|
+
RCT_EXTERN_METHOD(showRewardedAd : (NSString *)adUnitIdentifier : (nullable NSString *)customData : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
27
|
+
|
|
28
|
+
#pragma mark - AppOpen Ad
|
|
29
|
+
|
|
30
|
+
RCT_EXTERN_METHOD(isAppOpenAdReady : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
31
|
+
RCT_EXTERN_METHOD(loadAppOpenAd : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
32
|
+
RCT_EXTERN_METHOD(showAppOpenAd : (NSString *)adUnitIdentifier : (nullable NSString *)customData : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
33
|
+
|
|
34
|
+
#pragma mark - Light Popup
|
|
35
|
+
|
|
36
|
+
RCT_EXTERN_METHOD(isLightPopupReady : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
37
|
+
RCT_EXTERN_METHOD(loadLightPopup : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
38
|
+
RCT_EXTERN_METHOD(showLightPopup : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
39
|
+
RCT_EXTERN_METHOD(setLightPopupAdConfiguration : (NSString *)adUnitId : (NSDictionary *)configuration : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
40
|
+
|
|
41
|
+
+ (BOOL)requiresMainQueueSetup {
|
|
42
|
+
return YES;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@end
|