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
package/lib/module/AppOpenAd.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { Platform } 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
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const IS_SUPPORTED_PLATFORM = Platform.OS === 'ios';
|
|
8
|
+
const warnUnsupportedPlatform = () => {
|
|
9
|
+
console.warn('AppOpenAd is only supported on iOS.');
|
|
10
|
+
};
|
|
9
11
|
const {
|
|
10
12
|
ON_APPOPEN_AD_LOADED_EVENT,
|
|
11
13
|
ON_APPOPEN_AD_LOAD_FAILED_EVENT,
|
|
@@ -14,7 +16,7 @@ const {
|
|
|
14
16
|
ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT,
|
|
15
17
|
ON_APPOPEN_AD_HIDDEN_EVENT,
|
|
16
18
|
ON_APPOPEN_AD_IMPRESSION_RECORDED
|
|
17
|
-
} =
|
|
19
|
+
} = NativeDaroModule.getConstants();
|
|
18
20
|
const NATIVE_EVENT_BY_TYPE = {
|
|
19
21
|
[AdEventType.LOADED]: ON_APPOPEN_AD_LOADED_EVENT,
|
|
20
22
|
[AdEventType.LOAD_FAILED]: ON_APPOPEN_AD_LOAD_FAILED_EVENT,
|
|
@@ -25,27 +27,47 @@ const NATIVE_EVENT_BY_TYPE = {
|
|
|
25
27
|
[AdEventType.IMPRESSION_RECORDED]: ON_APPOPEN_AD_IMPRESSION_RECORDED
|
|
26
28
|
};
|
|
27
29
|
export class AppOpenAd {
|
|
30
|
+
static _nextRequestId = 1;
|
|
31
|
+
static _legacyRequestIds = new Map();
|
|
32
|
+
static _legacyRequestIdSet = new Set();
|
|
28
33
|
eventEmitter = new AdEventEmitter();
|
|
29
|
-
constructor(adUnitId) {
|
|
34
|
+
constructor(requestId, adUnitId) {
|
|
35
|
+
this.requestId = requestId;
|
|
30
36
|
this.adUnitId = adUnitId;
|
|
31
37
|
}
|
|
32
38
|
static createForAdRequest(adUnitId) {
|
|
33
|
-
|
|
39
|
+
const requestId = AppOpenAd._nextRequestId++;
|
|
40
|
+
return new AppOpenAd(requestId, adUnitId);
|
|
34
41
|
}
|
|
35
42
|
isAdReady() {
|
|
36
|
-
|
|
43
|
+
if (!IS_SUPPORTED_PLATFORM) {
|
|
44
|
+
return Promise.resolve(false);
|
|
45
|
+
}
|
|
46
|
+
return NativeDaroModule.isAppOpenAdReady(this.requestId, this.adUnitId);
|
|
37
47
|
}
|
|
38
48
|
load() {
|
|
39
|
-
|
|
49
|
+
if (!IS_SUPPORTED_PLATFORM) {
|
|
50
|
+
warnUnsupportedPlatform();
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
NativeDaroModule.loadAppOpenAd(this.requestId, this.adUnitId);
|
|
40
54
|
}
|
|
41
55
|
show(placement, customData) {
|
|
42
|
-
|
|
56
|
+
if (!IS_SUPPORTED_PLATFORM) {
|
|
57
|
+
warnUnsupportedPlatform();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
NativeDaroModule.showAppOpenAd(this.requestId, this.adUnitId, placement ?? undefined, customData ?? undefined);
|
|
43
61
|
}
|
|
44
62
|
addAdEventListener(type, listener) {
|
|
63
|
+
if (!IS_SUPPORTED_PLATFORM) {
|
|
64
|
+
warnUnsupportedPlatform();
|
|
65
|
+
return () => {};
|
|
66
|
+
}
|
|
45
67
|
const nativeEvent = NATIVE_EVENT_BY_TYPE[type];
|
|
46
|
-
const
|
|
68
|
+
const requestId = this.requestId;
|
|
47
69
|
return this.eventEmitter.addEventListener(nativeEvent, payload => {
|
|
48
|
-
if (payload?.
|
|
70
|
+
if (payload?.requestId !== requestId) {
|
|
49
71
|
return;
|
|
50
72
|
}
|
|
51
73
|
listener(payload);
|
|
@@ -57,24 +79,60 @@ export class AppOpenAd {
|
|
|
57
79
|
|
|
58
80
|
// ---- Deprecated static API (backward compatibility) ----
|
|
59
81
|
|
|
82
|
+
static _getLegacyRequestId(adUnitId) {
|
|
83
|
+
let requestId = AppOpenAd._legacyRequestIds.get(adUnitId);
|
|
84
|
+
if (requestId === undefined) {
|
|
85
|
+
requestId = AppOpenAd._nextRequestId++;
|
|
86
|
+
AppOpenAd._legacyRequestIds.set(adUnitId, requestId);
|
|
87
|
+
AppOpenAd._legacyRequestIdSet.add(requestId);
|
|
88
|
+
}
|
|
89
|
+
return requestId;
|
|
90
|
+
}
|
|
91
|
+
static _addLegacyEventListener(event, listener) {
|
|
92
|
+
if (!IS_SUPPORTED_PLATFORM) {
|
|
93
|
+
warnUnsupportedPlatform();
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
addEventListener(event, payload => {
|
|
97
|
+
if (!AppOpenAd._legacyRequestIdSet.has(payload?.requestId)) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
listener(payload);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
|
|
60
104
|
/** @deprecated `AppOpenAd.createForAdRequest(adUnitId)` 인스턴스의 `isAdReady()`를 사용하세요. */
|
|
61
105
|
static isAdReady(adUnitId) {
|
|
62
|
-
|
|
106
|
+
if (!IS_SUPPORTED_PLATFORM) {
|
|
107
|
+
return Promise.resolve(false);
|
|
108
|
+
}
|
|
109
|
+
const requestId = AppOpenAd._getLegacyRequestId(adUnitId);
|
|
110
|
+
return NativeDaroModule.isAppOpenAdReady(requestId, adUnitId);
|
|
63
111
|
}
|
|
64
112
|
|
|
65
113
|
/** @deprecated `AppOpenAd.createForAdRequest(adUnitId)` 인스턴스의 `load()`를 사용하세요. */
|
|
66
114
|
static loadAd(adUnitId) {
|
|
67
|
-
|
|
115
|
+
if (!IS_SUPPORTED_PLATFORM) {
|
|
116
|
+
warnUnsupportedPlatform();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const requestId = AppOpenAd._getLegacyRequestId(adUnitId);
|
|
120
|
+
NativeDaroModule.loadAppOpenAd(requestId, adUnitId);
|
|
68
121
|
}
|
|
69
122
|
|
|
70
123
|
/** @deprecated `AppOpenAd.createForAdRequest(adUnitId)` 인스턴스의 `show()`를 사용하세요. */
|
|
71
124
|
static showAd(adUnitId, placement, customData) {
|
|
72
|
-
|
|
125
|
+
if (!IS_SUPPORTED_PLATFORM) {
|
|
126
|
+
warnUnsupportedPlatform();
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
const requestId = AppOpenAd._getLegacyRequestId(adUnitId);
|
|
130
|
+
NativeDaroModule.showAppOpenAd(requestId, adUnitId, placement ?? undefined, customData ?? undefined);
|
|
73
131
|
}
|
|
74
132
|
|
|
75
133
|
/** @deprecated `addAdEventListener(AdEventType.LOADED, ...)`를 인스턴스에서 사용하세요. */
|
|
76
134
|
static addAdLoadedEventListener(listener) {
|
|
77
|
-
|
|
135
|
+
AppOpenAd._addLegacyEventListener(ON_APPOPEN_AD_LOADED_EVENT, listener);
|
|
78
136
|
}
|
|
79
137
|
|
|
80
138
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -84,7 +142,7 @@ export class AppOpenAd {
|
|
|
84
142
|
|
|
85
143
|
/** @deprecated `addAdEventListener(AdEventType.LOAD_FAILED, ...)`를 인스턴스에서 사용하세요. */
|
|
86
144
|
static addAdLoadFailedEventListener(listener) {
|
|
87
|
-
|
|
145
|
+
AppOpenAd._addLegacyEventListener(ON_APPOPEN_AD_LOAD_FAILED_EVENT, listener);
|
|
88
146
|
}
|
|
89
147
|
|
|
90
148
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -94,7 +152,7 @@ export class AppOpenAd {
|
|
|
94
152
|
|
|
95
153
|
/** @deprecated `addAdEventListener(AdEventType.CLICKED, ...)`를 인스턴스에서 사용하세요. */
|
|
96
154
|
static addAdClickedEventListener(listener) {
|
|
97
|
-
|
|
155
|
+
AppOpenAd._addLegacyEventListener(ON_APPOPEN_AD_CLICKED_EVENT, listener);
|
|
98
156
|
}
|
|
99
157
|
|
|
100
158
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -104,7 +162,7 @@ export class AppOpenAd {
|
|
|
104
162
|
|
|
105
163
|
/** @deprecated `addAdEventListener(AdEventType.DISPLAYED, ...)`를 인스턴스에서 사용하세요. */
|
|
106
164
|
static addAdDisplayedEventListener(listener) {
|
|
107
|
-
|
|
165
|
+
AppOpenAd._addLegacyEventListener(ON_APPOPEN_AD_DISPLAYED_EVENT, listener);
|
|
108
166
|
}
|
|
109
167
|
|
|
110
168
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -114,7 +172,7 @@ export class AppOpenAd {
|
|
|
114
172
|
|
|
115
173
|
/** @deprecated `addAdEventListener(AdEventType.FAILED_TO_DISPLAY, ...)`를 인스턴스에서 사용하세요. */
|
|
116
174
|
static addAdFailedToDisplayEventListener(listener) {
|
|
117
|
-
|
|
175
|
+
AppOpenAd._addLegacyEventListener(ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT, listener);
|
|
118
176
|
}
|
|
119
177
|
|
|
120
178
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -124,7 +182,7 @@ export class AppOpenAd {
|
|
|
124
182
|
|
|
125
183
|
/** @deprecated `addAdEventListener(AdEventType.HIDDEN, ...)`를 인스턴스에서 사용하세요. */
|
|
126
184
|
static addAdHiddenEventListener(listener) {
|
|
127
|
-
|
|
185
|
+
AppOpenAd._addLegacyEventListener(ON_APPOPEN_AD_HIDDEN_EVENT, listener);
|
|
128
186
|
}
|
|
129
187
|
|
|
130
188
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -134,7 +192,7 @@ export class AppOpenAd {
|
|
|
134
192
|
|
|
135
193
|
/** @deprecated `addAdEventListener(AdEventType.IMPRESSION_RECORDED, ...)`를 인스턴스에서 사용하세요. */
|
|
136
194
|
static addAdImpressionRecordedListener(listener) {
|
|
137
|
-
|
|
195
|
+
AppOpenAd._addLegacyEventListener(ON_APPOPEN_AD_IMPRESSION_RECORDED, listener);
|
|
138
196
|
}
|
|
139
197
|
|
|
140
198
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Platform","addEventListener","removeEventListener","AdEventEmitter","NativeDaroModule","AdEventType","IS_SUPPORTED_PLATFORM","OS","warnUnsupportedPlatform","console","warn","ON_APPOPEN_AD_LOADED_EVENT","ON_APPOPEN_AD_LOAD_FAILED_EVENT","ON_APPOPEN_AD_CLICKED_EVENT","ON_APPOPEN_AD_DISPLAYED_EVENT","ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT","ON_APPOPEN_AD_HIDDEN_EVENT","ON_APPOPEN_AD_IMPRESSION_RECORDED","getConstants","NATIVE_EVENT_BY_TYPE","LOADED","LOAD_FAILED","CLICKED","DISPLAYED","FAILED_TO_DISPLAY","HIDDEN","IMPRESSION_RECORDED","AppOpenAd","_nextRequestId","_legacyRequestIds","Map","_legacyRequestIdSet","Set","eventEmitter","constructor","requestId","adUnitId","createForAdRequest","isAdReady","Promise","resolve","isAppOpenAdReady","load","loadAppOpenAd","show","placement","customData","showAppOpenAd","undefined","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":["AppOpenAd.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/* eslint-disable @react-native/no-deep-imports -- React Native 0.74 codegen parser compatibility requires these imports. */
|
|
2
|
+
import type * as React from 'react';
|
|
3
|
+
import type { HostComponent, ViewProps } from 'react-native';
|
|
4
|
+
import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
|
|
5
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
6
|
+
import type {
|
|
7
|
+
DirectEventHandler,
|
|
8
|
+
Double,
|
|
9
|
+
Int32,
|
|
10
|
+
WithDefault,
|
|
11
|
+
} from 'react-native/Libraries/Types/CodegenTypes';
|
|
12
|
+
|
|
13
|
+
type AdInfoPayload = {
|
|
14
|
+
adUnitId: string;
|
|
15
|
+
latencyMillis: Double;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
type AdLoadFailedInfoPayload = {
|
|
19
|
+
adUnitId: string;
|
|
20
|
+
code: Int32;
|
|
21
|
+
message: string;
|
|
22
|
+
latencyMillis: Double;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export interface NativeProps extends ViewProps {
|
|
26
|
+
adUnitId: string;
|
|
27
|
+
adFormat: string;
|
|
28
|
+
placement?: string | null;
|
|
29
|
+
loadOnMount?: WithDefault<boolean, true>;
|
|
30
|
+
isVisible?: WithDefault<boolean, true>;
|
|
31
|
+
onAdLoadedEvent?: DirectEventHandler<AdInfoPayload>;
|
|
32
|
+
onAdLoadFailedEvent?: DirectEventHandler<AdLoadFailedInfoPayload>;
|
|
33
|
+
onAdClickedEvent?: DirectEventHandler<AdInfoPayload>;
|
|
34
|
+
onAdImpressionRecordedEvent?: DirectEventHandler<AdInfoPayload>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
type ComponentType = HostComponent<NativeProps>;
|
|
38
|
+
|
|
39
|
+
interface NativeCommands {
|
|
40
|
+
loadAd: (viewRef: React.ElementRef<ComponentType>) => void;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
44
|
+
supportedCommands: ['loadAd'],
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
export default codegenNativeComponent<NativeProps>('DaroMAdBannerView');
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/* eslint-disable @react-native/no-deep-imports -- React Native 0.74 codegen parser compatibility requires these imports. */
|
|
2
|
+
import type * as React from 'react';
|
|
3
|
+
import type { HostComponent, ViewProps } from 'react-native';
|
|
4
|
+
import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
|
|
5
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
6
|
+
import type {
|
|
7
|
+
DirectEventHandler,
|
|
8
|
+
Double,
|
|
9
|
+
Int32,
|
|
10
|
+
UnsafeMixed,
|
|
11
|
+
WithDefault,
|
|
12
|
+
} from 'react-native/Libraries/Types/CodegenTypes';
|
|
13
|
+
|
|
14
|
+
type AdInfoPayload = {
|
|
15
|
+
adUnitId: string;
|
|
16
|
+
latencyMillis: Double;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
type AdLoadFailedInfoPayload = {
|
|
20
|
+
adUnitId: string;
|
|
21
|
+
code: Int32;
|
|
22
|
+
message: string;
|
|
23
|
+
latencyMillis: Double;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
type AdChoicesPosition = 'topLeft' | 'topRight' | 'bottomRight' | 'bottomLeft';
|
|
27
|
+
|
|
28
|
+
export interface NativeProps extends ViewProps {
|
|
29
|
+
adUnitId: string;
|
|
30
|
+
placement?: string | null;
|
|
31
|
+
loadOnMount?: WithDefault<boolean, true>;
|
|
32
|
+
adChoicesPosition?: WithDefault<AdChoicesPosition, 'bottomRight'>;
|
|
33
|
+
|
|
34
|
+
titleView?: Int32;
|
|
35
|
+
bodyView?: Int32;
|
|
36
|
+
callToActionView?: Int32;
|
|
37
|
+
iconView?: Int32;
|
|
38
|
+
mediaView?: Int32;
|
|
39
|
+
|
|
40
|
+
titleViewStyleProps?: UnsafeMixed;
|
|
41
|
+
bodyViewStyleProps?: UnsafeMixed;
|
|
42
|
+
callToActionViewStyleProps?: UnsafeMixed;
|
|
43
|
+
iconViewStyleProps?: UnsafeMixed;
|
|
44
|
+
mediaViewStyleProps?: UnsafeMixed;
|
|
45
|
+
|
|
46
|
+
onAdLoadedEvent?: DirectEventHandler<AdInfoPayload>;
|
|
47
|
+
onAdLoadFailedEvent?: DirectEventHandler<AdLoadFailedInfoPayload>;
|
|
48
|
+
onAdClickedEvent?: DirectEventHandler<AdInfoPayload>;
|
|
49
|
+
onAdImpressionRecordedEvent?: DirectEventHandler<AdInfoPayload>;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
type ComponentType = HostComponent<NativeProps>;
|
|
53
|
+
|
|
54
|
+
interface NativeCommands {
|
|
55
|
+
loadAd: (viewRef: React.ElementRef<ComponentType>) => void;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
59
|
+
supportedCommands: ['loadAd'],
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
export default codegenNativeComponent<NativeProps>('DaroMNativeAdView');
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* eslint-disable @react-native/no-deep-imports -- React Native 0.74 codegen parser compatibility requires this import. */
|
|
2
|
+
import type { ViewProps } from 'react-native';
|
|
3
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
4
|
+
|
|
5
|
+
export interface NativeProps extends ViewProps {}
|
|
6
|
+
|
|
7
|
+
export default codegenNativeComponent<NativeProps>('DaroMediaView', {
|
|
8
|
+
excludedPlatforms: ['iOS'],
|
|
9
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ErrorCode"],"sourceRoot":"../../src","sources":["ErrorCode.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["ErrorCode"],"sourceRoot":"../../src","sources":["ErrorCode.ts"],"mappings":";;AAAA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} = NativeModules;
|
|
7
|
-
const emitter = new NativeEventEmitter(DaroMModule);
|
|
3
|
+
import { NativeEventEmitter } from 'react-native';
|
|
4
|
+
import NativeDaroModule from "./NativeDaroModule.js";
|
|
5
|
+
const emitter = new NativeEventEmitter(NativeDaroModule);
|
|
8
6
|
const subscriptions = new Map();
|
|
9
7
|
export const addEventListener = (event, handler) => {
|
|
10
8
|
const subscription = emitter.addListener(event, handler);
|
|
@@ -24,7 +22,7 @@ export const removeEventListener = event => {
|
|
|
24
22
|
export class AdEventEmitter {
|
|
25
23
|
subscriptions = new Map();
|
|
26
24
|
constructor() {
|
|
27
|
-
this.emitter = new NativeEventEmitter(
|
|
25
|
+
this.emitter = new NativeEventEmitter(NativeDaroModule);
|
|
28
26
|
}
|
|
29
27
|
addEventListener(event, handler) {
|
|
30
28
|
const subscription = this.emitter.addListener(event, handler);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeDaroModule","emitter","subscriptions","Map","addEventListener","event","handler","subscription","addListener","has","set","Set","get","add","remove","delete","removeEventListener","forEach","sub","AdEventEmitter","constructor","removeAllListeners","subs","values","clear"],"sourceRoot":"../../src","sources":["EventEmitter.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,cAAc;AAEjD,OAAOC,gBAAgB,MAAM,uBAAoB;AAGjD,MAAMC,OAAO,GAAG,IAAIF,kBAAkB,CAACC,gBAAgB,CAAC;AACxD,MAAME,aAAkD,GAAG,IAAIC,GAAG,CAAC,CAAC;AAEpE,OAAO,MAAMC,gBAAgB,GAAGA,CAC9BC,KAAa,EACbC,OAA2B,KACV;EACjB,MAAMC,YAA+B,GAAGN,OAAO,CAACO,WAAW,CACzDH,KAAK,EACLC,OACF,CAAC;EAED,IAAI,CAACJ,aAAa,CAACO,GAAG,CAACJ,KAAK,CAAC,EAAE;IAC7BH,aAAa,CAACQ,GAAG,CAACL,KAAK,EAAE,IAAIM,GAAG,CAAC,CAAC,CAAC;EACrC;EACAT,aAAa,CAACU,GAAG,CAACP,KAAK,CAAC,CAAEQ,GAAG,CAACN,YAAY,CAAC;EAE3C,OAAO,MAAM;IACXA,YAAY,CAACO,MAAM,CAAC,CAAC;IACrBZ,aAAa,CAACU,GAAG,CAACP,KAAK,CAAC,EAAEU,MAAM,CAACR,YAAY,CAAC;EAChD,CAAC;AACH,CAAC;AAED,OAAO,MAAMS,mBAAmB,GAAIX,KAAa,IAAW;EAC1DH,aAAa,CAACU,GAAG,CAACP,KAAK,CAAC,EAAEY,OAAO,CAAEC,GAAG,IAAKA,GAAG,CAACJ,MAAM,CAAC,CAAC,CAAC;EACxDZ,aAAa,CAACa,MAAM,CAACV,KAAK,CAAC;AAC7B,CAAC;AAED,OAAO,MAAMc,cAAc,CAAC;EAElBjB,aAAa,GAAwC,IAAIC,GAAG,CAAC,CAAC;EAEtEiB,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACnB,OAAO,GAAG,IAAIF,kBAAkB,CAACC,gBAAgB,CAAC;EACzD;EAEAI,gBAAgBA,CACdC,KAAa,EACbC,OAA2B,EACf;IACZ,MAAMC,YAA+B,GAAG,IAAI,CAACN,OAAO,CAACO,WAAW,CAC9DH,KAAK,EACLC,OACF,CAAC;IAED,IAAI,CAAC,IAAI,CAACJ,aAAa,CAACO,GAAG,CAACJ,KAAK,CAAC,EAAE;MAClC,IAAI,CAACH,aAAa,CAACQ,GAAG,CAACL,KAAK,EAAE,IAAIM,GAAG,CAAC,CAAC,CAAC;IAC1C;IACA,IAAI,CAACT,aAAa,CAACU,GAAG,CAACP,KAAK,CAAC,CAAEQ,GAAG,CAACN,YAAY,CAAC;IAEhD,OAAO,MAAM;MACXA,YAAY,CAACO,MAAM,CAAC,CAAC;MACrB,IAAI,CAACZ,aAAa,CAACU,GAAG,CAACP,KAAK,CAAC,EAAEU,MAAM,CAACR,YAAY,CAAC;IACrD,CAAC;EACH;EAEAS,mBAAmBA,CAACX,KAAa,EAAQ;IACvC,IAAI,CAACH,aAAa,CAACU,GAAG,CAACP,KAAK,CAAC,EAAEY,OAAO,CAAEC,GAAG,IAAKA,GAAG,CAACJ,MAAM,CAAC,CAAC,CAAC;IAC7D,IAAI,CAACZ,aAAa,CAACa,MAAM,CAACV,KAAK,CAAC;EAClC;EAEAgB,kBAAkBA,CAAA,EAAS;IACzB,KAAK,MAAMC,IAAI,IAAI,IAAI,CAACpB,aAAa,CAACqB,MAAM,CAAC,CAAC,EAAE;MAC9CD,IAAI,CAACL,OAAO,CAAEC,GAAG,IAAKA,GAAG,CAACJ,MAAM,CAAC,CAAC,CAAC;IACrC;IACA,IAAI,CAACZ,aAAa,CAACsB,KAAK,CAAC,CAAC;EAC5B;AACF","ignoreList":[]}
|
|
@@ -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 } from "./types/AdEvent.js";
|
|
6
|
-
const {
|
|
7
|
-
DaroMModule
|
|
8
|
-
} = NativeModules;
|
|
9
6
|
const {
|
|
10
7
|
ON_INTERSTITIAL_LOADED_EVENT,
|
|
11
8
|
ON_INTERSTITIAL_LOAD_FAILED_EVENT,
|
|
@@ -14,7 +11,7 @@ const {
|
|
|
14
11
|
ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT,
|
|
15
12
|
ON_INTERSTITIAL_HIDDEN_EVENT,
|
|
16
13
|
ON_INTERSTITIAL_AD_IMPRESSION_RECORDED
|
|
17
|
-
} =
|
|
14
|
+
} = NativeDaroModule.getConstants();
|
|
18
15
|
const NATIVE_EVENT_BY_TYPE = {
|
|
19
16
|
[AdEventType.LOADED]: ON_INTERSTITIAL_LOADED_EVENT,
|
|
20
17
|
[AdEventType.LOAD_FAILED]: ON_INTERSTITIAL_LOAD_FAILED_EVENT,
|
|
@@ -25,27 +22,32 @@ const NATIVE_EVENT_BY_TYPE = {
|
|
|
25
22
|
[AdEventType.IMPRESSION_RECORDED]: ON_INTERSTITIAL_AD_IMPRESSION_RECORDED
|
|
26
23
|
};
|
|
27
24
|
export class InterstitialAd {
|
|
25
|
+
static _nextRequestId = 1;
|
|
26
|
+
static _legacyRequestIds = new Map();
|
|
27
|
+
static _legacyRequestIdSet = new Set();
|
|
28
28
|
eventEmitter = new AdEventEmitter();
|
|
29
|
-
constructor(adUnitId) {
|
|
29
|
+
constructor(requestId, adUnitId) {
|
|
30
|
+
this.requestId = requestId;
|
|
30
31
|
this.adUnitId = adUnitId;
|
|
31
32
|
}
|
|
32
33
|
static createForAdRequest(adUnitId) {
|
|
33
|
-
|
|
34
|
+
const requestId = InterstitialAd._nextRequestId++;
|
|
35
|
+
return new InterstitialAd(requestId, adUnitId);
|
|
34
36
|
}
|
|
35
37
|
isAdReady() {
|
|
36
|
-
return
|
|
38
|
+
return NativeDaroModule.isInterstitialReady(this.requestId, this.adUnitId);
|
|
37
39
|
}
|
|
38
40
|
load() {
|
|
39
|
-
|
|
41
|
+
NativeDaroModule.loadInterstitial(this.requestId, this.adUnitId);
|
|
40
42
|
}
|
|
41
43
|
show() {
|
|
42
|
-
|
|
44
|
+
NativeDaroModule.showInterstitial(this.requestId, this.adUnitId);
|
|
43
45
|
}
|
|
44
46
|
addAdEventListener(type, listener) {
|
|
45
47
|
const nativeEvent = NATIVE_EVENT_BY_TYPE[type];
|
|
46
|
-
const
|
|
48
|
+
const requestId = this.requestId;
|
|
47
49
|
return this.eventEmitter.addEventListener(nativeEvent, payload => {
|
|
48
|
-
if (payload?.
|
|
50
|
+
if (payload?.requestId !== requestId) {
|
|
49
51
|
return;
|
|
50
52
|
}
|
|
51
53
|
listener(payload);
|
|
@@ -56,25 +58,48 @@ export class InterstitialAd {
|
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
// ---- Deprecated static API (backward compatibility) ----
|
|
61
|
+
// Static API allocates a stable requestId per adUnitId and reuses it.
|
|
62
|
+
// Multiple static calls for the same adUnitId share the same native slot.
|
|
63
|
+
|
|
64
|
+
static _getLegacyRequestId(adUnitId) {
|
|
65
|
+
let requestId = InterstitialAd._legacyRequestIds.get(adUnitId);
|
|
66
|
+
if (requestId === undefined) {
|
|
67
|
+
requestId = InterstitialAd._nextRequestId++;
|
|
68
|
+
InterstitialAd._legacyRequestIds.set(adUnitId, requestId);
|
|
69
|
+
InterstitialAd._legacyRequestIdSet.add(requestId);
|
|
70
|
+
}
|
|
71
|
+
return requestId;
|
|
72
|
+
}
|
|
73
|
+
static _addLegacyEventListener(event, listener) {
|
|
74
|
+
addEventListener(event, payload => {
|
|
75
|
+
if (!InterstitialAd._legacyRequestIdSet.has(payload?.requestId)) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
listener(payload);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
59
81
|
|
|
60
82
|
/** @deprecated `InterstitialAd.createForAdRequest(adUnitId)` 인스턴스의 `isAdReady()`를 사용하세요. */
|
|
61
83
|
static isAdReady(adUnitId) {
|
|
62
|
-
|
|
84
|
+
const requestId = InterstitialAd._getLegacyRequestId(adUnitId);
|
|
85
|
+
return NativeDaroModule.isInterstitialReady(requestId, adUnitId);
|
|
63
86
|
}
|
|
64
87
|
|
|
65
88
|
/** @deprecated `InterstitialAd.createForAdRequest(adUnitId)` 인스턴스의 `load()`를 사용하세요. */
|
|
66
89
|
static loadAd(adUnitId) {
|
|
67
|
-
|
|
90
|
+
const requestId = InterstitialAd._getLegacyRequestId(adUnitId);
|
|
91
|
+
NativeDaroModule.loadInterstitial(requestId, adUnitId);
|
|
68
92
|
}
|
|
69
93
|
|
|
70
94
|
/** @deprecated `InterstitialAd.createForAdRequest(adUnitId)` 인스턴스의 `show()`를 사용하세요. */
|
|
71
95
|
static showAd(adUnitId) {
|
|
72
|
-
|
|
96
|
+
const requestId = InterstitialAd._getLegacyRequestId(adUnitId);
|
|
97
|
+
NativeDaroModule.showInterstitial(requestId, adUnitId);
|
|
73
98
|
}
|
|
74
99
|
|
|
75
100
|
/** @deprecated `addAdEventListener(AdEventType.LOADED, ...)`를 인스턴스에서 사용하세요. */
|
|
76
101
|
static addAdLoadedEventListener(listener) {
|
|
77
|
-
|
|
102
|
+
InterstitialAd._addLegacyEventListener(ON_INTERSTITIAL_LOADED_EVENT, listener);
|
|
78
103
|
}
|
|
79
104
|
|
|
80
105
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -84,7 +109,7 @@ export class InterstitialAd {
|
|
|
84
109
|
|
|
85
110
|
/** @deprecated `addAdEventListener(AdEventType.LOAD_FAILED, ...)`를 인스턴스에서 사용하세요. */
|
|
86
111
|
static addAdLoadFailedEventListener(listener) {
|
|
87
|
-
|
|
112
|
+
InterstitialAd._addLegacyEventListener(ON_INTERSTITIAL_LOAD_FAILED_EVENT, listener);
|
|
88
113
|
}
|
|
89
114
|
|
|
90
115
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -94,7 +119,7 @@ export class InterstitialAd {
|
|
|
94
119
|
|
|
95
120
|
/** @deprecated `addAdEventListener(AdEventType.CLICKED, ...)`를 인스턴스에서 사용하세요. */
|
|
96
121
|
static addAdClickedEventListener(listener) {
|
|
97
|
-
|
|
122
|
+
InterstitialAd._addLegacyEventListener(ON_INTERSTITIAL_CLICKED_EVENT, listener);
|
|
98
123
|
}
|
|
99
124
|
|
|
100
125
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -104,7 +129,7 @@ export class InterstitialAd {
|
|
|
104
129
|
|
|
105
130
|
/** @deprecated `addAdEventListener(AdEventType.DISPLAYED, ...)`를 인스턴스에서 사용하세요. */
|
|
106
131
|
static addAdDisplayedEventListener(listener) {
|
|
107
|
-
|
|
132
|
+
InterstitialAd._addLegacyEventListener(ON_INTERSTITIAL_DISPLAYED_EVENT, listener);
|
|
108
133
|
}
|
|
109
134
|
|
|
110
135
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -114,7 +139,7 @@ export class InterstitialAd {
|
|
|
114
139
|
|
|
115
140
|
/** @deprecated `addAdEventListener(AdEventType.FAILED_TO_DISPLAY, ...)`를 인스턴스에서 사용하세요. */
|
|
116
141
|
static addAdFailedToDisplayEventListener(listener) {
|
|
117
|
-
|
|
142
|
+
InterstitialAd._addLegacyEventListener(ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT, listener);
|
|
118
143
|
}
|
|
119
144
|
|
|
120
145
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -124,7 +149,7 @@ export class InterstitialAd {
|
|
|
124
149
|
|
|
125
150
|
/** @deprecated `addAdEventListener(AdEventType.HIDDEN, ...)`를 인스턴스에서 사용하세요. */
|
|
126
151
|
static addAdHiddenEventListener(listener) {
|
|
127
|
-
|
|
152
|
+
InterstitialAd._addLegacyEventListener(ON_INTERSTITIAL_HIDDEN_EVENT, listener);
|
|
128
153
|
}
|
|
129
154
|
|
|
130
155
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -134,7 +159,7 @@ export class InterstitialAd {
|
|
|
134
159
|
|
|
135
160
|
/** @deprecated `addAdEventListener(AdEventType.IMPRESSION_RECORDED, ...)`를 인스턴스에서 사용하세요. */
|
|
136
161
|
static addAdImpressionRecordedListener(listener) {
|
|
137
|
-
|
|
162
|
+
InterstitialAd._addLegacyEventListener(ON_INTERSTITIAL_AD_IMPRESSION_RECORDED, listener);
|
|
138
163
|
}
|
|
139
164
|
|
|
140
165
|
/** @deprecated 인스턴스의 `addAdEventListener` disposer를 사용하세요. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["addEventListener","removeEventListener","AdEventEmitter","NativeDaroModule","AdEventType","ON_INTERSTITIAL_LOADED_EVENT","ON_INTERSTITIAL_LOAD_FAILED_EVENT","ON_INTERSTITIAL_CLICKED_EVENT","ON_INTERSTITIAL_DISPLAYED_EVENT","ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT","ON_INTERSTITIAL_HIDDEN_EVENT","ON_INTERSTITIAL_AD_IMPRESSION_RECORDED","getConstants","NATIVE_EVENT_BY_TYPE","LOADED","LOAD_FAILED","CLICKED","DISPLAYED","FAILED_TO_DISPLAY","HIDDEN","IMPRESSION_RECORDED","InterstitialAd","_nextRequestId","_legacyRequestIds","Map","_legacyRequestIdSet","Set","eventEmitter","constructor","requestId","adUnitId","createForAdRequest","isAdReady","isInterstitialReady","load","loadInterstitial","show","showInterstitial","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"],"sourceRoot":"../../src","sources":["InterstitialAd.ts"],"mappings":"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","ignoreList":[]}
|