react-native-daro 1.0.12 → 1.0.15
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 +1 -1
- package/README.md +30 -30
- package/android/build.gradle +42 -59
- package/android/src/admob/java/com/daro/reactnative/DaroSdkBridge.kt +23 -0
- package/android/src/main/AndroidManifest.xml +1 -2
- package/android/src/main/java/com/{darom → daro/reactnative}/DaroMAdBannerViewManager.kt +4 -4
- package/android/src/main/java/com/{darom → daro/reactnative}/DaroMAdNativeViewManager.kt +4 -4
- package/android/src/main/java/com/{darom → daro/reactnative}/DaroMModule.kt +44 -45
- package/android/src/main/java/com/{darom → daro/reactnative}/DaroMPackage.kt +1 -1
- package/android/src/main/java/com/{darom → daro/reactnative}/constants/InternalDaroMBannerSize.kt +1 -1
- package/android/src/main/java/com/{darom → daro/reactnative}/event/DaroMEvent.kt +1 -1
- package/android/src/main/java/com/{darom → daro/reactnative}/impl/DaroMBannerViewModuleImpl.kt +2 -2
- package/android/src/main/java/com/{darom → daro/reactnative}/impl/DaroMInterstitialModuleImpl.kt +26 -26
- package/android/src/main/java/com/{darom → daro/reactnative}/impl/DaroMLightPopupModuleImpl.kt +30 -29
- package/android/src/main/java/com/{darom → daro/reactnative}/impl/DaroMRewardedAdModuleImpl.kt +33 -27
- package/android/src/main/java/com/{darom → daro/reactnative}/util/AdInfoUtil.kt +25 -1
- package/android/src/main/java/com/{darom → daro/reactnative}/util/EventEmitterUtil.kt +2 -2
- package/android/src/main/java/com/daro/reactnative/view/DaroMAdBannerViewContainer.kt +417 -0
- package/android/src/main/java/com/{darom → daro/reactnative}/view/DaroMAdNativeViewContainer.kt +4 -4
- package/app.plugin.js +1 -0
- package/ios/DaroMAdBannerViewManager.swift +5 -1
- package/ios/DaroMModule+AppOpen.swift +34 -31
- package/ios/DaroMModule+Interstitial.swift +29 -26
- package/ios/DaroMModule+LightPopup.swift +40 -33
- package/ios/DaroMModule+Rewarded.swift +35 -27
- package/ios/DaroMModule.mm +13 -13
- package/ios/DaroMModule.swift +20 -13
- package/ios/DaroMNativeAdViewManager.swift +1 -1
- package/ios/mediation/admob/DaroMediationDebugger.swift +11 -0
- package/ios/mediation/admob/DaroMediationTypes.swift +22 -0
- package/lib/commonjs/AdBannerView.js +6 -1
- package/lib/commonjs/AdBannerView.js.map +1 -1
- package/lib/commonjs/AppOpenAd.js +155 -70
- package/lib/commonjs/AppOpenAd.js.map +1 -1
- package/lib/commonjs/ErrorCode.js.map +1 -1
- package/lib/commonjs/EventEmitter.js +39 -11
- package/lib/commonjs/EventEmitter.js.map +1 -1
- package/lib/commonjs/InterstitialAd.js +157 -70
- package/lib/commonjs/InterstitialAd.js.map +1 -1
- package/lib/commonjs/LightPopupAd.js +181 -99
- package/lib/commonjs/LightPopupAd.js.map +1 -1
- package/lib/commonjs/RewardedAd.js +164 -80
- package/lib/commonjs/RewardedAd.js.map +1 -1
- package/lib/commonjs/index.js +1 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdView.js +5 -1
- package/lib/commonjs/nativeAd/NativeAdView.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/types/AdEvent.js +17 -0
- package/lib/commonjs/types/AdEvent.js.map +1 -1
- package/lib/module/AdBannerView.js +6 -1
- package/lib/module/AdBannerView.js.map +1 -1
- package/lib/module/AppOpenAd.js +155 -71
- package/lib/module/AppOpenAd.js.map +1 -1
- package/lib/module/ErrorCode.js.map +1 -1
- package/lib/module/EventEmitter.js +37 -10
- package/lib/module/EventEmitter.js.map +1 -1
- package/lib/module/InterstitialAd.js +158 -72
- package/lib/module/InterstitialAd.js.map +1 -1
- package/lib/module/LightPopupAd.js +182 -100
- package/lib/module/LightPopupAd.js.map +1 -1
- package/lib/module/RewardedAd.js +165 -82
- package/lib/module/RewardedAd.js.map +1 -1
- package/lib/module/index.js +1 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/nativeAd/NativeAdView.js +5 -1
- package/lib/module/nativeAd/NativeAdView.js.map +1 -1
- package/lib/module/nativeAd/NativeAdViewComponents.js.map +1 -1
- package/lib/module/nativeAd/NativeAdViewProvider.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/types/AdEvent.js +18 -1
- package/lib/module/types/AdEvent.js.map +1 -1
- package/lib/typescript/commonjs/plugin/src/index.d.ts +19 -0
- package/lib/typescript/commonjs/plugin/src/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/plugin/src/skAdNetworkIds.d.ts +6 -0
- package/lib/typescript/commonjs/plugin/src/skAdNetworkIds.d.ts.map +1 -0
- package/lib/typescript/commonjs/plugin/src/withAndroid.d.ts +8 -0
- package/lib/typescript/commonjs/plugin/src/withAndroid.d.ts.map +1 -0
- package/lib/typescript/commonjs/plugin/src/withIos.d.ts +8 -0
- package/lib/typescript/commonjs/plugin/src/withIos.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/AdBannerView.d.ts +124 -2
- package/lib/typescript/commonjs/src/AdBannerView.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/AppOpenAd.d.ts +53 -2
- package/lib/typescript/commonjs/src/AppOpenAd.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ErrorCode.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/EventEmitter.d.ts +9 -1
- package/lib/typescript/commonjs/src/EventEmitter.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/InterstitialAd.d.ts +53 -2
- package/lib/typescript/commonjs/src/InterstitialAd.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/LightPopupAd.d.ts +57 -2
- package/lib/typescript/commonjs/src/LightPopupAd.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/RewardedAd.d.ts +57 -2
- package/lib/typescript/commonjs/src/RewardedAd.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/nativeAd/NativeAdView.d.ts +124 -2
- package/lib/typescript/commonjs/src/nativeAd/NativeAdView.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/AdBannerViewProps.d.ts +2 -2
- package/lib/typescript/commonjs/src/types/AdBannerViewProps.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/AdEvent.d.ts +24 -0
- package/lib/typescript/commonjs/src/types/AdEvent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/AdInfo.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/AdProps.d.ts +2 -2
- package/lib/typescript/commonjs/src/types/AdProps.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/DaroMMobileAds.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/LightPopupAd.d.ts +1 -5
- package/lib/typescript/commonjs/src/types/LightPopupAd.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/NativeAdViewProps.d.ts.map +1 -1
- package/lib/typescript/module/plugin/src/index.d.ts +19 -0
- package/lib/typescript/module/plugin/src/index.d.ts.map +1 -0
- package/lib/typescript/module/plugin/src/skAdNetworkIds.d.ts +6 -0
- package/lib/typescript/module/plugin/src/skAdNetworkIds.d.ts.map +1 -0
- package/lib/typescript/module/plugin/src/withAndroid.d.ts +8 -0
- package/lib/typescript/module/plugin/src/withAndroid.d.ts.map +1 -0
- package/lib/typescript/module/plugin/src/withIos.d.ts +8 -0
- package/lib/typescript/module/plugin/src/withIos.d.ts.map +1 -0
- package/lib/typescript/module/src/AdBannerView.d.ts +124 -2
- package/lib/typescript/module/src/AdBannerView.d.ts.map +1 -1
- package/lib/typescript/module/src/AppOpenAd.d.ts +53 -2
- package/lib/typescript/module/src/AppOpenAd.d.ts.map +1 -1
- package/lib/typescript/module/src/ErrorCode.d.ts.map +1 -1
- package/lib/typescript/module/src/EventEmitter.d.ts +9 -1
- package/lib/typescript/module/src/EventEmitter.d.ts.map +1 -1
- package/lib/typescript/module/src/InterstitialAd.d.ts +53 -2
- package/lib/typescript/module/src/InterstitialAd.d.ts.map +1 -1
- package/lib/typescript/module/src/LightPopupAd.d.ts +57 -2
- package/lib/typescript/module/src/LightPopupAd.d.ts.map +1 -1
- package/lib/typescript/module/src/RewardedAd.d.ts +57 -2
- package/lib/typescript/module/src/RewardedAd.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +1 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/nativeAd/NativeAdView.d.ts +124 -2
- package/lib/typescript/module/src/nativeAd/NativeAdView.d.ts.map +1 -1
- package/lib/typescript/module/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -1
- package/lib/typescript/module/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -1
- package/lib/typescript/module/src/types/AdBannerViewProps.d.ts +2 -2
- package/lib/typescript/module/src/types/AdBannerViewProps.d.ts.map +1 -1
- package/lib/typescript/module/src/types/AdEvent.d.ts +24 -0
- package/lib/typescript/module/src/types/AdEvent.d.ts.map +1 -1
- package/lib/typescript/module/src/types/AdInfo.d.ts.map +1 -1
- package/lib/typescript/module/src/types/AdProps.d.ts +2 -2
- package/lib/typescript/module/src/types/AdProps.d.ts.map +1 -1
- package/lib/typescript/module/src/types/DaroMMobileAds.d.ts.map +1 -1
- package/lib/typescript/module/src/types/LightPopupAd.d.ts +1 -5
- package/lib/typescript/module/src/types/LightPopupAd.d.ts.map +1 -1
- package/lib/typescript/module/src/types/NativeAdViewProps.d.ts.map +1 -1
- package/package.json +88 -101
- package/plugin/build/index.d.ts +18 -0
- package/plugin/build/index.js +71 -0
- package/plugin/build/skAdNetworkIds.d.ts +5 -0
- package/plugin/build/skAdNetworkIds.js +205 -0
- package/plugin/build/withAndroid.d.ts +7 -0
- package/plugin/build/withAndroid.js +140 -0
- package/plugin/build/withIos.d.ts +7 -0
- package/plugin/build/withIos.js +83 -0
- package/react-native-daro.podspec +25 -0
- package/src/AdBannerView.tsx +54 -17
- package/src/AppOpenAd.ts +216 -104
- package/src/ErrorCode.ts +1 -2
- package/src/EventEmitter.ts +63 -14
- package/src/InterstitialAd.ts +216 -104
- package/src/LightPopupAd.ts +240 -114
- package/src/RewardedAd.ts +233 -122
- package/src/index.tsx +20 -12
- package/src/nativeAd/NativeAdView.tsx +65 -14
- package/src/nativeAd/NativeAdViewComponents.tsx +54 -27
- package/src/nativeAd/NativeAdViewProvider.tsx +17 -7
- package/src/types/AdBannerViewProps.ts +11 -11
- package/src/types/AdEvent.ts +39 -2
- package/src/types/AdInfo.ts +17 -17
- package/src/types/AdProps.ts +8 -9
- package/src/types/DaroMMobileAds.ts +3 -6
- package/src/types/LightPopupAd.ts +2 -7
- package/src/types/NativeAdViewProps.ts +5 -5
- package/src/types/index.ts +1 -1
- package/android/gradle.properties +0 -5
- package/android/src/main/AndroidManifestNew.xml +0 -7
- package/android/src/main/java/com/darom/view/DaroMAdBannerViewContainer.kt +0 -163
- package/android/src/main/res/layout/layout_activity_transparent.xml +0 -7
- package/android/src/main/res/values/styles.xml +0 -11
- package/ios/DaroM-Bridging-Header.h +0 -6
- package/lib/commonjs/types/AppOpenAd.js +0 -6
- package/lib/commonjs/types/AppOpenAd.js.map +0 -1
- package/lib/commonjs/types/FullScreenAd.js +0 -6
- package/lib/commonjs/types/FullScreenAd.js.map +0 -1
- package/lib/commonjs/types/InterstitialAd.js +0 -6
- package/lib/commonjs/types/InterstitialAd.js.map +0 -1
- package/lib/commonjs/types/RewardedAd.js +0 -6
- package/lib/commonjs/types/RewardedAd.js.map +0 -1
- package/lib/module/types/AppOpenAd.js +0 -4
- package/lib/module/types/AppOpenAd.js.map +0 -1
- package/lib/module/types/FullScreenAd.js +0 -4
- package/lib/module/types/FullScreenAd.js.map +0 -1
- package/lib/module/types/InterstitialAd.js +0 -4
- package/lib/module/types/InterstitialAd.js.map +0 -1
- package/lib/module/types/RewardedAd.js +0 -4
- package/lib/module/types/RewardedAd.js.map +0 -1
- package/lib/typescript/commonjs/src/types/AppOpenAd.d.ts +0 -3
- package/lib/typescript/commonjs/src/types/AppOpenAd.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/FullScreenAd.d.ts +0 -21
- package/lib/typescript/commonjs/src/types/FullScreenAd.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/InterstitialAd.d.ts +0 -3
- package/lib/typescript/commonjs/src/types/InterstitialAd.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/RewardedAd.d.ts +0 -9
- package/lib/typescript/commonjs/src/types/RewardedAd.d.ts.map +0 -1
- package/lib/typescript/module/src/types/AppOpenAd.d.ts +0 -3
- package/lib/typescript/module/src/types/AppOpenAd.d.ts.map +0 -1
- package/lib/typescript/module/src/types/FullScreenAd.d.ts +0 -21
- package/lib/typescript/module/src/types/FullScreenAd.d.ts.map +0 -1
- package/lib/typescript/module/src/types/InterstitialAd.d.ts +0 -3
- package/lib/typescript/module/src/types/InterstitialAd.d.ts.map +0 -1
- package/lib/typescript/module/src/types/RewardedAd.d.ts +0 -9
- package/lib/typescript/module/src/types/RewardedAd.d.ts.map +0 -1
- package/react-native-daro-m.podspec +0 -44
- package/src/types/AppOpenAd.ts +0 -3
- package/src/types/FullScreenAd.ts +0 -28
- package/src/types/InterstitialAd.ts +0 -3
- package/src/types/RewardedAd.ts +0 -15
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React
|
|
2
2
|
|
|
3
3
|
// MARK: - Interstitial Ad Methods
|
|
4
4
|
|
|
5
5
|
extension DaroMModule {
|
|
6
|
-
|
|
7
|
-
@objc(isInterstitialReady
|
|
6
|
+
|
|
7
|
+
@objc(isInterstitialReady::::)
|
|
8
8
|
func isInterstitialReady(
|
|
9
|
-
_
|
|
9
|
+
_ requestId: NSNumber,
|
|
10
|
+
adUnitId: String,
|
|
10
11
|
resolve: RCTPromiseResolveBlock,
|
|
11
12
|
reject: RCTPromiseRejectBlock
|
|
12
13
|
) {
|
|
@@ -15,27 +16,29 @@ extension DaroMModule {
|
|
|
15
16
|
resolve(false)
|
|
16
17
|
return
|
|
17
18
|
}
|
|
18
|
-
resolve(interstitials[
|
|
19
|
+
resolve(interstitials[requestId.intValue]?.loadedAd != nil)
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
@objc(loadInterstitial
|
|
22
|
+
@objc(loadInterstitial::::)
|
|
22
23
|
func loadInterstitial(
|
|
23
|
-
_
|
|
24
|
+
_ requestId: NSNumber,
|
|
25
|
+
adUnitId: String,
|
|
24
26
|
resolve: RCTPromiseResolveBlock,
|
|
25
27
|
reject: RCTPromiseRejectBlock
|
|
26
28
|
) {
|
|
27
|
-
let interstitialLoader = retrieveInterstitialLoader(
|
|
29
|
+
let interstitialLoader = retrieveInterstitialLoader(requestId: requestId.intValue, adUnitId: adUnitId)
|
|
28
30
|
interstitialLoader.loadAd()
|
|
29
31
|
resolve(Void())
|
|
30
32
|
}
|
|
31
33
|
|
|
32
|
-
@objc(showInterstitial
|
|
34
|
+
@objc(showInterstitial::::)
|
|
33
35
|
func showInterstitial(
|
|
34
|
-
_
|
|
36
|
+
_ requestId: NSNumber,
|
|
37
|
+
adUnitId: String,
|
|
35
38
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
36
39
|
reject: @escaping RCTPromiseRejectBlock
|
|
37
40
|
) {
|
|
38
|
-
guard let loadedAd = interstitials[
|
|
41
|
+
guard let loadedAd = interstitials[requestId.intValue]?.loadedAd else {
|
|
39
42
|
reject("INTERSTITIAL_NOT_LOADED", "Interstitial ad not loaded", nil)
|
|
40
43
|
return
|
|
41
44
|
}
|
|
@@ -49,52 +52,52 @@ extension DaroMModule {
|
|
|
49
52
|
}
|
|
50
53
|
}
|
|
51
54
|
|
|
52
|
-
func retrieveInterstitialLoader(
|
|
53
|
-
if let interstitialAd = interstitials[
|
|
55
|
+
func retrieveInterstitialLoader(requestId: Int, adUnitId: String) -> DaroInterstitialAdLoader {
|
|
56
|
+
if let interstitialAd = interstitials[requestId] {
|
|
54
57
|
return interstitialAd.loader
|
|
55
58
|
} else {
|
|
56
|
-
let interstitialLoader = DaroInterstitialAdLoader(unit: DaroAdUnit(unitId:
|
|
59
|
+
let interstitialLoader = DaroInterstitialAdLoader(unit: DaroAdUnit(unitId: adUnitId))
|
|
57
60
|
interstitialLoader.listener.onAdClicked = { [weak self] adInfo in
|
|
58
61
|
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad clicked")
|
|
59
|
-
self?.sendEvent(with: .onInterstitialClickedEvent, body: adInfo?.toBody)
|
|
62
|
+
self?.sendEvent(with: .onInterstitialClickedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
interstitialLoader.listener.onAdImpression = { [weak self] adInfo in
|
|
63
66
|
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad impression")
|
|
64
|
-
self?.interstitials[
|
|
65
|
-
self?.sendEvent(with: .onInterstitialAdImpressionRecordedEvent, body: adInfo?.toBody)
|
|
67
|
+
self?.interstitials[requestId]?.loadedAd = nil
|
|
68
|
+
self?.sendEvent(with: .onInterstitialAdImpressionRecordedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
66
69
|
}
|
|
67
70
|
|
|
68
71
|
interstitialLoader.listener.onAdLoadSuccess = { [weak self] ad, adInfo in
|
|
69
72
|
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad loaded")
|
|
70
|
-
self?.interstitials[
|
|
71
|
-
self?.sendEvent(with: .onInterstitialLoadedEvent, body: adInfo?.toBody)
|
|
72
|
-
self?.setupInterstitialListener(for: ad)
|
|
73
|
+
self?.interstitials[requestId]?.loadedAd = ad
|
|
74
|
+
self?.sendEvent(with: .onInterstitialLoadedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
75
|
+
self?.setupInterstitialListener(for: ad, requestId: requestId)
|
|
73
76
|
}
|
|
74
77
|
|
|
75
78
|
interstitialLoader.listener.onAdLoadFail = { [weak self] error in
|
|
76
79
|
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad failed: \(error)")
|
|
77
|
-
self?.sendEvent(with: .onInterstitialLoadFailedEvent, body: error.toBody)
|
|
80
|
+
self?.sendEvent(with: .onInterstitialLoadFailedEvent, body: error.toBody(requestId: requestId))
|
|
78
81
|
}
|
|
79
|
-
self.interstitials[
|
|
82
|
+
self.interstitials[requestId] = InterstitialAd(loader: interstitialLoader)
|
|
80
83
|
return interstitialLoader
|
|
81
84
|
}
|
|
82
85
|
}
|
|
83
86
|
|
|
84
|
-
private func setupInterstitialListener(for ad: DaroInterstitialAd) {
|
|
87
|
+
private func setupInterstitialListener(for ad: DaroInterstitialAd, requestId: Int) {
|
|
85
88
|
ad.interstitialListener.onShown = { [weak self] adInfo in
|
|
86
89
|
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad displayed")
|
|
87
|
-
self?.sendEvent(with: .onInterstitialDisplayedEvent, body: adInfo?.toBody)
|
|
90
|
+
self?.sendEvent(with: .onInterstitialDisplayedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
88
91
|
}
|
|
89
92
|
|
|
90
93
|
ad.interstitialListener.onDismiss = { [weak self] adInfo in
|
|
91
94
|
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad hidden")
|
|
92
|
-
self?.sendEvent(with: .onInterstitialHiddenEvent, body: adInfo?.toBody)
|
|
95
|
+
self?.sendEvent(with: .onInterstitialHiddenEvent, body: adInfo?.toBody(requestId: requestId))
|
|
93
96
|
}
|
|
94
97
|
|
|
95
98
|
ad.interstitialListener.onFailedToShow = { [weak self] adInfo, error in
|
|
96
99
|
DaroMModule.logger.debug("[DARO] Sample Interstitial Ad failed to display")
|
|
97
|
-
self?.sendEvent(with: .onInterstitialAdFailedToDisplayEvent, body: adInfo?.toBody)
|
|
100
|
+
self?.sendEvent(with: .onInterstitialAdFailedToDisplayEvent, body: adInfo?.toBody(requestId: requestId))
|
|
98
101
|
}
|
|
99
102
|
}
|
|
100
103
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React
|
|
2
2
|
import UIKit
|
|
3
3
|
// MARK: - LightPopup Ad
|
|
4
4
|
extension DaroMModule {
|
|
5
5
|
|
|
6
|
-
@objc(isLightPopupReady
|
|
6
|
+
@objc(isLightPopupReady::::)
|
|
7
7
|
func isLightPopupReady(
|
|
8
|
-
_
|
|
8
|
+
_ requestId: NSNumber,
|
|
9
|
+
adUnitId: String,
|
|
9
10
|
resolve: RCTPromiseResolveBlock,
|
|
10
11
|
reject: RCTPromiseRejectBlock
|
|
11
12
|
) {
|
|
@@ -14,61 +15,67 @@ extension DaroMModule {
|
|
|
14
15
|
resolve(false)
|
|
15
16
|
return
|
|
16
17
|
}
|
|
17
|
-
resolve(lightPopups[
|
|
18
|
+
resolve(lightPopups[requestId.intValue]?.loadedAd != nil)
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
@objc(loadLightPopup
|
|
21
|
+
@objc(loadLightPopup::::)
|
|
21
22
|
func loadLightPopup(
|
|
22
|
-
_
|
|
23
|
+
_ requestId: NSNumber,
|
|
24
|
+
adUnitId: String,
|
|
23
25
|
resolve: RCTPromiseResolveBlock,
|
|
24
26
|
reject: RCTPromiseRejectBlock
|
|
25
27
|
) {
|
|
26
|
-
let lightPopupLoader = retrieveLightPopupLoader(
|
|
28
|
+
let lightPopupLoader = retrieveLightPopupLoader(requestId: requestId.intValue, adUnitId: adUnitId)
|
|
27
29
|
lightPopupLoader.loadAd()
|
|
28
30
|
resolve(Void())
|
|
29
31
|
}
|
|
30
32
|
|
|
31
|
-
@objc(showLightPopup
|
|
33
|
+
@objc(showLightPopup::::)
|
|
32
34
|
func showLightPopup(
|
|
33
|
-
_
|
|
35
|
+
_ requestId: NSNumber,
|
|
36
|
+
adUnitId: String,
|
|
34
37
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
35
38
|
reject: @escaping RCTPromiseRejectBlock
|
|
36
39
|
) {
|
|
37
|
-
guard let loadedAd = lightPopups[
|
|
40
|
+
guard let loadedAd = lightPopups[requestId.intValue]?.loadedAd else {
|
|
38
41
|
reject("LIGHTPOPUP_NOT_LOADED", "LightPopup ad not loaded", nil)
|
|
39
42
|
return
|
|
40
43
|
}
|
|
44
|
+
let reqIdInt = requestId.intValue
|
|
41
45
|
executeOnMainThread { [weak self] in
|
|
42
46
|
guard let viewController = UIApplication.shared.windows.first?.rootViewController else {
|
|
43
47
|
reject("VIEW_CONTROLLER_NOT_FOUND", "Root view controller not found", nil)
|
|
44
48
|
return
|
|
45
49
|
}
|
|
46
|
-
self?.applyStoredConfiguration(to: loadedAd, for:
|
|
50
|
+
self?.applyStoredConfiguration(to: loadedAd, for: reqIdInt)
|
|
47
51
|
loadedAd.show(viewController: viewController)
|
|
48
52
|
resolve(Void())
|
|
49
53
|
}
|
|
50
54
|
}
|
|
51
55
|
|
|
52
|
-
@objc(setLightPopupAdConfiguration
|
|
56
|
+
@objc(setLightPopupAdConfiguration:::::)
|
|
53
57
|
func setLightPopupAdConfiguration(
|
|
54
|
-
_
|
|
58
|
+
_ requestId: NSNumber,
|
|
59
|
+
adUnitId: String,
|
|
55
60
|
configuration: [String: Any],
|
|
56
61
|
resolve: RCTPromiseResolveBlock,
|
|
57
62
|
reject: RCTPromiseRejectBlock
|
|
58
63
|
) {
|
|
59
|
-
|
|
60
|
-
|
|
64
|
+
let reqIdInt = requestId.intValue
|
|
65
|
+
guard let loadedAd = lightPopups[reqIdInt]?.loadedAd else {
|
|
66
|
+
lightPopupConfigurations[reqIdInt] = configuration
|
|
61
67
|
resolve(Void())
|
|
62
68
|
return
|
|
63
69
|
}
|
|
70
|
+
lightPopupConfigurations[reqIdInt] = configuration
|
|
64
71
|
executeOnMainThread { [weak self] in
|
|
65
|
-
self?.applyStoredConfiguration(to: loadedAd, for:
|
|
72
|
+
self?.applyStoredConfiguration(to: loadedAd, for: reqIdInt)
|
|
66
73
|
}
|
|
67
74
|
resolve(Void())
|
|
68
75
|
}
|
|
69
76
|
|
|
70
|
-
func applyStoredConfiguration(to ad: DaroLightPopupAd, for
|
|
71
|
-
if let configuration = lightPopupConfigurations[
|
|
77
|
+
func applyStoredConfiguration(to ad: DaroLightPopupAd, for requestId: Int) {
|
|
78
|
+
if let configuration = lightPopupConfigurations[requestId] {
|
|
72
79
|
let lightPopupConfig = DaroLightPopupConfiguration()
|
|
73
80
|
|
|
74
81
|
func setColorIfValid(_ key: String, setter: (UIColor) -> Void) {
|
|
@@ -95,47 +102,47 @@ extension DaroMModule {
|
|
|
95
102
|
}
|
|
96
103
|
}
|
|
97
104
|
|
|
98
|
-
func retrieveLightPopupLoader(
|
|
99
|
-
if let lightPopupAd = lightPopups[
|
|
105
|
+
func retrieveLightPopupLoader(requestId: Int, adUnitId: String) -> DaroLightPopupAdLoader {
|
|
106
|
+
if let lightPopupAd = lightPopups[requestId] {
|
|
100
107
|
return lightPopupAd.loader
|
|
101
108
|
} else {
|
|
102
|
-
let lightPopupLoader = DaroLightPopupAdLoader(unit: DaroAdUnit(unitId:
|
|
109
|
+
let lightPopupLoader = DaroLightPopupAdLoader(unit: DaroAdUnit(unitId: adUnitId))
|
|
103
110
|
|
|
104
111
|
lightPopupLoader.listener.onAdClicked = { [weak self] adInfo in
|
|
105
|
-
self?.sendEvent(with: .onLightPopupClickedEvent, body: adInfo?.toBody)
|
|
112
|
+
self?.sendEvent(with: .onLightPopupClickedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
106
113
|
}
|
|
107
114
|
|
|
108
115
|
lightPopupLoader.listener.onAdImpression = { [weak self] adInfo in
|
|
109
|
-
self?.lightPopups[
|
|
110
|
-
self?.sendEvent(with: .onLightPopupAdImpressionRecordedEvent, body: adInfo?.toBody)
|
|
116
|
+
self?.lightPopups[requestId]?.loadedAd = nil
|
|
117
|
+
self?.sendEvent(with: .onLightPopupAdImpressionRecordedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
111
118
|
}
|
|
112
119
|
|
|
113
120
|
lightPopupLoader.listener.onAdLoadSuccess = { [weak self] ad, adInfo in
|
|
114
|
-
self?.lightPopups[
|
|
115
|
-
self?.sendEvent(with: .onLightPopupLoadedEvent, body: adInfo?.toBody)
|
|
116
|
-
self?.setupLightPopupListener(for: ad)
|
|
121
|
+
self?.lightPopups[requestId]?.loadedAd = ad
|
|
122
|
+
self?.sendEvent(with: .onLightPopupLoadedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
123
|
+
self?.setupLightPopupListener(for: ad, requestId: requestId)
|
|
117
124
|
}
|
|
118
125
|
|
|
119
126
|
lightPopupLoader.listener.onAdLoadFail = { [weak self] error in
|
|
120
|
-
self?.sendEvent(with: .onLightPopupLoadFailedEvent, body: error.toBody)
|
|
127
|
+
self?.sendEvent(with: .onLightPopupLoadFailedEvent, body: error.toBody(requestId: requestId))
|
|
121
128
|
}
|
|
122
129
|
|
|
123
|
-
self.lightPopups[
|
|
130
|
+
self.lightPopups[requestId] = LightPopupAd(loader: lightPopupLoader)
|
|
124
131
|
return lightPopupLoader
|
|
125
132
|
}
|
|
126
133
|
}
|
|
127
134
|
|
|
128
|
-
private func setupLightPopupListener(for ad: DaroLightPopupAd) {
|
|
135
|
+
private func setupLightPopupListener(for ad: DaroLightPopupAd, requestId: Int) {
|
|
129
136
|
ad.lightPopupAdListener.onShown = { [weak self] adInfo in
|
|
130
|
-
self?.sendEvent(with: .onLightPopupDisplayedEvent, body: adInfo?.toBody)
|
|
137
|
+
self?.sendEvent(with: .onLightPopupDisplayedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
131
138
|
}
|
|
132
139
|
|
|
133
140
|
ad.lightPopupAdListener.onDismiss = { [weak self] adInfo in
|
|
134
|
-
self?.sendEvent(with: .onLightPopupHiddenEvent, body: adInfo?.toBody)
|
|
141
|
+
self?.sendEvent(with: .onLightPopupHiddenEvent, body: adInfo?.toBody(requestId: requestId))
|
|
135
142
|
}
|
|
136
143
|
|
|
137
144
|
ad.lightPopupAdListener.onFailedToShow = { [weak self] adInfo, error in
|
|
138
|
-
self?.sendEvent(with: .onLightPopupAdFailedToDisplayEvent, body: adInfo?.toBody)
|
|
145
|
+
self?.sendEvent(with: .onLightPopupAdFailedToDisplayEvent, body: adInfo?.toBody(requestId: requestId))
|
|
139
146
|
}
|
|
140
147
|
}
|
|
141
148
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import React
|
|
3
2
|
|
|
4
3
|
extension DaroMModule {
|
|
5
|
-
@objc(isRewardedAdReady
|
|
4
|
+
@objc(isRewardedAdReady::::)
|
|
6
5
|
func isRewardedAdReady(
|
|
7
|
-
_
|
|
6
|
+
_ requestId: NSNumber,
|
|
7
|
+
adUnitId: String,
|
|
8
8
|
resolve: RCTPromiseResolveBlock,
|
|
9
9
|
reject: RCTPromiseRejectBlock
|
|
10
10
|
) {
|
|
@@ -14,28 +14,30 @@ extension DaroMModule {
|
|
|
14
14
|
return
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
resolve(rewardedAds[
|
|
17
|
+
resolve(rewardedAds[requestId.intValue]?.loadedAd != nil)
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
@objc(loadRewardedAd
|
|
20
|
+
@objc(loadRewardedAd::::)
|
|
21
21
|
func loadRewardedAd(
|
|
22
|
-
_
|
|
22
|
+
_ requestId: NSNumber,
|
|
23
|
+
adUnitId: String,
|
|
23
24
|
resolve: RCTPromiseResolveBlock,
|
|
24
25
|
reject: RCTPromiseRejectBlock
|
|
25
26
|
) {
|
|
26
|
-
let rewardedLoader = retrieveRewardedLoader(
|
|
27
|
+
let rewardedLoader = retrieveRewardedLoader(requestId: requestId.intValue, adUnitId: adUnitId)
|
|
27
28
|
rewardedLoader.loadAd()
|
|
28
29
|
resolve(Void())
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
@objc(showRewardedAd
|
|
32
|
+
@objc(showRewardedAd:::::)
|
|
32
33
|
func showRewardedAd(
|
|
33
|
-
_
|
|
34
|
+
_ requestId: NSNumber,
|
|
35
|
+
adUnitId: String,
|
|
34
36
|
customData: String?,
|
|
35
37
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
36
38
|
reject: @escaping RCTPromiseRejectBlock
|
|
37
39
|
) {
|
|
38
|
-
guard let loadedAd = rewardedAds[
|
|
40
|
+
guard let loadedAd = rewardedAds[requestId.intValue]?.loadedAd else {
|
|
39
41
|
reject("REWARDED_AD_NOT_LOADED", "Rewarded ad not loaded", nil)
|
|
40
42
|
return
|
|
41
43
|
}
|
|
@@ -52,57 +54,57 @@ extension DaroMModule {
|
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
|
|
55
|
-
func retrieveRewardedLoader(
|
|
56
|
-
if let rewardedAd = rewardedAds[
|
|
57
|
+
func retrieveRewardedLoader(requestId: Int, adUnitId: String) -> DaroRewardedAdLoader {
|
|
58
|
+
if let rewardedAd = rewardedAds[requestId] {
|
|
57
59
|
return rewardedAd.loader
|
|
58
60
|
} else {
|
|
59
|
-
let rewardedAdLoader = DaroRewardedAdLoader(unit: DaroAdUnit(unitId:
|
|
61
|
+
let rewardedAdLoader = DaroRewardedAdLoader(unit: DaroAdUnit(unitId: adUnitId))
|
|
60
62
|
rewardedAdLoader.listener.onAdClicked = { [weak self] adInfo in
|
|
61
63
|
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad clicked")
|
|
62
|
-
self?.sendEvent(with: .onRewardedAdClickedEvent, body: adInfo?.toBody)
|
|
64
|
+
self?.sendEvent(with: .onRewardedAdClickedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
rewardedAdLoader.listener.onAdImpression = { [weak self] adInfo in
|
|
66
68
|
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad impression")
|
|
67
|
-
self?.rewardedAds[
|
|
68
|
-
self?.sendEvent(with: .onRewardedAdImpressionRecordedEvent, body: adInfo?.toBody)
|
|
69
|
+
self?.rewardedAds[requestId]?.loadedAd = nil
|
|
70
|
+
self?.sendEvent(with: .onRewardedAdImpressionRecordedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
rewardedAdLoader.listener.onAdLoadSuccess = { [weak self] ad, adInfo in
|
|
72
74
|
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad loaded")
|
|
73
|
-
self?.rewardedAds[
|
|
74
|
-
self?.sendEvent(with: .onRewardedAdLoadedEvent, body: adInfo?.toBody)
|
|
75
|
-
self?.setupRewardedListener(for: ad)
|
|
75
|
+
self?.rewardedAds[requestId]?.loadedAd = ad
|
|
76
|
+
self?.sendEvent(with: .onRewardedAdLoadedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
77
|
+
self?.setupRewardedListener(for: ad, requestId: requestId)
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
rewardedAdLoader.listener.onAdLoadFail = { [weak self] error in
|
|
79
81
|
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad failed to load: \(error)")
|
|
80
|
-
self?.sendEvent(with: .onRewardedAdLoadFailedEvent, body: error.toBody)
|
|
82
|
+
self?.sendEvent(with: .onRewardedAdLoadFailedEvent, body: error.toBody(requestId: requestId))
|
|
81
83
|
}
|
|
82
|
-
self.rewardedAds[
|
|
84
|
+
self.rewardedAds[requestId] = RewardedAd(loader: rewardedAdLoader)
|
|
83
85
|
return rewardedAdLoader
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
|
|
87
|
-
private func setupRewardedListener(for ad: DaroRewardedAd) {
|
|
89
|
+
private func setupRewardedListener(for ad: DaroRewardedAd, requestId: Int) {
|
|
88
90
|
ad.rewardedAdListener.onShown = { [weak self] adInfo in
|
|
89
91
|
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad displayed")
|
|
90
|
-
self?.sendEvent(with: .onRewardedAdDisplayedEvent, body: adInfo?.toBody)
|
|
92
|
+
self?.sendEvent(with: .onRewardedAdDisplayedEvent, body: adInfo?.toBody(requestId: requestId))
|
|
91
93
|
}
|
|
92
94
|
|
|
93
95
|
ad.rewardedAdListener.onDismiss = { [weak self] adInfo in
|
|
94
96
|
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad hidden")
|
|
95
|
-
self?.sendEvent(with: .onRewardedAdHiddenEvent, body: adInfo?.toBody)
|
|
97
|
+
self?.sendEvent(with: .onRewardedAdHiddenEvent, body: adInfo?.toBody(requestId: requestId))
|
|
96
98
|
}
|
|
97
99
|
|
|
98
100
|
ad.rewardedAdListener.onFailedToShow = { [weak self] adInfo, error in
|
|
99
101
|
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad failed to display: \(error)")
|
|
100
|
-
self?.sendEvent(with: .onRewardedAdFailedToDisplayEvent, body: adInfo?.toBody)
|
|
102
|
+
self?.sendEvent(with: .onRewardedAdFailedToDisplayEvent, body: adInfo?.toBody(requestId: requestId))
|
|
101
103
|
}
|
|
102
104
|
|
|
103
105
|
ad.rewardedAdListener.onEarnedReward = { [weak self] adInfo, rewardItem in
|
|
104
106
|
DaroMModule.logger.debug("[DARO] Sample Rewarded Ad received reward")
|
|
105
|
-
self?.sendEvent(with: .onRewardedAdReceivedRewardEvent, body: rewardItem?.toBody(unitId: adInfo?.adUnitId ?? ""))
|
|
107
|
+
self?.sendEvent(with: .onRewardedAdReceivedRewardEvent, body: rewardItem?.toBody(requestId: requestId, unitId: adInfo?.adUnitId ?? ""))
|
|
106
108
|
}
|
|
107
109
|
}
|
|
108
110
|
}
|
|
@@ -115,4 +117,10 @@ private extension DaroRewardedItem {
|
|
|
115
117
|
"rewardAmount": self.amount,
|
|
116
118
|
]
|
|
117
119
|
}
|
|
120
|
+
|
|
121
|
+
func toBody(requestId: Int, unitId: String) -> [String: Any] {
|
|
122
|
+
var body = self.toBody(unitId: unitId)
|
|
123
|
+
body["requestId"] = requestId
|
|
124
|
+
return body
|
|
125
|
+
}
|
|
118
126
|
}
|
package/ios/DaroMModule.mm
CHANGED
|
@@ -15,28 +15,28 @@ RCT_EXTERN_METHOD(showMediationDebugger : (RCTPromiseResolveBlock)resolve : (RCT
|
|
|
15
15
|
|
|
16
16
|
#pragma mark - Interstitial
|
|
17
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 *)
|
|
18
|
+
RCT_EXTERN_METHOD(isInterstitialReady : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
19
|
+
RCT_EXTERN_METHOD(loadInterstitial : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
20
|
+
RCT_EXTERN_METHOD(showInterstitial : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
21
21
|
|
|
22
22
|
#pragma mark - Rewarded
|
|
23
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 *)
|
|
24
|
+
RCT_EXTERN_METHOD(isRewardedAdReady : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
25
|
+
RCT_EXTERN_METHOD(loadRewardedAd : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
26
|
+
RCT_EXTERN_METHOD(showRewardedAd : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (nullable NSString *)customData : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
27
27
|
|
|
28
28
|
#pragma mark - AppOpen Ad
|
|
29
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 *)
|
|
30
|
+
RCT_EXTERN_METHOD(isAppOpenAdReady : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
31
|
+
RCT_EXTERN_METHOD(loadAppOpenAd : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
32
|
+
RCT_EXTERN_METHOD(showAppOpenAd : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (nullable NSString *)placement : (nullable NSString *)customData : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
33
33
|
|
|
34
34
|
#pragma mark - Light Popup
|
|
35
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)
|
|
36
|
+
RCT_EXTERN_METHOD(isLightPopupReady : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
37
|
+
RCT_EXTERN_METHOD(loadLightPopup : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
38
|
+
RCT_EXTERN_METHOD(showLightPopup : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
39
|
+
RCT_EXTERN_METHOD(setLightPopupAdConfiguration : (nonnull NSNumber *)requestId : (NSString *)adUnitId : (NSDictionary *)configuration : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject)
|
|
40
40
|
|
|
41
41
|
+ (BOOL)requiresMainQueueSetup {
|
|
42
42
|
return YES;
|
package/ios/DaroMModule.swift
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import Daro
|
|
1
|
+
import React
|
|
3
2
|
import os.log
|
|
4
3
|
|
|
5
4
|
@objc(DaroMModule)
|
|
@@ -83,11 +82,11 @@ class DaroMModule: RCTEventEmitter {
|
|
|
83
82
|
|
|
84
83
|
static var sdkInitialized: Bool = false
|
|
85
84
|
// 광고 인스턴스 저장소
|
|
86
|
-
internal var interstitials: [
|
|
87
|
-
internal var rewardedAds: [
|
|
88
|
-
internal var appOpenAds: [
|
|
89
|
-
internal var lightPopups: [
|
|
90
|
-
internal var lightPopupConfigurations: [
|
|
85
|
+
internal var interstitials: [Int: InterstitialAd] = [:]
|
|
86
|
+
internal var rewardedAds: [Int: RewardedAd] = [:]
|
|
87
|
+
internal var appOpenAds: [Int: AppOpenAd] = [:]
|
|
88
|
+
internal var lightPopups: [Int: LightPopupAd] = [:]
|
|
89
|
+
internal var lightPopupConfigurations: [Int: [String: Any]] = [:]
|
|
91
90
|
|
|
92
91
|
// MARK: - SDK 초기화 및 설정
|
|
93
92
|
|
|
@@ -107,7 +106,7 @@ class DaroMModule: RCTEventEmitter {
|
|
|
107
106
|
resolve(Void())
|
|
108
107
|
return
|
|
109
108
|
}
|
|
110
|
-
|
|
109
|
+
|
|
111
110
|
// 초기화 진행
|
|
112
111
|
DaroAds.shared.logLevel = .debug
|
|
113
112
|
DaroAds.shared.initialized { error in
|
|
@@ -124,11 +123,7 @@ class DaroMModule: RCTEventEmitter {
|
|
|
124
123
|
|
|
125
124
|
@objc(showMediationDebugger::)
|
|
126
125
|
func showMediationDebugger(resolve: @escaping RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
127
|
-
|
|
128
|
-
DispatchQueue.main.async {
|
|
129
|
-
MobileAds.shared.presentAdInspector(from: nil) { error in
|
|
130
|
-
// Error will be non-nil if there was an issue and the inspector was not displayed.
|
|
131
|
-
}
|
|
126
|
+
DaroMediationDebugger.show {
|
|
132
127
|
resolve(Void())
|
|
133
128
|
}
|
|
134
129
|
}
|
|
@@ -206,6 +201,12 @@ extension DaroAdInfo {
|
|
|
206
201
|
"latencyMillis": self.latency as Any,
|
|
207
202
|
]
|
|
208
203
|
}
|
|
204
|
+
|
|
205
|
+
func toBody(requestId: Int) -> [String: Any] {
|
|
206
|
+
var body = self.toBody
|
|
207
|
+
body["requestId"] = requestId
|
|
208
|
+
return body
|
|
209
|
+
}
|
|
209
210
|
}
|
|
210
211
|
|
|
211
212
|
extension DaroError {
|
|
@@ -215,4 +216,10 @@ extension DaroError {
|
|
|
215
216
|
"message": self.message,
|
|
216
217
|
]
|
|
217
218
|
}
|
|
219
|
+
|
|
220
|
+
func toBody(requestId: Int) -> [String: Any] {
|
|
221
|
+
var body = self.toBody
|
|
222
|
+
body["requestId"] = requestId
|
|
223
|
+
return body
|
|
224
|
+
}
|
|
218
225
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import Daro
|
|
2
|
+
|
|
3
|
+
internal typealias DaroAdBannerSize = Daro.DaroAdBannerSize
|
|
4
|
+
internal typealias DaroAdBannerView = Daro.DaroAdBannerView
|
|
5
|
+
internal typealias DaroAdFormat = Daro.DaroAdFormat
|
|
6
|
+
internal typealias DaroAdInfo = Daro.DaroAdInfo
|
|
7
|
+
internal typealias DaroAdNative = Daro.DaroAdNative
|
|
8
|
+
internal typealias DaroAdNativeView = Daro.DaroAdNativeView
|
|
9
|
+
internal typealias DaroAdUnit = Daro.DaroAdUnit
|
|
10
|
+
internal typealias DaroAds = Daro.DaroAds
|
|
11
|
+
internal typealias DaroAppOpenAd = Daro.DaroAppOpenAd
|
|
12
|
+
internal typealias DaroAppOpenAdLoader = Daro.DaroAppOpenAdLoader
|
|
13
|
+
internal typealias DaroError = Daro.DaroError
|
|
14
|
+
internal typealias DaroInterstitialAd = Daro.DaroInterstitialAd
|
|
15
|
+
internal typealias DaroInterstitialAdLoader = Daro.DaroInterstitialAdLoader
|
|
16
|
+
internal typealias DaroLightPopupAd = Daro.DaroLightPopupAd
|
|
17
|
+
internal typealias DaroLightPopupAdLoader = Daro.DaroLightPopupAdLoader
|
|
18
|
+
internal typealias DaroLightPopupConfiguration = Daro.DaroLightPopupConfiguration
|
|
19
|
+
internal typealias DaroRewardedAd = Daro.DaroRewardedAd
|
|
20
|
+
internal typealias DaroRewardedAdLoader = Daro.DaroRewardedAdLoader
|
|
21
|
+
internal typealias DaroRewardedItem = Daro.DaroRewardedItem
|
|
22
|
+
internal typealias AdNativeLoadable = Daro.AdNativeLoadable
|
|
@@ -49,7 +49,11 @@ const AdBannerView = exports.AdBannerView = /*#__PURE__*/(0, _react.forwardRef)(
|
|
|
49
49
|
const [isInitialized, setIsInitialized] = (0, _react.useState)(false);
|
|
50
50
|
const loadAd = (0, _react.useCallback)(() => {
|
|
51
51
|
if (adViewRef.current) {
|
|
52
|
-
|
|
52
|
+
const nodeHandle = (0, _reactNative.findNodeHandle)(adViewRef.current);
|
|
53
|
+
if (typeof nodeHandle !== 'number') {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
_reactNative.UIManager.dispatchViewManagerCommand(nodeHandle,
|
|
53
57
|
// @ts-ignore: Issue in RN ts defs
|
|
54
58
|
_reactNative.UIManager.getViewManagerConfig(ComponentName).Commands.loadAd, []);
|
|
55
59
|
}
|
|
@@ -106,6 +110,7 @@ const AdBannerView = exports.AdBannerView = /*#__PURE__*/(0, _react.forwardRef)(
|
|
|
106
110
|
ref: saveElement,
|
|
107
111
|
adUnitId: adUnitId,
|
|
108
112
|
placement: placement,
|
|
113
|
+
loadOnMount: loadOnMount,
|
|
109
114
|
isVisible: isVisible,
|
|
110
115
|
onAdLoadedEvent: onAdLoadedEvent,
|
|
111
116
|
onAdLoadFailedEvent: onAdLoadFailedEvent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_jsxRuntime","DaroMModule","NativeModules","BANNER_AD_FORMAT_LABEL","MREC_AD_FORMAT_LABEL","getConstants","AdFormat","exports","ComponentName","AdViewComponent","requireNativeComponent","ADVIEW_SIZE","banner","width","height","mrec","AdBannerView","forwardRef","adUnitId","adFormat","placement","loadOnMount","isVisible","onAdLoaded","onAdLoadFailed","onAdClicked","onAdImpressionRecorded","style","otherProps","ref","adFormatSize","useRef","adViewRef","isInitialized","setIsInitialized","useState","loadAd","useCallback","current","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_jsxRuntime","DaroMModule","NativeModules","BANNER_AD_FORMAT_LABEL","MREC_AD_FORMAT_LABEL","getConstants","AdFormat","exports","ComponentName","AdViewComponent","requireNativeComponent","ADVIEW_SIZE","banner","width","height","mrec","AdBannerView","forwardRef","adUnitId","adFormat","placement","loadOnMount","isVisible","onAdLoaded","onAdLoadFailed","onAdClicked","onAdImpressionRecorded","style","otherProps","ref","adFormatSize","useRef","adViewRef","isInitialized","setIsInitialized","useState","loadAd","useCallback","current","nodeHandle","findNodeHandle","UIManager","dispatchViewManagerCommand","getViewManagerConfig","Commands","useImperativeHandle","saveElement","element","useEffect","BANNER","initialized","console","warn","onAdLoadedEvent","event","nativeEvent","onAdLoadFailedEvent","onAdClickedEvent","onAdImpressionRecordedEvent","log","jsx","View"],"sourceRoot":"../../src","sources":["AdBannerView.tsx"],"mappings":"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","ignoreList":[]}
|