react-native-daro 1.0.13 → 1.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +30 -30
- package/android/build.gradle +52 -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 +38 -15
- package/android/src/main/java/com/daro/reactnative/DaroMAdNativeViewManager.kt +167 -0
- package/android/src/main/java/com/daro/reactnative/DaroMModule.kt +257 -0
- package/android/src/main/java/com/daro/reactnative/DaroMPackage.kt +45 -0
- package/android/src/main/java/com/daro/reactnative/DaroMediaViewManager.kt +25 -0
- 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 +19 -8
- 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 +27 -27
- package/android/src/main/java/com/{darom → daro/reactnative}/util/AdInfoUtil.kt +25 -1
- package/android/src/main/java/com/daro/reactnative/util/EventEmitterUtil.kt +37 -0
- package/android/src/main/java/com/daro/reactnative/view/DaroMAdBannerViewContainer.kt +417 -0
- package/android/src/main/java/com/daro/reactnative/view/DaroMAdNativeViewContainer.kt +624 -0
- package/android/src/main/java/com/daro/reactnative/view/DaroMediaView.kt +123 -0
- package/android/src/newarch/java/com/daro/reactnative/DaroMModuleSpec.kt +6 -0
- package/android/src/oldarch/java/com/daro/reactnative/DaroMModuleSpec.kt +90 -0
- package/app.plugin.js +1 -0
- package/ios/DaroMModule+AppOpen.swift +38 -32
- package/ios/DaroMModule+Interstitial.swift +32 -26
- package/ios/DaroMModule+LightPopup.swift +43 -33
- package/ios/DaroMModule+Rewarded.swift +38 -27
- package/ios/DaroMModule.mm +45 -17
- package/ios/DaroMModule.swift +24 -17
- package/ios/Fabric/DaroMAdBannerComponentView.mm +207 -0
- package/ios/Fabric/DaroMFabricEventSink.mm +31 -0
- package/ios/Fabric/DaroMFabricPropApplier.mm +123 -0
- package/ios/Fabric/DaroMNativeAdComponentView.mm +294 -0
- package/ios/{DaroMAdBannerViewManager.m → Paper/DaroMAdBannerViewManager.m} +3 -1
- package/ios/Paper/DaroMAdBannerViewManager.swift +21 -0
- package/ios/{DaroMNativeAdViewManager.m → Paper/DaroMNativeAdViewManager.m} +2 -1
- package/ios/Paper/DaroMNativeAdViewManager.swift +22 -0
- package/ios/Shared/DaroMAdEventSink.swift +24 -0
- package/ios/Shared/DaroMBannerAdView.swift +188 -0
- package/ios/Shared/DaroMNativeAdLoadCoordinator.swift +49 -0
- package/ios/Shared/DaroMNativeAdView.swift +575 -0
- package/ios/Shared/DaroMNativeAssetResolver.swift +53 -0
- package/ios/mediation/admob/DaroMediationDebugger.swift +11 -0
- package/ios/mediation/admob/DaroMediationTypes.swift +23 -0
- package/lib/commonjs/AdBannerView.js +21 -35
- package/lib/commonjs/AdBannerView.js.map +1 -1
- package/lib/commonjs/AppOpenAd.js +80 -21
- package/lib/commonjs/AppOpenAd.js.map +1 -1
- package/lib/commonjs/DaroMAdBannerViewNativeComponent.ts +47 -0
- package/lib/commonjs/DaroMNativeAdViewNativeComponent.ts +62 -0
- package/lib/commonjs/DaroMediaViewNativeComponent.ts +9 -0
- package/lib/commonjs/ErrorCode.js.map +1 -1
- package/lib/commonjs/EventEmitter.js +4 -5
- package/lib/commonjs/EventEmitter.js.map +1 -1
- package/lib/commonjs/InterstitialAd.js +48 -22
- package/lib/commonjs/InterstitialAd.js.map +1 -1
- package/lib/commonjs/LightPopupAd.js +64 -46
- package/lib/commonjs/LightPopupAd.js.map +1 -1
- package/lib/commonjs/NativeDaroModule.js +9 -0
- package/lib/commonjs/NativeDaroModule.js.map +1 -0
- package/lib/commonjs/RewardedAd.js +47 -23
- package/lib/commonjs/RewardedAd.js.map +1 -1
- package/lib/commonjs/codegen-env.d.js +2 -0
- package/lib/commonjs/codegen-env.d.js.map +1 -0
- package/lib/commonjs/hooks/useInterstitialAd.js +110 -0
- package/lib/commonjs/hooks/useInterstitialAd.js.map +1 -0
- package/lib/commonjs/hooks/useLightPopupAd.js +114 -0
- package/lib/commonjs/hooks/useLightPopupAd.js.map +1 -0
- package/lib/commonjs/hooks/useRewardedAd.js +113 -0
- package/lib/commonjs/hooks/useRewardedAd.js.map +1 -0
- package/lib/commonjs/index.js +29 -13
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdView.js +23 -18
- package/lib/commonjs/nativeAd/NativeAdView.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js +43 -31
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js +34 -7
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/module/AdBannerView.js +20 -36
- package/lib/module/AdBannerView.js.map +1 -1
- package/lib/module/AppOpenAd.js +80 -22
- package/lib/module/AppOpenAd.js.map +1 -1
- package/lib/module/DaroMAdBannerViewNativeComponent.ts +47 -0
- package/lib/module/DaroMNativeAdViewNativeComponent.ts +62 -0
- package/lib/module/DaroMediaViewNativeComponent.ts +9 -0
- package/lib/module/ErrorCode.js.map +1 -1
- package/lib/module/EventEmitter.js +4 -6
- package/lib/module/EventEmitter.js.map +1 -1
- package/lib/module/InterstitialAd.js +47 -22
- package/lib/module/InterstitialAd.js.map +1 -1
- package/lib/module/LightPopupAd.js +65 -47
- package/lib/module/LightPopupAd.js.map +1 -1
- package/lib/module/NativeDaroModule.js +5 -0
- package/lib/module/NativeDaroModule.js.map +1 -0
- package/lib/module/RewardedAd.js +46 -23
- package/lib/module/RewardedAd.js.map +1 -1
- package/lib/module/codegen-env.d.js +2 -0
- package/lib/module/codegen-env.d.js.map +1 -0
- package/lib/module/hooks/useInterstitialAd.js +106 -0
- package/lib/module/hooks/useInterstitialAd.js.map +1 -0
- package/lib/module/hooks/useLightPopupAd.js +110 -0
- package/lib/module/hooks/useLightPopupAd.js.map +1 -0
- package/lib/module/hooks/useRewardedAd.js +109 -0
- package/lib/module/hooks/useRewardedAd.js.map +1 -0
- package/lib/module/index.js +7 -13
- package/lib/module/index.js.map +1 -1
- package/lib/module/nativeAd/NativeAdView.js +22 -19
- package/lib/module/nativeAd/NativeAdView.js.map +1 -1
- package/lib/module/nativeAd/NativeAdViewComponents.js +45 -34
- package/lib/module/nativeAd/NativeAdViewComponents.js.map +1 -1
- package/lib/module/nativeAd/NativeAdViewProvider.js +35 -8
- package/lib/module/nativeAd/NativeAdViewProvider.js.map +1 -1
- package/lib/module/package.json +1 -0
- 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 +126 -4
- package/lib/typescript/commonjs/src/AdBannerView.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/AppOpenAd.d.ts +6 -0
- package/lib/typescript/commonjs/src/AppOpenAd.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/DaroMAdBannerViewNativeComponent.d.ts +32 -0
- package/lib/typescript/commonjs/src/DaroMAdBannerViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/DaroMNativeAdViewNativeComponent.d.ts +42 -0
- package/lib/typescript/commonjs/src/DaroMNativeAdViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/DaroMediaViewNativeComponent.d.ts +6 -0
- package/lib/typescript/commonjs/src/DaroMediaViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ErrorCode.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/EventEmitter.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/InterstitialAd.d.ts +6 -0
- package/lib/typescript/commonjs/src/InterstitialAd.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/LightPopupAd.d.ts +6 -0
- package/lib/typescript/commonjs/src/LightPopupAd.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/NativeDaroModule.d.ts +61 -0
- package/lib/typescript/commonjs/src/NativeDaroModule.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/RewardedAd.d.ts +6 -0
- package/lib/typescript/commonjs/src/RewardedAd.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/hooks/useInterstitialAd.d.ts +19 -0
- package/lib/typescript/commonjs/src/hooks/useInterstitialAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/useLightPopupAd.d.ts +23 -0
- package/lib/typescript/commonjs/src/hooks/useLightPopupAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/useRewardedAd.d.ts +20 -0
- package/lib/typescript/commonjs/src/hooks/useRewardedAd.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +7 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/nativeAd/NativeAdView.d.ts +125 -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 +11 -5
- 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/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/NativeAdViewProps.d.ts +2 -0
- 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 +126 -4
- package/lib/typescript/module/src/AdBannerView.d.ts.map +1 -1
- package/lib/typescript/module/src/AppOpenAd.d.ts +6 -0
- package/lib/typescript/module/src/AppOpenAd.d.ts.map +1 -1
- package/lib/typescript/module/src/DaroMAdBannerViewNativeComponent.d.ts +32 -0
- package/lib/typescript/module/src/DaroMAdBannerViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/DaroMNativeAdViewNativeComponent.d.ts +42 -0
- package/lib/typescript/module/src/DaroMNativeAdViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/DaroMediaViewNativeComponent.d.ts +6 -0
- package/lib/typescript/module/src/DaroMediaViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/ErrorCode.d.ts.map +1 -1
- package/lib/typescript/module/src/EventEmitter.d.ts.map +1 -1
- package/lib/typescript/module/src/InterstitialAd.d.ts +6 -0
- package/lib/typescript/module/src/InterstitialAd.d.ts.map +1 -1
- package/lib/typescript/module/src/LightPopupAd.d.ts +6 -0
- package/lib/typescript/module/src/LightPopupAd.d.ts.map +1 -1
- package/lib/typescript/module/src/NativeDaroModule.d.ts +61 -0
- package/lib/typescript/module/src/NativeDaroModule.d.ts.map +1 -0
- package/lib/typescript/module/src/RewardedAd.d.ts +6 -0
- package/lib/typescript/module/src/RewardedAd.d.ts.map +1 -1
- package/lib/typescript/module/src/hooks/useInterstitialAd.d.ts +19 -0
- package/lib/typescript/module/src/hooks/useInterstitialAd.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/useLightPopupAd.d.ts +23 -0
- package/lib/typescript/module/src/hooks/useLightPopupAd.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/useRewardedAd.d.ts +20 -0
- package/lib/typescript/module/src/hooks/useRewardedAd.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +7 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/nativeAd/NativeAdView.d.ts +125 -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 +11 -5
- 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/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/NativeAdViewProps.d.ts +2 -0
- package/lib/typescript/module/src/types/NativeAdViewProps.d.ts.map +1 -1
- package/package.json +95 -105
- 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 +222 -0
- package/plugin/build/withIos.d.ts +7 -0
- package/plugin/build/withIos.js +82 -0
- package/react-native-daro.podspec +28 -0
- package/src/AdBannerView.tsx +48 -48
- package/src/AppOpenAd.ts +101 -20
- package/src/DaroMAdBannerViewNativeComponent.ts +47 -0
- package/src/DaroMNativeAdViewNativeComponent.ts +62 -0
- package/src/DaroMediaViewNativeComponent.ts +9 -0
- package/src/ErrorCode.ts +1 -2
- package/src/EventEmitter.ts +9 -7
- package/src/InterstitialAd.ts +75 -21
- package/src/LightPopupAd.ts +90 -51
- package/src/NativeDaroModule.ts +91 -0
- package/src/RewardedAd.ts +72 -22
- package/src/codegen-env.d.ts +45 -0
- package/src/hooks/useInterstitialAd.ts +117 -0
- package/src/hooks/useLightPopupAd.ts +132 -0
- package/src/hooks/useRewardedAd.ts +122 -0
- package/src/index.tsx +21 -22
- package/src/nativeAd/NativeAdView.tsx +83 -45
- package/src/nativeAd/NativeAdViewComponents.tsx +129 -64
- package/src/nativeAd/NativeAdViewProvider.tsx +84 -16
- package/src/types/AdBannerViewProps.ts +11 -11
- package/src/types/AdInfo.ts +17 -17
- package/src/types/AdProps.ts +8 -9
- package/src/types/DaroMMobileAds.ts +3 -6
- package/src/types/NativeAdViewProps.ts +12 -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/DaroMAdNativeViewManager.kt +0 -136
- package/android/src/main/java/com/darom/DaroMModule.kt +0 -203
- package/android/src/main/java/com/darom/DaroMPackage.kt +0 -21
- package/android/src/main/java/com/darom/util/EventEmitterUtil.kt +0 -24
- package/android/src/main/java/com/darom/view/DaroMAdBannerViewContainer.kt +0 -163
- package/android/src/main/java/com/darom/view/DaroMAdNativeViewContainer.kt +0 -375
- 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/ios/DaroMAdBannerViewManager.swift +0 -91
- package/ios/DaroMNativeAdViewManager.swift +0 -291
- package/react-native-daro-m.podspec +0 -44
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { processColor } from 'react-native';
|
|
4
4
|
import { addEventListener, removeEventListener, AdEventEmitter } from "./EventEmitter.js";
|
|
5
|
+
import NativeDaroModule from "./NativeDaroModule.js";
|
|
5
6
|
import { AdEventType } from "./types/AdEvent.js";
|
|
6
|
-
import tinycolor from 'tinycolor2';
|
|
7
|
-
const {
|
|
8
|
-
DaroMModule
|
|
9
|
-
} = NativeModules;
|
|
10
7
|
const {
|
|
11
8
|
ON_LIGHTPOPUP_LOADED_EVENT,
|
|
12
9
|
ON_LIGHTPOPUP_LOAD_FAILED_EVENT,
|
|
@@ -15,7 +12,7 @@ const {
|
|
|
15
12
|
ON_LIGHTPOPUP_AD_FAILED_TO_DISPLAY_EVENT,
|
|
16
13
|
ON_LIGHTPOPUP_HIDDEN_EVENT,
|
|
17
14
|
ON_LIGHTPOPUP_AD_IMPRESSION_RECORDED
|
|
18
|
-
} =
|
|
15
|
+
} = NativeDaroModule.getConstants();
|
|
19
16
|
const NATIVE_EVENT_BY_TYPE = {
|
|
20
17
|
[AdEventType.LOADED]: ON_LIGHTPOPUP_LOADED_EVENT,
|
|
21
18
|
[AdEventType.LOAD_FAILED]: ON_LIGHTPOPUP_LOAD_FAILED_EVENT,
|
|
@@ -25,28 +22,22 @@ const NATIVE_EVENT_BY_TYPE = {
|
|
|
25
22
|
[AdEventType.HIDDEN]: ON_LIGHTPOPUP_HIDDEN_EVENT,
|
|
26
23
|
[AdEventType.IMPRESSION_RECORDED]: ON_LIGHTPOPUP_AD_IMPRESSION_RECORDED
|
|
27
24
|
};
|
|
28
|
-
|
|
29
|
-
if (
|
|
30
|
-
|
|
31
|
-
// #AARRGGBB로 변환
|
|
32
|
-
return `#${color.toString(16).padStart(8, '0')}`.toUpperCase();
|
|
33
|
-
}
|
|
34
|
-
if (typeof color === 'string') {
|
|
35
|
-
const tc = tinycolor(color);
|
|
36
|
-
if (tc.isValid()) {
|
|
37
|
-
// alpha가 1이면 #RRGGBB, 아니면 #AARRGGBB
|
|
38
|
-
const hex = tc.toHexString().toUpperCase();
|
|
39
|
-
const alpha = Math.round(tc.getAlpha() * 255);
|
|
40
|
-
if (alpha === 255) {
|
|
41
|
-
return hex;
|
|
42
|
-
} else {
|
|
43
|
-
return '#' + alpha.toString(16).padStart(2, '0').toUpperCase() + tc.toHex().toUpperCase();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
25
|
+
const colorToHex = color => {
|
|
26
|
+
if (color === undefined || color === null) {
|
|
27
|
+
return undefined;
|
|
46
28
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
29
|
+
const processedColor = processColor(color);
|
|
30
|
+
if (typeof processedColor !== 'number') {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
const argb = processedColor >>> 0;
|
|
34
|
+
const alpha = argb >>> 24 & 0xff;
|
|
35
|
+
if (alpha === 0xff) {
|
|
36
|
+
return `#${(argb & 0x00ffffff).toString(16).padStart(6, '0')}`.toUpperCase();
|
|
37
|
+
}
|
|
38
|
+
return `#${argb.toString(16).padStart(8, '0')}`.toUpperCase();
|
|
39
|
+
};
|
|
40
|
+
const normalizeConfiguration = configuration => {
|
|
50
41
|
const config = {
|
|
51
42
|
...configuration
|
|
52
43
|
};
|
|
@@ -61,32 +52,37 @@ function normalizeConfiguration(configuration) {
|
|
|
61
52
|
if (config.ctaButtonTextColor) config.ctaButtonTextColor = colorToHex(config.ctaButtonTextColor);
|
|
62
53
|
if (config.ctaButtonBackgroundColor) config.ctaButtonBackgroundColor = colorToHex(config.ctaButtonBackgroundColor);
|
|
63
54
|
return config;
|
|
64
|
-
}
|
|
55
|
+
};
|
|
65
56
|
export class LightPopupAd {
|
|
57
|
+
static _nextRequestId = 1;
|
|
58
|
+
static _legacyRequestIds = new Map();
|
|
59
|
+
static _legacyRequestIdSet = new Set();
|
|
66
60
|
eventEmitter = new AdEventEmitter();
|
|
67
|
-
constructor(adUnitId) {
|
|
61
|
+
constructor(requestId, adUnitId) {
|
|
62
|
+
this.requestId = requestId;
|
|
68
63
|
this.adUnitId = adUnitId;
|
|
69
64
|
}
|
|
70
65
|
static createForAdRequest(adUnitId) {
|
|
71
|
-
|
|
66
|
+
const requestId = LightPopupAd._nextRequestId++;
|
|
67
|
+
return new LightPopupAd(requestId, adUnitId);
|
|
72
68
|
}
|
|
73
69
|
isAdReady() {
|
|
74
|
-
return
|
|
70
|
+
return NativeDaroModule.isLightPopupReady(this.requestId, this.adUnitId);
|
|
75
71
|
}
|
|
76
72
|
load() {
|
|
77
|
-
|
|
73
|
+
NativeDaroModule.loadLightPopup(this.requestId, this.adUnitId);
|
|
78
74
|
}
|
|
79
75
|
show() {
|
|
80
|
-
|
|
76
|
+
NativeDaroModule.showLightPopup(this.requestId, this.adUnitId);
|
|
81
77
|
}
|
|
82
78
|
setConfiguration(configuration) {
|
|
83
|
-
|
|
79
|
+
NativeDaroModule.setLightPopupAdConfiguration(this.requestId, this.adUnitId, normalizeConfiguration(configuration));
|
|
84
80
|
}
|
|
85
81
|
addAdEventListener(type, listener) {
|
|
86
82
|
const nativeEvent = NATIVE_EVENT_BY_TYPE[type];
|
|
87
|
-
const
|
|
83
|
+
const requestId = this.requestId;
|
|
88
84
|
return this.eventEmitter.addEventListener(nativeEvent, payload => {
|
|
89
|
-
if (payload?.
|
|
85
|
+
if (payload?.requestId !== requestId) {
|
|
90
86
|
return;
|
|
91
87
|
}
|
|
92
88
|
listener(payload);
|
|
@@ -98,29 +94,51 @@ export class LightPopupAd {
|
|
|
98
94
|
|
|
99
95
|
// ---- Deprecated static API (backward compatibility) ----
|
|
100
96
|
|
|
97
|
+
static _getLegacyRequestId(adUnitId) {
|
|
98
|
+
let requestId = LightPopupAd._legacyRequestIds.get(adUnitId);
|
|
99
|
+
if (requestId === undefined) {
|
|
100
|
+
requestId = LightPopupAd._nextRequestId++;
|
|
101
|
+
LightPopupAd._legacyRequestIds.set(adUnitId, requestId);
|
|
102
|
+
LightPopupAd._legacyRequestIdSet.add(requestId);
|
|
103
|
+
}
|
|
104
|
+
return requestId;
|
|
105
|
+
}
|
|
106
|
+
static _addLegacyEventListener(event, listener) {
|
|
107
|
+
addEventListener(event, payload => {
|
|
108
|
+
if (!LightPopupAd._legacyRequestIdSet.has(payload?.requestId)) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
listener(payload);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
|
|
101
115
|
/** @deprecated `LightPopupAd.createForAdRequest(adUnitId)` 인스턴스의 `isAdReady()`를 사용하세요. */
|
|
102
116
|
static isAdReady(adUnitId) {
|
|
103
|
-
|
|
117
|
+
const requestId = LightPopupAd._getLegacyRequestId(adUnitId);
|
|
118
|
+
return NativeDaroModule.isLightPopupReady(requestId, adUnitId);
|
|
104
119
|
}
|
|
105
120
|
|
|
106
121
|
/** @deprecated `LightPopupAd.createForAdRequest(adUnitId)` 인스턴스의 `load()`를 사용하세요. */
|
|
107
122
|
static loadAd(adUnitId) {
|
|
108
|
-
|
|
123
|
+
const requestId = LightPopupAd._getLegacyRequestId(adUnitId);
|
|
124
|
+
NativeDaroModule.loadLightPopup(requestId, adUnitId);
|
|
109
125
|
}
|
|
110
126
|
|
|
111
127
|
/** @deprecated `LightPopupAd.createForAdRequest(adUnitId)` 인스턴스의 `show()`를 사용하세요. */
|
|
112
128
|
static showAd(adUnitId) {
|
|
113
|
-
|
|
129
|
+
const requestId = LightPopupAd._getLegacyRequestId(adUnitId);
|
|
130
|
+
NativeDaroModule.showLightPopup(requestId, adUnitId);
|
|
114
131
|
}
|
|
115
132
|
|
|
116
133
|
/** @deprecated 인스턴스의 `setConfiguration()`을 사용하세요. */
|
|
117
134
|
static setLightPopupAdConfiguration(adUnitId, configuration) {
|
|
118
|
-
|
|
135
|
+
const requestId = LightPopupAd._getLegacyRequestId(adUnitId);
|
|
136
|
+
NativeDaroModule.setLightPopupAdConfiguration(requestId, adUnitId, normalizeConfiguration(configuration));
|
|
119
137
|
}
|
|
120
138
|
|
|
121
139
|
/** @deprecated `addAdEventListener(AdEventType.LOADED, ...)`를 인스턴스에서 사용하세요. */
|
|
122
140
|
static addAdLoadedEventListener(listener) {
|
|
123
|
-
|
|
141
|
+
LightPopupAd._addLegacyEventListener(ON_LIGHTPOPUP_LOADED_EVENT, listener);
|
|
124
142
|
}
|
|
125
143
|
|
|
126
144
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -130,7 +148,7 @@ export class LightPopupAd {
|
|
|
130
148
|
|
|
131
149
|
/** @deprecated `addAdEventListener(AdEventType.LOAD_FAILED, ...)`를 인스턴스에서 사용하세요. */
|
|
132
150
|
static addAdLoadFailedEventListener(listener) {
|
|
133
|
-
|
|
151
|
+
LightPopupAd._addLegacyEventListener(ON_LIGHTPOPUP_LOAD_FAILED_EVENT, listener);
|
|
134
152
|
}
|
|
135
153
|
|
|
136
154
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -140,7 +158,7 @@ export class LightPopupAd {
|
|
|
140
158
|
|
|
141
159
|
/** @deprecated `addAdEventListener(AdEventType.CLICKED, ...)`를 인스턴스에서 사용하세요. */
|
|
142
160
|
static addAdClickedEventListener(listener) {
|
|
143
|
-
|
|
161
|
+
LightPopupAd._addLegacyEventListener(ON_LIGHTPOPUP_CLICKED_EVENT, listener);
|
|
144
162
|
}
|
|
145
163
|
|
|
146
164
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -150,7 +168,7 @@ export class LightPopupAd {
|
|
|
150
168
|
|
|
151
169
|
/** @deprecated `addAdEventListener(AdEventType.DISPLAYED, ...)`를 인스턴스에서 사용하세요. */
|
|
152
170
|
static addAdDisplayedEventListener(listener) {
|
|
153
|
-
|
|
171
|
+
LightPopupAd._addLegacyEventListener(ON_LIGHTPOPUP_DISPLAYED_EVENT, listener);
|
|
154
172
|
}
|
|
155
173
|
|
|
156
174
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -160,7 +178,7 @@ export class LightPopupAd {
|
|
|
160
178
|
|
|
161
179
|
/** @deprecated `addAdEventListener(AdEventType.FAILED_TO_DISPLAY, ...)`를 인스턴스에서 사용하세요. */
|
|
162
180
|
static addAdFailedToDisplayEventListener(listener) {
|
|
163
|
-
|
|
181
|
+
LightPopupAd._addLegacyEventListener(ON_LIGHTPOPUP_AD_FAILED_TO_DISPLAY_EVENT, listener);
|
|
164
182
|
}
|
|
165
183
|
|
|
166
184
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -170,7 +188,7 @@ export class LightPopupAd {
|
|
|
170
188
|
|
|
171
189
|
/** @deprecated `addAdEventListener(AdEventType.HIDDEN, ...)`를 인스턴스에서 사용하세요. */
|
|
172
190
|
static addAdHiddenEventListener(listener) {
|
|
173
|
-
|
|
191
|
+
LightPopupAd._addLegacyEventListener(ON_LIGHTPOPUP_HIDDEN_EVENT, listener);
|
|
174
192
|
}
|
|
175
193
|
|
|
176
194
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -180,7 +198,7 @@ export class LightPopupAd {
|
|
|
180
198
|
|
|
181
199
|
/** @deprecated `addAdEventListener(AdEventType.IMPRESSION_RECORDED, ...)`를 인스턴스에서 사용하세요. */
|
|
182
200
|
static addAdImpressionRecordedListener(listener) {
|
|
183
|
-
|
|
201
|
+
LightPopupAd._addLegacyEventListener(ON_LIGHTPOPUP_AD_IMPRESSION_RECORDED, listener);
|
|
184
202
|
}
|
|
185
203
|
|
|
186
204
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["processColor","addEventListener","removeEventListener","AdEventEmitter","NativeDaroModule","AdEventType","ON_LIGHTPOPUP_LOADED_EVENT","ON_LIGHTPOPUP_LOAD_FAILED_EVENT","ON_LIGHTPOPUP_CLICKED_EVENT","ON_LIGHTPOPUP_DISPLAYED_EVENT","ON_LIGHTPOPUP_AD_FAILED_TO_DISPLAY_EVENT","ON_LIGHTPOPUP_HIDDEN_EVENT","ON_LIGHTPOPUP_AD_IMPRESSION_RECORDED","getConstants","NATIVE_EVENT_BY_TYPE","LOADED","LOAD_FAILED","CLICKED","DISPLAYED","FAILED_TO_DISPLAY","HIDDEN","IMPRESSION_RECORDED","colorToHex","color","undefined","processedColor","argb","alpha","toString","padStart","toUpperCase","normalizeConfiguration","configuration","config","backgroundColor","cardViewBackgroundColor","adMarkLabelTextColor","adMarkLabelBackgroundColor","closeButtonText","closeButtonTextColor","titleTextColor","bodyTextColor","ctaButtonTextColor","ctaButtonBackgroundColor","LightPopupAd","_nextRequestId","_legacyRequestIds","Map","_legacyRequestIdSet","Set","eventEmitter","constructor","requestId","adUnitId","createForAdRequest","isAdReady","isLightPopupReady","load","loadLightPopup","show","showLightPopup","setConfiguration","setLightPopupAdConfiguration","addAdEventListener","type","listener","nativeEvent","payload","removeAllListeners","_getLegacyRequestId","get","set","add","_addLegacyEventListener","event","has","loadAd","showAd","addAdLoadedEventListener","removeAdLoadedEventListener","addAdLoadFailedEventListener","removeAdLoadFailedEventListener","addAdClickedEventListener","removeAdClickedEventListener","addAdDisplayedEventListener","removeAdDisplayedEventListener","addAdFailedToDisplayEventListener","removeAdFailedToDisplayEventListener","addAdHiddenEventListener","removeAdHiddenEventListener","addAdImpressionRecordedListener","removeAdImpressionRecordedListener"],"sourceRoot":"../../src","sources":["LightPopupAd.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeDaroModule.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAyFlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,aAAa,CAAC","ignoreList":[]}
|
package/lib/module/RewardedAd.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { NativeModules } from 'react-native';
|
|
4
3
|
import { addEventListener, removeEventListener, AdEventEmitter } from "./EventEmitter.js";
|
|
4
|
+
import NativeDaroModule from "./NativeDaroModule.js";
|
|
5
5
|
import { AdEventType, RewardedAdEventType } from "./types/AdEvent.js";
|
|
6
|
-
const {
|
|
7
|
-
DaroMModule
|
|
8
|
-
} = NativeModules;
|
|
9
6
|
const {
|
|
10
7
|
ON_REWARDED_AD_LOADED_EVENT,
|
|
11
8
|
ON_REWARDED_AD_LOAD_FAILED_EVENT,
|
|
@@ -15,7 +12,7 @@ const {
|
|
|
15
12
|
ON_REWARDED_AD_HIDDEN_EVENT,
|
|
16
13
|
ON_REWARDED_AD_RECEIVED_REWARD_EVENT,
|
|
17
14
|
ON_REWARDED_AD_IMPRESSION_RECORDED
|
|
18
|
-
} =
|
|
15
|
+
} = NativeDaroModule.getConstants();
|
|
19
16
|
const NATIVE_EVENT_BY_TYPE = {
|
|
20
17
|
[AdEventType.LOADED]: ON_REWARDED_AD_LOADED_EVENT,
|
|
21
18
|
[AdEventType.LOAD_FAILED]: ON_REWARDED_AD_LOAD_FAILED_EVENT,
|
|
@@ -27,27 +24,32 @@ const NATIVE_EVENT_BY_TYPE = {
|
|
|
27
24
|
[RewardedAdEventType.RECEIVED_REWARD]: ON_REWARDED_AD_RECEIVED_REWARD_EVENT
|
|
28
25
|
};
|
|
29
26
|
export class RewardedAd {
|
|
27
|
+
static _nextRequestId = 1;
|
|
28
|
+
static _legacyRequestIds = new Map();
|
|
29
|
+
static _legacyRequestIdSet = new Set();
|
|
30
30
|
eventEmitter = new AdEventEmitter();
|
|
31
|
-
constructor(adUnitId) {
|
|
31
|
+
constructor(requestId, adUnitId) {
|
|
32
|
+
this.requestId = requestId;
|
|
32
33
|
this.adUnitId = adUnitId;
|
|
33
34
|
}
|
|
34
35
|
static createForAdRequest(adUnitId) {
|
|
35
|
-
|
|
36
|
+
const requestId = RewardedAd._nextRequestId++;
|
|
37
|
+
return new RewardedAd(requestId, adUnitId);
|
|
36
38
|
}
|
|
37
39
|
isAdReady() {
|
|
38
|
-
return
|
|
40
|
+
return NativeDaroModule.isRewardedAdReady(this.requestId, this.adUnitId);
|
|
39
41
|
}
|
|
40
42
|
load() {
|
|
41
|
-
|
|
43
|
+
NativeDaroModule.loadRewardedAd(this.requestId, this.adUnitId);
|
|
42
44
|
}
|
|
43
45
|
show(customData) {
|
|
44
|
-
|
|
46
|
+
NativeDaroModule.showRewardedAd(this.requestId, this.adUnitId, customData ?? null);
|
|
45
47
|
}
|
|
46
48
|
addAdEventListener(type, listener) {
|
|
47
49
|
const nativeEvent = NATIVE_EVENT_BY_TYPE[type];
|
|
48
|
-
const
|
|
50
|
+
const requestId = this.requestId;
|
|
49
51
|
return this.eventEmitter.addEventListener(nativeEvent, payload => {
|
|
50
|
-
if (payload?.
|
|
52
|
+
if (payload?.requestId !== requestId) {
|
|
51
53
|
return;
|
|
52
54
|
}
|
|
53
55
|
listener(payload);
|
|
@@ -59,24 +61,45 @@ export class RewardedAd {
|
|
|
59
61
|
|
|
60
62
|
// ---- Deprecated static API (backward compatibility) ----
|
|
61
63
|
|
|
64
|
+
static _getLegacyRequestId(adUnitId) {
|
|
65
|
+
let requestId = RewardedAd._legacyRequestIds.get(adUnitId);
|
|
66
|
+
if (requestId === undefined) {
|
|
67
|
+
requestId = RewardedAd._nextRequestId++;
|
|
68
|
+
RewardedAd._legacyRequestIds.set(adUnitId, requestId);
|
|
69
|
+
RewardedAd._legacyRequestIdSet.add(requestId);
|
|
70
|
+
}
|
|
71
|
+
return requestId;
|
|
72
|
+
}
|
|
73
|
+
static _addLegacyEventListener(event, listener) {
|
|
74
|
+
addEventListener(event, payload => {
|
|
75
|
+
if (!RewardedAd._legacyRequestIdSet.has(payload?.requestId)) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
listener(payload);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
62
82
|
/** @deprecated `RewardedAd.createForAdRequest(adUnitId)` 인스턴스의 `isAdReady()`를 사용하세요. */
|
|
63
83
|
static isAdReady(adUnitId) {
|
|
64
|
-
|
|
84
|
+
const requestId = RewardedAd._getLegacyRequestId(adUnitId);
|
|
85
|
+
return NativeDaroModule.isRewardedAdReady(requestId, adUnitId);
|
|
65
86
|
}
|
|
66
87
|
|
|
67
88
|
/** @deprecated `RewardedAd.createForAdRequest(adUnitId)` 인스턴스의 `load()`를 사용하세요. */
|
|
68
89
|
static loadAd(adUnitId) {
|
|
69
|
-
|
|
90
|
+
const requestId = RewardedAd._getLegacyRequestId(adUnitId);
|
|
91
|
+
NativeDaroModule.loadRewardedAd(requestId, adUnitId);
|
|
70
92
|
}
|
|
71
93
|
|
|
72
94
|
/** @deprecated `RewardedAd.createForAdRequest(adUnitId)` 인스턴스의 `show()`를 사용하세요. */
|
|
73
95
|
static showAd(adUnitId, customData) {
|
|
74
|
-
|
|
96
|
+
const requestId = RewardedAd._getLegacyRequestId(adUnitId);
|
|
97
|
+
NativeDaroModule.showRewardedAd(requestId, adUnitId, customData ?? null);
|
|
75
98
|
}
|
|
76
99
|
|
|
77
100
|
/** @deprecated `addAdEventListener(AdEventType.LOADED, ...)`를 인스턴스에서 사용하세요. */
|
|
78
101
|
static addAdLoadedEventListener(listener) {
|
|
79
|
-
|
|
102
|
+
RewardedAd._addLegacyEventListener(ON_REWARDED_AD_LOADED_EVENT, listener);
|
|
80
103
|
}
|
|
81
104
|
|
|
82
105
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -86,7 +109,7 @@ export class RewardedAd {
|
|
|
86
109
|
|
|
87
110
|
/** @deprecated `addAdEventListener(AdEventType.LOAD_FAILED, ...)`를 인스턴스에서 사용하세요. */
|
|
88
111
|
static addAdLoadFailedEventListener(listener) {
|
|
89
|
-
|
|
112
|
+
RewardedAd._addLegacyEventListener(ON_REWARDED_AD_LOAD_FAILED_EVENT, listener);
|
|
90
113
|
}
|
|
91
114
|
|
|
92
115
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -96,7 +119,7 @@ export class RewardedAd {
|
|
|
96
119
|
|
|
97
120
|
/** @deprecated `addAdEventListener(AdEventType.CLICKED, ...)`를 인스턴스에서 사용하세요. */
|
|
98
121
|
static addAdClickedEventListener(listener) {
|
|
99
|
-
|
|
122
|
+
RewardedAd._addLegacyEventListener(ON_REWARDED_AD_CLICKED_EVENT, listener);
|
|
100
123
|
}
|
|
101
124
|
|
|
102
125
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -106,7 +129,7 @@ export class RewardedAd {
|
|
|
106
129
|
|
|
107
130
|
/** @deprecated `addAdEventListener(AdEventType.DISPLAYED, ...)`를 인스턴스에서 사용하세요. */
|
|
108
131
|
static addAdDisplayedEventListener(listener) {
|
|
109
|
-
|
|
132
|
+
RewardedAd._addLegacyEventListener(ON_REWARDED_AD_DISPLAYED_EVENT, listener);
|
|
110
133
|
}
|
|
111
134
|
|
|
112
135
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -116,7 +139,7 @@ export class RewardedAd {
|
|
|
116
139
|
|
|
117
140
|
/** @deprecated `addAdEventListener(AdEventType.FAILED_TO_DISPLAY, ...)`를 인스턴스에서 사용하세요. */
|
|
118
141
|
static addAdFailedToDisplayEventListener(listener) {
|
|
119
|
-
|
|
142
|
+
RewardedAd._addLegacyEventListener(ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT, listener);
|
|
120
143
|
}
|
|
121
144
|
|
|
122
145
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -126,7 +149,7 @@ export class RewardedAd {
|
|
|
126
149
|
|
|
127
150
|
/** @deprecated `addAdEventListener(AdEventType.HIDDEN, ...)`를 인스턴스에서 사용하세요. */
|
|
128
151
|
static addAdHiddenEventListener(listener) {
|
|
129
|
-
|
|
152
|
+
RewardedAd._addLegacyEventListener(ON_REWARDED_AD_HIDDEN_EVENT, listener);
|
|
130
153
|
}
|
|
131
154
|
|
|
132
155
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -136,7 +159,7 @@ export class RewardedAd {
|
|
|
136
159
|
|
|
137
160
|
/** @deprecated `addAdEventListener(AdEventType.IMPRESSION_RECORDED, ...)`를 인스턴스에서 사용하세요. */
|
|
138
161
|
static addAdImpressionRecordedListener(listener) {
|
|
139
|
-
|
|
162
|
+
RewardedAd._addLegacyEventListener(ON_REWARDED_AD_IMPRESSION_RECORDED, listener);
|
|
140
163
|
}
|
|
141
164
|
|
|
142
165
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -146,7 +169,7 @@ export class RewardedAd {
|
|
|
146
169
|
|
|
147
170
|
/** @deprecated `addAdEventListener(RewardedAdEventType.RECEIVED_REWARD, ...)`를 인스턴스에서 사용하세요. */
|
|
148
171
|
static addAdReceivedRewardEventListener(listener) {
|
|
149
|
-
|
|
172
|
+
RewardedAd._addLegacyEventListener(ON_REWARDED_AD_RECEIVED_REWARD_EVENT, listener);
|
|
150
173
|
}
|
|
151
174
|
|
|
152
175
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["addEventListener","removeEventListener","AdEventEmitter","NativeDaroModule","AdEventType","RewardedAdEventType","ON_REWARDED_AD_LOADED_EVENT","ON_REWARDED_AD_LOAD_FAILED_EVENT","ON_REWARDED_AD_CLICKED_EVENT","ON_REWARDED_AD_DISPLAYED_EVENT","ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT","ON_REWARDED_AD_HIDDEN_EVENT","ON_REWARDED_AD_RECEIVED_REWARD_EVENT","ON_REWARDED_AD_IMPRESSION_RECORDED","getConstants","NATIVE_EVENT_BY_TYPE","LOADED","LOAD_FAILED","CLICKED","DISPLAYED","FAILED_TO_DISPLAY","HIDDEN","IMPRESSION_RECORDED","RECEIVED_REWARD","RewardedAd","_nextRequestId","_legacyRequestIds","Map","_legacyRequestIdSet","Set","eventEmitter","constructor","requestId","adUnitId","createForAdRequest","isAdReady","isRewardedAdReady","load","loadRewardedAd","show","customData","showRewardedAd","addAdEventListener","type","listener","nativeEvent","payload","removeAllListeners","_getLegacyRequestId","get","undefined","set","add","_addLegacyEventListener","event","has","loadAd","showAd","addAdLoadedEventListener","removeAdLoadedEventListener","addAdLoadFailedEventListener","removeAdLoadFailedEventListener","addAdClickedEventListener","removeAdClickedEventListener","addAdDisplayedEventListener","removeAdDisplayedEventListener","addAdFailedToDisplayEventListener","removeAdFailedToDisplayEventListener","addAdHiddenEventListener","removeAdHiddenEventListener","addAdImpressionRecordedListener","removeAdImpressionRecordedListener","addAdReceivedRewardEventListener","removeAdReceivedRewardEventListener"],"sourceRoot":"../../src","sources":["RewardedAd.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["codegen-env.d.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { InterstitialAd } from "../InterstitialAd.js";
|
|
5
|
+
import { AdEventType } from "../types/AdEvent.js";
|
|
6
|
+
export function useInterstitialAd(adUnitId, options = {}) {
|
|
7
|
+
const adRef = useRef(null);
|
|
8
|
+
const optionsRef = useRef(options);
|
|
9
|
+
optionsRef.current = options;
|
|
10
|
+
const [state, setState] = useState({
|
|
11
|
+
isLoaded: false,
|
|
12
|
+
isLoading: false
|
|
13
|
+
});
|
|
14
|
+
const load = useCallback(() => {
|
|
15
|
+
if (!adUnitId) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const ad = adRef.current;
|
|
19
|
+
if (!ad) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
setState({
|
|
23
|
+
isLoaded: false,
|
|
24
|
+
isLoading: true
|
|
25
|
+
});
|
|
26
|
+
ad.load();
|
|
27
|
+
}, [adUnitId]);
|
|
28
|
+
const show = useCallback(() => {
|
|
29
|
+
adRef.current?.show();
|
|
30
|
+
}, []);
|
|
31
|
+
const isAdReady = useCallback(async () => {
|
|
32
|
+
const isLoaded = (await adRef.current?.isAdReady()) ?? false;
|
|
33
|
+
setState(prevState => ({
|
|
34
|
+
...prevState,
|
|
35
|
+
isLoaded
|
|
36
|
+
}));
|
|
37
|
+
return isLoaded;
|
|
38
|
+
}, []);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
adRef.current?.removeAllListeners();
|
|
41
|
+
adRef.current = null;
|
|
42
|
+
setState({
|
|
43
|
+
isLoaded: false,
|
|
44
|
+
isLoading: false
|
|
45
|
+
});
|
|
46
|
+
if (!adUnitId) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const ad = InterstitialAd.createForAdRequest(adUnitId);
|
|
50
|
+
adRef.current = ad;
|
|
51
|
+
ad.addAdEventListener(AdEventType.LOADED, info => {
|
|
52
|
+
setState({
|
|
53
|
+
isLoaded: true,
|
|
54
|
+
isLoading: false
|
|
55
|
+
});
|
|
56
|
+
optionsRef.current.onLoaded?.(info);
|
|
57
|
+
});
|
|
58
|
+
ad.addAdEventListener(AdEventType.LOAD_FAILED, error => {
|
|
59
|
+
setState({
|
|
60
|
+
isLoaded: false,
|
|
61
|
+
isLoading: false
|
|
62
|
+
});
|
|
63
|
+
optionsRef.current.onLoadFailed?.(error);
|
|
64
|
+
});
|
|
65
|
+
ad.addAdEventListener(AdEventType.DISPLAYED, info => {
|
|
66
|
+
setState(prevState => ({
|
|
67
|
+
...prevState,
|
|
68
|
+
isLoaded: false
|
|
69
|
+
}));
|
|
70
|
+
optionsRef.current.onDisplayed?.(info);
|
|
71
|
+
});
|
|
72
|
+
ad.addAdEventListener(AdEventType.FAILED_TO_DISPLAY, error => {
|
|
73
|
+
setState({
|
|
74
|
+
isLoaded: false,
|
|
75
|
+
isLoading: false
|
|
76
|
+
});
|
|
77
|
+
optionsRef.current.onFailedToDisplay?.(error);
|
|
78
|
+
});
|
|
79
|
+
ad.addAdEventListener(AdEventType.HIDDEN, info => {
|
|
80
|
+
setState(prevState => ({
|
|
81
|
+
...prevState,
|
|
82
|
+
isLoaded: false
|
|
83
|
+
}));
|
|
84
|
+
optionsRef.current.onHidden?.(info);
|
|
85
|
+
});
|
|
86
|
+
ad.addAdEventListener(AdEventType.CLICKED, info => {
|
|
87
|
+
optionsRef.current.onClicked?.(info);
|
|
88
|
+
});
|
|
89
|
+
ad.addAdEventListener(AdEventType.IMPRESSION_RECORDED, info => {
|
|
90
|
+
optionsRef.current.onImpressionRecorded?.(info);
|
|
91
|
+
});
|
|
92
|
+
return () => {
|
|
93
|
+
ad.removeAllListeners();
|
|
94
|
+
if (adRef.current === ad) {
|
|
95
|
+
adRef.current = null;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}, [adUnitId]);
|
|
99
|
+
return {
|
|
100
|
+
...state,
|
|
101
|
+
load,
|
|
102
|
+
show,
|
|
103
|
+
isAdReady
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=useInterstitialAd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","InterstitialAd","AdEventType","useInterstitialAd","adUnitId","options","adRef","optionsRef","current","state","setState","isLoaded","isLoading","load","ad","show","isAdReady","prevState","removeAllListeners","createForAdRequest","addAdEventListener","LOADED","info","onLoaded","LOAD_FAILED","error","onLoadFailed","DISPLAYED","onDisplayed","FAILED_TO_DISPLAY","onFailedToDisplay","HIDDEN","onHidden","CLICKED","onClicked","IMPRESSION_RECORDED","onImpressionRecorded"],"sourceRoot":"../../../src","sources":["hooks/useInterstitialAd.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAChE,SAASC,cAAc,QAAQ,sBAAmB;AAClD,SAASC,WAAW,QAAQ,qBAAkB;AAyB9C,OAAO,SAASC,iBAAiBA,CAC/BC,QAAuB,EACvBC,OAAiC,GAAG,CAAC,CAAC,EACb;EACzB,MAAMC,KAAK,GAAGP,MAAM,CAAwB,IAAI,CAAC;EACjD,MAAMQ,UAAU,GAAGR,MAAM,CAACM,OAAO,CAAC;EAClCE,UAAU,CAACC,OAAO,GAAGH,OAAO;EAC5B,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAGV,QAAQ,CAAC;IACjCW,QAAQ,EAAE,KAAK;IACfC,SAAS,EAAE;EACb,CAAC,CAAC;EAEF,MAAMC,IAAI,GAAGhB,WAAW,CAAC,MAAM;IAC7B,IAAI,CAACO,QAAQ,EAAE;MACb;IACF;IAEA,MAAMU,EAAE,GAAGR,KAAK,CAACE,OAAO;IACxB,IAAI,CAACM,EAAE,EAAE;MACP;IACF;IAEAJ,QAAQ,CAAC;MAAEC,QAAQ,EAAE,KAAK;MAAEC,SAAS,EAAE;IAAK,CAAC,CAAC;IAC9CE,EAAE,CAACD,IAAI,CAAC,CAAC;EACX,CAAC,EAAE,CAACT,QAAQ,CAAC,CAAC;EAEd,MAAMW,IAAI,GAAGlB,WAAW,CAAC,MAAM;IAC7BS,KAAK,CAACE,OAAO,EAAEO,IAAI,CAAC,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,SAAS,GAAGnB,WAAW,CAAC,YAAY;IACxC,MAAMc,QAAQ,GAAG,CAAC,MAAML,KAAK,CAACE,OAAO,EAAEQ,SAAS,CAAC,CAAC,KAAK,KAAK;IAC5DN,QAAQ,CAAEO,SAAS,KAAM;MAAE,GAAGA,SAAS;MAAEN;IAAS,CAAC,CAAC,CAAC;IACrD,OAAOA,QAAQ;EACjB,CAAC,EAAE,EAAE,CAAC;EAENb,SAAS,CAAC,MAAM;IACdQ,KAAK,CAACE,OAAO,EAAEU,kBAAkB,CAAC,CAAC;IACnCZ,KAAK,CAACE,OAAO,GAAG,IAAI;IACpBE,QAAQ,CAAC;MAAEC,QAAQ,EAAE,KAAK;MAAEC,SAAS,EAAE;IAAM,CAAC,CAAC;IAE/C,IAAI,CAACR,QAAQ,EAAE;MACb;IACF;IAEA,MAAMU,EAAE,GAAGb,cAAc,CAACkB,kBAAkB,CAACf,QAAQ,CAAC;IACtDE,KAAK,CAACE,OAAO,GAAGM,EAAE;IAElBA,EAAE,CAACM,kBAAkB,CAAClB,WAAW,CAACmB,MAAM,EAAGC,IAAI,IAAK;MAClDZ,QAAQ,CAAC;QAAEC,QAAQ,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAM,CAAC,CAAC;MAC9CL,UAAU,CAACC,OAAO,CAACe,QAAQ,GAAGD,IAAI,CAAC;IACrC,CAAC,CAAC;IACFR,EAAE,CAACM,kBAAkB,CAAClB,WAAW,CAACsB,WAAW,EAAGC,KAAK,IAAK;MACxDf,QAAQ,CAAC;QAAEC,QAAQ,EAAE,KAAK;QAAEC,SAAS,EAAE;MAAM,CAAC,CAAC;MAC/CL,UAAU,CAACC,OAAO,CAACkB,YAAY,GAAGD,KAAK,CAAC;IAC1C,CAAC,CAAC;IACFX,EAAE,CAACM,kBAAkB,CAAClB,WAAW,CAACyB,SAAS,EAAGL,IAAI,IAAK;MACrDZ,QAAQ,CAAEO,SAAS,KAAM;QAAE,GAAGA,SAAS;QAAEN,QAAQ,EAAE;MAAM,CAAC,CAAC,CAAC;MAC5DJ,UAAU,CAACC,OAAO,CAACoB,WAAW,GAAGN,IAAI,CAAC;IACxC,CAAC,CAAC;IACFR,EAAE,CAACM,kBAAkB,CAAClB,WAAW,CAAC2B,iBAAiB,EAAGJ,KAAK,IAAK;MAC9Df,QAAQ,CAAC;QAAEC,QAAQ,EAAE,KAAK;QAAEC,SAAS,EAAE;MAAM,CAAC,CAAC;MAC/CL,UAAU,CAACC,OAAO,CAACsB,iBAAiB,GAAGL,KAAK,CAAC;IAC/C,CAAC,CAAC;IACFX,EAAE,CAACM,kBAAkB,CAAClB,WAAW,CAAC6B,MAAM,EAAGT,IAAI,IAAK;MAClDZ,QAAQ,CAAEO,SAAS,KAAM;QAAE,GAAGA,SAAS;QAAEN,QAAQ,EAAE;MAAM,CAAC,CAAC,CAAC;MAC5DJ,UAAU,CAACC,OAAO,CAACwB,QAAQ,GAAGV,IAAI,CAAC;IACrC,CAAC,CAAC;IACFR,EAAE,CAACM,kBAAkB,CAAClB,WAAW,CAAC+B,OAAO,EAAGX,IAAI,IAAK;MACnDf,UAAU,CAACC,OAAO,CAAC0B,SAAS,GAAGZ,IAAI,CAAC;IACtC,CAAC,CAAC;IACFR,EAAE,CAACM,kBAAkB,CAAClB,WAAW,CAACiC,mBAAmB,EAAGb,IAAI,IAAK;MAC/Df,UAAU,CAACC,OAAO,CAAC4B,oBAAoB,GAAGd,IAAI,CAAC;IACjD,CAAC,CAAC;IAEF,OAAO,MAAM;MACXR,EAAE,CAACI,kBAAkB,CAAC,CAAC;MACvB,IAAIZ,KAAK,CAACE,OAAO,KAAKM,EAAE,EAAE;QACxBR,KAAK,CAACE,OAAO,GAAG,IAAI;MACtB;IACF,CAAC;EACH,CAAC,EAAE,CAACJ,QAAQ,CAAC,CAAC;EAEd,OAAO;IACL,GAAGK,KAAK;IACRI,IAAI;IACJE,IAAI;IACJC;EACF,CAAC;AACH","ignoreList":[]}
|