adwhale-sdk-react-native 2.7.204 → 2.7.300
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/AdwhaleSdkReactNative.podspec +22 -0
- package/README.md +80 -37
- package/android/proguard-rules.pro +56 -0
- package/android/src/main/java/com/adwhalesdkreactnative/AdWhaleCustomNativeBinderFactory.java +18 -0
- package/android/src/main/java/com/adwhalesdkreactnative/AdwhaleSdkReactNativePackage.java +51 -6
- package/android/src/main/java/com/adwhalesdkreactnative/BinderFactory.java +9 -0
- package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationAdSettingModule.java +148 -49
- package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationAdView.java +46 -27
- package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationAppOpenAd.java +136 -0
- package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationCustomNativeAdView.java +37 -46
- package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationExitPopupAd.java +240 -0
- package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationInterstitialAd.java +189 -0
- package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationLoggerModule.java +2 -1
- package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationNativeAdViewListenerBridge.java +83 -0
- package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationRewardAd.java +255 -6
- package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationTemplateNativeAdView.java +191 -70
- package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationTransitionPopupAd.java +218 -0
- package/android/src/main/java/com/adwhalesdkreactnative/RNWrapperView.java +137 -0
- package/android/src/main/java/com/adwhalesdkreactnative/SimpleBinderFactory.java +1 -1
- package/android/src/main/java/com/adwhalesdkreactnative/common/RNMethodArgConst.java +112 -0
- package/android/src/main/java/com/adwhalesdkreactnative/common/RNMethodCallConst.java +113 -0
- package/android/src/main/java/com/adwhalesdkreactnative/common/RNMethodResultConst.java +28 -0
- package/build/generated/ios/ReactAppDependencyProvider.podspec +34 -0
- package/ios/AdWhaleNativeCustomViewFactoryRegistry.swift +56 -0
- package/ios/AdwhaleSdkReactNative.mm +96 -5
- package/ios/AdwhaleSdkReactNativeModule.swift +148 -0
- package/ios/RNAdWhaleMediationAdViewManager.m +38 -0
- package/ios/RNAdWhaleMediationAdViewManager.swift +14 -0
- package/ios/RNAdWhaleMediationAppOpenAd.m +18 -0
- package/ios/RNAdWhaleMediationAppOpenAd.swift +175 -0
- package/ios/RNAdWhaleMediationCustomNativeAdViewManager.m +22 -0
- package/ios/RNAdWhaleMediationCustomNativeAdViewManager.swift +239 -0
- package/ios/RNAdWhaleMediationInterstitialAd.m +18 -0
- package/ios/RNAdWhaleMediationInterstitialAd.swift +161 -0
- package/ios/RNAdWhaleMediationRewardAd.m +18 -0
- package/ios/RNAdWhaleMediationRewardAd.swift +172 -0
- package/ios/WhaleMediationBannerContainer.swift +182 -0
- package/lib/module/AdWhaleAdView.js +58 -3
- package/lib/module/AdWhaleAdView.js.map +1 -1
- package/lib/module/AdWhaleAppOpenAd.js +223 -25
- package/lib/module/AdWhaleAppOpenAd.js.map +1 -1
- package/lib/module/AdWhaleExitPopupAd.js +93 -0
- package/lib/module/AdWhaleExitPopupAd.js.map +1 -0
- package/lib/module/AdWhaleInterstitialAd.js +146 -22
- package/lib/module/AdWhaleInterstitialAd.js.map +1 -1
- package/lib/module/AdWhaleMediationAds.js +75 -4
- package/lib/module/AdWhaleMediationAds.js.map +1 -1
- package/lib/module/AdWhaleNativeCustomView.js +59 -8
- package/lib/module/AdWhaleNativeCustomView.js.map +1 -1
- package/lib/module/AdWhaleNativeTemplateView.js +37 -19
- package/lib/module/AdWhaleNativeTemplateView.js.map +1 -1
- package/lib/module/AdWhaleRewardAd.js +169 -24
- package/lib/module/AdWhaleRewardAd.js.map +1 -1
- package/lib/module/AdWhaleTransitionPopupAd.js +87 -0
- package/lib/module/AdWhaleTransitionPopupAd.js.map +1 -0
- package/lib/module/NativeAdwhaleSdkReactNative.js +16 -1
- package/lib/module/NativeAdwhaleSdkReactNative.js.map +1 -1
- package/lib/module/constants/AdWhaleMethodArgConst.js +53 -0
- package/lib/module/constants/AdWhaleMethodArgConst.js.map +1 -0
- package/lib/module/constants/AdWhaleMethodCallConst.js +56 -0
- package/lib/module/constants/AdWhaleMethodCallConst.js.map +1 -0
- package/lib/module/constants/AdWhaleMethodResultConst.js +16 -0
- package/lib/module/constants/AdWhaleMethodResultConst.js.map +1 -0
- package/lib/module/index.js +10 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/AdWhaleAdView.d.ts +20 -2
- package/lib/typescript/src/AdWhaleAdView.d.ts.map +1 -1
- package/lib/typescript/src/AdWhaleAppOpenAd.d.ts +10 -0
- package/lib/typescript/src/AdWhaleAppOpenAd.d.ts.map +1 -1
- package/lib/typescript/src/AdWhaleExitPopupAd.d.ts +36 -0
- package/lib/typescript/src/AdWhaleExitPopupAd.d.ts.map +1 -0
- package/lib/typescript/src/AdWhaleInterstitialAd.d.ts +16 -0
- package/lib/typescript/src/AdWhaleInterstitialAd.d.ts.map +1 -1
- package/lib/typescript/src/AdWhaleMediationAds.d.ts +13 -5
- package/lib/typescript/src/AdWhaleMediationAds.d.ts.map +1 -1
- package/lib/typescript/src/AdWhaleNativeCustomView.d.ts +7 -4
- package/lib/typescript/src/AdWhaleNativeCustomView.d.ts.map +1 -1
- package/lib/typescript/src/AdWhaleNativeTemplateView.d.ts +20 -7
- package/lib/typescript/src/AdWhaleNativeTemplateView.d.ts.map +1 -1
- package/lib/typescript/src/AdWhaleRewardAd.d.ts +18 -2
- package/lib/typescript/src/AdWhaleRewardAd.d.ts.map +1 -1
- package/lib/typescript/src/AdWhaleTransitionPopupAd.d.ts +33 -0
- package/lib/typescript/src/AdWhaleTransitionPopupAd.d.ts.map +1 -0
- package/lib/typescript/src/NativeAdwhaleSdkReactNative.d.ts +28 -6
- package/lib/typescript/src/NativeAdwhaleSdkReactNative.d.ts.map +1 -1
- package/lib/typescript/src/constants/AdWhaleMethodArgConst.d.ts +51 -0
- package/lib/typescript/src/constants/AdWhaleMethodArgConst.d.ts.map +1 -0
- package/lib/typescript/src/constants/AdWhaleMethodCallConst.d.ts +53 -0
- package/lib/typescript/src/constants/AdWhaleMethodCallConst.d.ts.map +1 -0
- package/lib/typescript/src/constants/AdWhaleMethodResultConst.d.ts +14 -0
- package/lib/typescript/src/constants/AdWhaleMethodResultConst.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +9 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/AdWhaleAdView.tsx +92 -4
- package/src/AdWhaleAppOpenAd.ts +293 -38
- package/src/AdWhaleExitPopupAd.ts +183 -0
- package/src/AdWhaleInterstitialAd.ts +206 -36
- package/src/AdWhaleMediationAds.ts +108 -4
- package/src/AdWhaleNativeCustomView.tsx +85 -23
- package/src/AdWhaleNativeTemplateView.tsx +79 -42
- package/src/AdWhaleRewardAd.ts +245 -43
- package/src/AdWhaleTransitionPopupAd.ts +171 -0
- package/src/NativeAdwhaleSdkReactNative.ts +30 -6
- package/src/constants/AdWhaleMethodArgConst.ts +50 -0
- package/src/constants/AdWhaleMethodCallConst.ts +60 -0
- package/src/constants/AdWhaleMethodResultConst.ts +13 -0
- package/src/index.ts +33 -0
|
@@ -2,56 +2,254 @@
|
|
|
2
2
|
|
|
3
3
|
// src/AdWhaleAppOpenAd.ts
|
|
4
4
|
import { NativeEventEmitter, NativeModules } from 'react-native';
|
|
5
|
+
const LINKING_ERROR = 'RNAdWhaleMediationAppOpenAd native module is not linked on this platform.';
|
|
5
6
|
const {
|
|
6
7
|
RNAdWhaleMediationAppOpenAd
|
|
7
8
|
} = NativeModules;
|
|
8
|
-
const appOpenEmitter = new NativeEventEmitter(RNAdWhaleMediationAppOpenAd);
|
|
9
|
+
const appOpenEmitter = RNAdWhaleMediationAppOpenAd ? new NativeEventEmitter(RNAdWhaleMediationAppOpenAd) : null;
|
|
9
10
|
export const AdWhaleAppOpenAd = {
|
|
10
11
|
loadAd(placementUid, options) {
|
|
12
|
+
if (!RNAdWhaleMediationAppOpenAd) {
|
|
13
|
+
console.warn(LINKING_ERROR);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
11
16
|
// 먼저 옵션들을 설정
|
|
12
17
|
if (options?.placementName) {
|
|
13
|
-
RNAdWhaleMediationAppOpenAd.setPlacementName(options.placementName);
|
|
18
|
+
RNAdWhaleMediationAppOpenAd.setPlacementName?.(options.placementName);
|
|
14
19
|
}
|
|
15
20
|
if (options?.region) {
|
|
16
|
-
RNAdWhaleMediationAppOpenAd.setRegion(options.region);
|
|
21
|
+
RNAdWhaleMediationAppOpenAd.setRegion?.(options.region);
|
|
17
22
|
}
|
|
18
23
|
if (options?.gcoder) {
|
|
19
|
-
RNAdWhaleMediationAppOpenAd.setGcoder(options.gcoder);
|
|
24
|
+
RNAdWhaleMediationAppOpenAd.setGcoder?.(options.gcoder);
|
|
25
|
+
}
|
|
26
|
+
if (RNAdWhaleMediationAppOpenAd.loadAd) {
|
|
27
|
+
RNAdWhaleMediationAppOpenAd.loadAd(placementUid);
|
|
28
|
+
return;
|
|
20
29
|
}
|
|
21
|
-
|
|
22
|
-
|
|
30
|
+
if (RNAdWhaleMediationAppOpenAd.loadAppOpenAd) {
|
|
31
|
+
RNAdWhaleMediationAppOpenAd.loadAppOpenAd({
|
|
32
|
+
adId: 0,
|
|
33
|
+
placementUid,
|
|
34
|
+
placementName: options?.placementName,
|
|
35
|
+
region: options?.region,
|
|
36
|
+
gcoder: options?.gcoder ? [options.gcoder.lt, options.gcoder.lng] : undefined
|
|
37
|
+
});
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
console.warn('[AdWhaleAppOpenAd] Native module missing both loadAd and loadAppOpenAd.');
|
|
23
41
|
},
|
|
24
42
|
showAd() {
|
|
25
|
-
RNAdWhaleMediationAppOpenAd
|
|
43
|
+
if (!RNAdWhaleMediationAppOpenAd) {
|
|
44
|
+
console.warn(LINKING_ERROR);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (RNAdWhaleMediationAppOpenAd.showAd) {
|
|
48
|
+
RNAdWhaleMediationAppOpenAd.showAd();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (RNAdWhaleMediationAppOpenAd.showAdWithoutView) {
|
|
52
|
+
RNAdWhaleMediationAppOpenAd.showAdWithoutView(0);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
console.warn('[AdWhaleAppOpenAd] Native module missing both showAd and showAdWithoutView.');
|
|
56
|
+
},
|
|
57
|
+
/** Flutter와 동일한 신규 API (권장) */
|
|
58
|
+
loadAppOpenAd(adId, placementUid, options) {
|
|
59
|
+
if (!RNAdWhaleMediationAppOpenAd) {
|
|
60
|
+
console.warn(LINKING_ERROR);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (!RNAdWhaleMediationAppOpenAd.loadAppOpenAd) {
|
|
64
|
+
this.loadAd(placementUid, options);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
RNAdWhaleMediationAppOpenAd.loadAppOpenAd({
|
|
68
|
+
adId,
|
|
69
|
+
placementUid,
|
|
70
|
+
placementName: options?.placementName,
|
|
71
|
+
region: options?.region,
|
|
72
|
+
gcoder: options?.gcoder ? [options.gcoder.lt, options.gcoder.lng] : undefined
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
showAdWithoutView(adId) {
|
|
76
|
+
if (!RNAdWhaleMediationAppOpenAd) {
|
|
77
|
+
console.warn(LINKING_ERROR);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (!RNAdWhaleMediationAppOpenAd.showAdWithoutView) {
|
|
81
|
+
this.showAd();
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
RNAdWhaleMediationAppOpenAd.showAdWithoutView(adId);
|
|
85
|
+
},
|
|
86
|
+
destroyAd(adId) {
|
|
87
|
+
RNAdWhaleMediationAppOpenAd?.destroyAd?.(adId);
|
|
26
88
|
},
|
|
27
89
|
addEventListeners(listeners) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
listeners.onLoaded?.();
|
|
32
|
-
}));
|
|
90
|
+
if (!appOpenEmitter) {
|
|
91
|
+
console.warn(LINKING_ERROR);
|
|
92
|
+
return [];
|
|
33
93
|
}
|
|
94
|
+
const subs = [];
|
|
95
|
+
let lastDirectEvent = null;
|
|
96
|
+
const markDirectEvent = name => {
|
|
97
|
+
lastDirectEvent = {
|
|
98
|
+
name,
|
|
99
|
+
timeMs: Date.now()
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
const isDuplicatedFromDirect = name => {
|
|
103
|
+
if (!lastDirectEvent) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
return lastDirectEvent.name === name && Date.now() - lastDirectEvent.timeMs < 1000;
|
|
107
|
+
};
|
|
108
|
+
subs.push(appOpenEmitter.addListener('onAppOpenAdLoaded', () => {
|
|
109
|
+
markDirectEvent('onAppOpenAdLoaded');
|
|
110
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onLoaded');
|
|
111
|
+
listeners.onLoaded?.();
|
|
112
|
+
}));
|
|
34
113
|
if (listeners.onLoadFailed) {
|
|
35
|
-
subs.push(appOpenEmitter.addListener('onAppOpenAdFailedToLoad', event =>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
listeners.
|
|
114
|
+
subs.push(appOpenEmitter.addListener('onAppOpenAdFailedToLoad', event => {
|
|
115
|
+
markDirectEvent('onAppOpenAdFailedToLoad');
|
|
116
|
+
const appOpenError = event;
|
|
117
|
+
console.log(`AdWhaleAppOpenAd.ts AppOpen onAppOpenAdFailedToLoad: ${appOpenError.statusCode}, ${appOpenError.message}`);
|
|
118
|
+
listeners.onLoadFailed?.(appOpenError);
|
|
40
119
|
}));
|
|
41
120
|
}
|
|
121
|
+
subs.push(appOpenEmitter.addListener('onAppOpenAdShowed', () => {
|
|
122
|
+
markDirectEvent('onAppOpenAdShowed');
|
|
123
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onAdShowed');
|
|
124
|
+
listeners.onShowed?.();
|
|
125
|
+
}));
|
|
42
126
|
if (listeners.onShowFailed) {
|
|
43
|
-
subs.push(appOpenEmitter.addListener('onAppOpenAdFailedToShow', event =>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
listeners.
|
|
127
|
+
subs.push(appOpenEmitter.addListener('onAppOpenAdFailedToShow', event => {
|
|
128
|
+
markDirectEvent('onAppOpenAdFailedToShow');
|
|
129
|
+
const appOpenError = event;
|
|
130
|
+
console.log(`AdWhaleAppOpenAd.ts AppOpen onAppOpenAdFailedToShow: ${appOpenError.statusCode}, ${appOpenError.message}`);
|
|
131
|
+
listeners.onShowFailed?.(appOpenError);
|
|
48
132
|
}));
|
|
49
133
|
}
|
|
50
|
-
|
|
51
|
-
|
|
134
|
+
subs.push(appOpenEmitter.addListener('onAppOpenAdDismissed', () => {
|
|
135
|
+
markDirectEvent('onAppOpenAdDismissed');
|
|
136
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onAdDismissed');
|
|
137
|
+
listeners.onDismissed?.();
|
|
138
|
+
}));
|
|
139
|
+
subs.push(appOpenEmitter.addListener('onAppOpenAdClicked', () => {
|
|
140
|
+
markDirectEvent('onAppOpenAdClicked');
|
|
141
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onAppOpenAdClicked');
|
|
142
|
+
listeners.onClicked?.();
|
|
143
|
+
}));
|
|
144
|
+
subs.push(appOpenEmitter.addListener('onAdEvent', payload => {
|
|
145
|
+
const eventName = payload?.eventName;
|
|
146
|
+
if (!eventName || isDuplicatedFromDirect(eventName)) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
if (eventName === 'onAppOpenAdLoaded') {
|
|
150
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onLoaded');
|
|
151
|
+
listeners.onLoaded?.();
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
if (eventName === 'onAppOpenAdShowed') {
|
|
155
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onAdShowed');
|
|
156
|
+
listeners.onShowed?.();
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
if (eventName === 'onAppOpenAdDismissed') {
|
|
160
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onAdDismissed');
|
|
161
|
+
listeners.onDismissed?.();
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (eventName === 'onAppOpenAdFailedToLoad') {
|
|
165
|
+
const appOpenError = {
|
|
166
|
+
statusCode: Number(payload?.statusCode ?? -1),
|
|
167
|
+
message: String(payload?.message ?? '')
|
|
168
|
+
};
|
|
169
|
+
console.log(`AdWhaleAppOpenAd.ts AppOpen onAppOpenAdFailedToLoad: ${appOpenError.statusCode}, ${appOpenError.message}`);
|
|
170
|
+
listeners.onLoadFailed?.(appOpenError);
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (eventName === 'onAppOpenAdFailedToShow') {
|
|
174
|
+
const appOpenError = {
|
|
175
|
+
statusCode: Number(payload?.statusCode ?? -1),
|
|
176
|
+
message: String(payload?.message ?? '')
|
|
177
|
+
};
|
|
178
|
+
console.log(`AdWhaleAppOpenAd.ts AppOpen onAppOpenAdFailedToShow: ${appOpenError.statusCode}, ${appOpenError.message}`);
|
|
179
|
+
listeners.onShowFailed?.(appOpenError);
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
if (eventName === 'onAppOpenAdClicked') {
|
|
183
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onAppOpenAdClicked');
|
|
52
184
|
listeners.onClicked?.();
|
|
53
|
-
}
|
|
185
|
+
}
|
|
186
|
+
}));
|
|
187
|
+
return subs;
|
|
188
|
+
},
|
|
189
|
+
/** Flutter `onAdEvent` 스타일 (adId 필터링) */
|
|
190
|
+
addAdEventListenersById(adId, listeners) {
|
|
191
|
+
if (!appOpenEmitter) {
|
|
192
|
+
console.warn(LINKING_ERROR);
|
|
193
|
+
return [];
|
|
54
194
|
}
|
|
195
|
+
const subs = [];
|
|
196
|
+
const handle = (eventName, cb) => {
|
|
197
|
+
if (!cb) return;
|
|
198
|
+
subs.push(appOpenEmitter.addListener('onAdEvent', payload => {
|
|
199
|
+
if (!payload || payload.adId !== adId || payload.eventName !== eventName) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
cb(payload);
|
|
203
|
+
}));
|
|
204
|
+
};
|
|
205
|
+
handle('onAppOpenAdLoaded', () => {
|
|
206
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onLoaded');
|
|
207
|
+
listeners.onLoaded?.();
|
|
208
|
+
});
|
|
209
|
+
handle('onAppOpenAdLoadFailed', p => {
|
|
210
|
+
const appOpenError = {
|
|
211
|
+
statusCode: Number(p?.statusCode ?? -1),
|
|
212
|
+
message: String(p?.message ?? '')
|
|
213
|
+
};
|
|
214
|
+
console.log(`AdWhaleAppOpenAd.ts AppOpen onAppOpenAdFailedToLoad: ${appOpenError.statusCode}, ${appOpenError.message}`);
|
|
215
|
+
listeners.onLoadFailed?.(appOpenError);
|
|
216
|
+
});
|
|
217
|
+
handle('onAppOpenAdFailedToLoad', p => {
|
|
218
|
+
const appOpenError = {
|
|
219
|
+
statusCode: Number(p?.statusCode ?? -1),
|
|
220
|
+
message: String(p?.message ?? '')
|
|
221
|
+
};
|
|
222
|
+
console.log(`AdWhaleAppOpenAd.ts AppOpen onAppOpenAdFailedToLoad: ${appOpenError.statusCode}, ${appOpenError.message}`);
|
|
223
|
+
listeners.onLoadFailed?.(appOpenError);
|
|
224
|
+
});
|
|
225
|
+
handle('onAppOpenAdShowed', () => {
|
|
226
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onAdShowed');
|
|
227
|
+
listeners.onShowed?.();
|
|
228
|
+
});
|
|
229
|
+
handle('onAppOpenAdShowFailed', p => {
|
|
230
|
+
const appOpenError = {
|
|
231
|
+
statusCode: Number(p?.statusCode ?? -1),
|
|
232
|
+
message: String(p?.message ?? '')
|
|
233
|
+
};
|
|
234
|
+
console.log(`AdWhaleAppOpenAd.ts AppOpen onAppOpenAdFailedToShow: ${appOpenError.statusCode}, ${appOpenError.message}`);
|
|
235
|
+
listeners.onShowFailed?.(appOpenError);
|
|
236
|
+
});
|
|
237
|
+
handle('onAppOpenAdFailedToShow', p => {
|
|
238
|
+
const appOpenError = {
|
|
239
|
+
statusCode: Number(p?.statusCode ?? -1),
|
|
240
|
+
message: String(p?.message ?? '')
|
|
241
|
+
};
|
|
242
|
+
console.log(`AdWhaleAppOpenAd.ts AppOpen onAppOpenAdFailedToShow: ${appOpenError.statusCode}, ${appOpenError.message}`);
|
|
243
|
+
listeners.onShowFailed?.(appOpenError);
|
|
244
|
+
});
|
|
245
|
+
handle('onAppOpenAdDismissed', () => {
|
|
246
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onAdDismissed');
|
|
247
|
+
listeners.onDismissed?.();
|
|
248
|
+
});
|
|
249
|
+
handle('onAppOpenAdClicked', () => {
|
|
250
|
+
console.log('AdWhaleAppOpenAd.ts AppOpen onAppOpenAdClicked');
|
|
251
|
+
listeners.onClicked?.();
|
|
252
|
+
});
|
|
55
253
|
return subs;
|
|
56
254
|
}
|
|
57
255
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","RNAdWhaleMediationAppOpenAd","appOpenEmitter","AdWhaleAppOpenAd","loadAd","placementUid","options","placementName","setPlacementName","region","setRegion","gcoder","setGcoder","showAd","addEventListeners","listeners","subs","
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","LINKING_ERROR","RNAdWhaleMediationAppOpenAd","appOpenEmitter","AdWhaleAppOpenAd","loadAd","placementUid","options","console","warn","placementName","setPlacementName","region","setRegion","gcoder","setGcoder","loadAppOpenAd","adId","lt","lng","undefined","showAd","showAdWithoutView","destroyAd","addEventListeners","listeners","subs","lastDirectEvent","markDirectEvent","name","timeMs","Date","now","isDuplicatedFromDirect","push","addListener","log","onLoaded","onLoadFailed","event","appOpenError","statusCode","message","onShowed","onShowFailed","onDismissed","onClicked","payload","eventName","Number","String","addAdEventListenersById","handle","cb","p"],"sourceRoot":"../../src","sources":["AdWhaleAppOpenAd.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// src/AdWhaleExitPopupAd.ts
|
|
4
|
+
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
5
|
+
const LINKING_ERROR = Platform.OS === 'android' ? 'RNAdWhaleMediationExitPopupAd native module is not linked.' : 'Exit Popup Ad is only supported on Android.';
|
|
6
|
+
const {
|
|
7
|
+
RNAdWhaleMediationExitPopupAd
|
|
8
|
+
} = NativeModules;
|
|
9
|
+
const exitPopupEmitter = RNAdWhaleMediationExitPopupAd ? new NativeEventEmitter(RNAdWhaleMediationExitPopupAd) : null;
|
|
10
|
+
export const AdWhaleExitPopupAd = {
|
|
11
|
+
loadAd(placementUid, options) {
|
|
12
|
+
if (!RNAdWhaleMediationExitPopupAd) {
|
|
13
|
+
console.warn(LINKING_ERROR);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (options?.placementName != null) {
|
|
17
|
+
RNAdWhaleMediationExitPopupAd.setPlacementName(options.placementName);
|
|
18
|
+
}
|
|
19
|
+
if (options?.region != null) {
|
|
20
|
+
RNAdWhaleMediationExitPopupAd.setRegion(options.region);
|
|
21
|
+
}
|
|
22
|
+
if (options?.gcoder) {
|
|
23
|
+
RNAdWhaleMediationExitPopupAd.setGcoder(options.gcoder);
|
|
24
|
+
}
|
|
25
|
+
if (options?.primaryButtonText != null || options?.secondaryButtonText != null) {
|
|
26
|
+
RNAdWhaleMediationExitPopupAd.setCustomizeButtonText(options.primaryButtonText ?? '', options.secondaryButtonText ?? '');
|
|
27
|
+
}
|
|
28
|
+
if (options?.descriptionText != null) {
|
|
29
|
+
RNAdWhaleMediationExitPopupAd.setCustomDescription(options.descriptionText);
|
|
30
|
+
}
|
|
31
|
+
RNAdWhaleMediationExitPopupAd.loadAd(placementUid);
|
|
32
|
+
},
|
|
33
|
+
showAd() {
|
|
34
|
+
if (!RNAdWhaleMediationExitPopupAd) {
|
|
35
|
+
console.warn(LINKING_ERROR);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
RNAdWhaleMediationExitPopupAd.showAd();
|
|
39
|
+
},
|
|
40
|
+
destroy() {
|
|
41
|
+
if (!RNAdWhaleMediationExitPopupAd) {
|
|
42
|
+
console.warn(LINKING_ERROR);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
RNAdWhaleMediationExitPopupAd.destroy();
|
|
46
|
+
},
|
|
47
|
+
resume() {
|
|
48
|
+
if (!RNAdWhaleMediationExitPopupAd) {
|
|
49
|
+
console.warn(LINKING_ERROR);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
RNAdWhaleMediationExitPopupAd.resume();
|
|
53
|
+
},
|
|
54
|
+
addEventListeners(listeners) {
|
|
55
|
+
if (!exitPopupEmitter) {
|
|
56
|
+
console.warn(LINKING_ERROR);
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
const subs = [];
|
|
60
|
+
if (listeners.onLoaded) {
|
|
61
|
+
subs.push(exitPopupEmitter.addListener('onExitPopupAdLoaded', () => {
|
|
62
|
+
listeners.onLoaded?.();
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
if (listeners.onLoadFailed) {
|
|
66
|
+
subs.push(exitPopupEmitter.addListener('onExitPopupAdLoadFailed', event => {
|
|
67
|
+
listeners.onLoadFailed?.(event);
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
if (listeners.onShowed) {
|
|
71
|
+
subs.push(exitPopupEmitter.addListener('onExitPopupAdShowed', () => {
|
|
72
|
+
listeners.onShowed?.();
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
if (listeners.onShowFailed) {
|
|
76
|
+
subs.push(exitPopupEmitter.addListener('onExitPopupAdShowFailed', event => {
|
|
77
|
+
listeners.onShowFailed?.(event);
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
if (listeners.onClicked) {
|
|
81
|
+
subs.push(exitPopupEmitter.addListener('onExitPopupAdClicked', () => {
|
|
82
|
+
listeners.onClicked?.();
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
if (listeners.onClosed) {
|
|
86
|
+
subs.push(exitPopupEmitter.addListener('onExitPopupAdClosed', event => {
|
|
87
|
+
listeners.onClosed?.(event);
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
return subs;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=AdWhaleExitPopupAd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","LINKING_ERROR","OS","RNAdWhaleMediationExitPopupAd","exitPopupEmitter","AdWhaleExitPopupAd","loadAd","placementUid","options","console","warn","placementName","setPlacementName","region","setRegion","gcoder","setGcoder","primaryButtonText","secondaryButtonText","setCustomizeButtonText","descriptionText","setCustomDescription","showAd","destroy","resume","addEventListeners","listeners","subs","onLoaded","push","addListener","onLoadFailed","event","onShowed","onShowFailed","onClicked","onClosed"],"sourceRoot":"../../src","sources":["AdWhaleExitPopupAd.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,57 +2,181 @@
|
|
|
2
2
|
|
|
3
3
|
// src/AdWhaleInterstitialAd.ts
|
|
4
4
|
import { NativeEventEmitter, NativeModules } from 'react-native';
|
|
5
|
+
const LINKING_ERROR = 'RNAdWhaleMediationInterstitialAd native module is not linked on this platform.';
|
|
5
6
|
const {
|
|
6
7
|
RNAdWhaleMediationInterstitialAd
|
|
7
8
|
} = NativeModules;
|
|
8
|
-
const interstitialEmitter = new NativeEventEmitter(RNAdWhaleMediationInterstitialAd);
|
|
9
|
+
const interstitialEmitter = RNAdWhaleMediationInterstitialAd ? new NativeEventEmitter(RNAdWhaleMediationInterstitialAd) : null;
|
|
9
10
|
export const AdWhaleInterstitialAd = {
|
|
10
11
|
loadAd(placementUid, options) {
|
|
12
|
+
if (!RNAdWhaleMediationInterstitialAd) {
|
|
13
|
+
console.warn(LINKING_ERROR);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
11
16
|
// 먼저 옵션들을 설정
|
|
12
17
|
if (options?.placementName) {
|
|
13
|
-
RNAdWhaleMediationInterstitialAd.setPlacementName(options.placementName);
|
|
18
|
+
RNAdWhaleMediationInterstitialAd.setPlacementName?.(options.placementName);
|
|
14
19
|
}
|
|
15
20
|
if (options?.region) {
|
|
16
|
-
RNAdWhaleMediationInterstitialAd.setRegion(options.region);
|
|
21
|
+
RNAdWhaleMediationInterstitialAd.setRegion?.(options.region);
|
|
17
22
|
}
|
|
18
23
|
if (options?.gcoder) {
|
|
19
|
-
RNAdWhaleMediationInterstitialAd.setGcoder(options.gcoder);
|
|
24
|
+
RNAdWhaleMediationInterstitialAd.setGcoder?.(options.gcoder);
|
|
25
|
+
}
|
|
26
|
+
// 네이티브 구현 차이 대응: loadAd 우선, 없으면 adId 기반 API로 폴백
|
|
27
|
+
if (RNAdWhaleMediationInterstitialAd.loadAd) {
|
|
28
|
+
RNAdWhaleMediationInterstitialAd.loadAd(placementUid);
|
|
29
|
+
return;
|
|
20
30
|
}
|
|
21
|
-
|
|
22
|
-
|
|
31
|
+
if (RNAdWhaleMediationInterstitialAd.loadInterstitialAd) {
|
|
32
|
+
RNAdWhaleMediationInterstitialAd.loadInterstitialAd({
|
|
33
|
+
adId: 0,
|
|
34
|
+
placementUid,
|
|
35
|
+
placementName: options?.placementName,
|
|
36
|
+
region: options?.region,
|
|
37
|
+
gcoder: options?.gcoder ? [options.gcoder.lt, options.gcoder.lng] : undefined
|
|
38
|
+
});
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
console.warn('[AdWhaleInterstitialAd] Native module missing both loadAd and loadInterstitialAd.');
|
|
23
42
|
},
|
|
24
43
|
showAd() {
|
|
25
|
-
RNAdWhaleMediationInterstitialAd
|
|
44
|
+
if (!RNAdWhaleMediationInterstitialAd) {
|
|
45
|
+
console.warn(LINKING_ERROR);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
// 네이티브 구현 차이 대응: showAd 우선, 없으면 adId 기반 API로 폴백
|
|
49
|
+
if (RNAdWhaleMediationInterstitialAd.showAd) {
|
|
50
|
+
RNAdWhaleMediationInterstitialAd.showAd();
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (RNAdWhaleMediationInterstitialAd.showAdWithoutView) {
|
|
54
|
+
RNAdWhaleMediationInterstitialAd.showAdWithoutView(0);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
console.warn('[AdWhaleInterstitialAd] Native module missing both showAd and showAdWithoutView.');
|
|
58
|
+
},
|
|
59
|
+
/**
|
|
60
|
+
* Flutter와 동일한 형태로 맞춘 신규 API (권장).
|
|
61
|
+
* - 광고를 여러 개 동시에 운용하려면 adId를 사용하세요.
|
|
62
|
+
*/
|
|
63
|
+
loadInterstitialAd(adId, placementUid, options) {
|
|
64
|
+
if (!RNAdWhaleMediationInterstitialAd) {
|
|
65
|
+
console.warn(LINKING_ERROR);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (!RNAdWhaleMediationInterstitialAd.loadInterstitialAd) {
|
|
69
|
+
// 네이티브가 아직 업데이트되지 않은 경우: 기존 싱글 인스턴스 경로로 폴백
|
|
70
|
+
this.loadAd(placementUid, options);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
RNAdWhaleMediationInterstitialAd.loadInterstitialAd({
|
|
74
|
+
adId,
|
|
75
|
+
placementUid,
|
|
76
|
+
placementName: options?.placementName,
|
|
77
|
+
region: options?.region,
|
|
78
|
+
gcoder: options?.gcoder ? [options.gcoder.lt, options.gcoder.lng] : undefined
|
|
79
|
+
});
|
|
80
|
+
},
|
|
81
|
+
showAdWithoutView(adId) {
|
|
82
|
+
if (!RNAdWhaleMediationInterstitialAd) {
|
|
83
|
+
console.warn(LINKING_ERROR);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (!RNAdWhaleMediationInterstitialAd.showAdWithoutView) {
|
|
87
|
+
// 폴백: 싱글 인스턴스 show
|
|
88
|
+
this.showAd();
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
RNAdWhaleMediationInterstitialAd.showAdWithoutView(adId);
|
|
92
|
+
},
|
|
93
|
+
destroyAd(adId) {
|
|
94
|
+
RNAdWhaleMediationInterstitialAd?.destroyAd?.(adId);
|
|
26
95
|
},
|
|
27
96
|
addEventListeners(listeners) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
listeners.onLoaded?.();
|
|
32
|
-
}));
|
|
97
|
+
if (!interstitialEmitter) {
|
|
98
|
+
console.warn(LINKING_ERROR);
|
|
99
|
+
return [];
|
|
33
100
|
}
|
|
101
|
+
const subs = [];
|
|
102
|
+
let directShowedReceived = false;
|
|
103
|
+
subs.push(interstitialEmitter.addListener('onInterstitialAdLoaded', () => {
|
|
104
|
+
directShowedReceived = false;
|
|
105
|
+
console.log('AdWhaleInterstitialAd.ts Interstitial onLoaded');
|
|
106
|
+
listeners.onLoaded?.();
|
|
107
|
+
}));
|
|
34
108
|
if (listeners.onLoadFailed) {
|
|
35
109
|
subs.push(interstitialEmitter.addListener('onInterstitialAdLoadFailed', event => listeners.onLoadFailed?.(event)));
|
|
36
110
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
111
|
+
subs.push(interstitialEmitter.addListener('onInterstitialAdShowed', () => {
|
|
112
|
+
directShowedReceived = true;
|
|
113
|
+
console.log('AdWhaleInterstitialAd.ts Interstitial onAdShowed');
|
|
114
|
+
listeners.onShowed?.();
|
|
115
|
+
}));
|
|
42
116
|
if (listeners.onShowFailed) {
|
|
43
117
|
subs.push(interstitialEmitter.addListener('onInterstitialAdShowFailed', event => listeners.onShowFailed?.(event)));
|
|
44
118
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
119
|
+
subs.push(interstitialEmitter.addListener('onInterstitialAdClosed', () => {
|
|
120
|
+
directShowedReceived = false;
|
|
121
|
+
console.log('AdWhaleInterstitialAd.ts Interstitial onAdClosed');
|
|
122
|
+
listeners.onClosed?.();
|
|
123
|
+
}));
|
|
124
|
+
subs.push(interstitialEmitter.addListener('onAdEvent', payload => {
|
|
125
|
+
if (payload?.eventName !== 'onInterstitialAdShowed' || directShowedReceived) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
directShowedReceived = true;
|
|
129
|
+
console.log('AdWhaleInterstitialAd.ts Interstitial onAdShowed');
|
|
130
|
+
listeners.onShowed?.();
|
|
131
|
+
}));
|
|
50
132
|
if (listeners.onClicked) {
|
|
51
133
|
subs.push(interstitialEmitter.addListener('onInterstitialAdClicked', () => {
|
|
52
134
|
listeners.onClicked?.();
|
|
53
135
|
}));
|
|
54
136
|
}
|
|
55
137
|
return subs;
|
|
138
|
+
},
|
|
139
|
+
/**
|
|
140
|
+
* Flutter `onAdEvent` 스타일: payload에 eventName + adId를 포함.
|
|
141
|
+
* 네이티브가 지원하는 경우, 특정 adId만 필터링해서 이벤트를 받을 수 있습니다.
|
|
142
|
+
*/
|
|
143
|
+
addAdEventListenersById(adId, listeners) {
|
|
144
|
+
if (!interstitialEmitter) {
|
|
145
|
+
console.warn(LINKING_ERROR);
|
|
146
|
+
return [];
|
|
147
|
+
}
|
|
148
|
+
const subs = [];
|
|
149
|
+
const handle = (eventName, cb) => {
|
|
150
|
+
if (!cb) return;
|
|
151
|
+
subs.push(interstitialEmitter.addListener('onAdEvent', payload => {
|
|
152
|
+
if (!payload || payload.adId !== adId || payload.eventName !== eventName) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
cb(payload);
|
|
156
|
+
}));
|
|
157
|
+
};
|
|
158
|
+
handle('onInterstitialAdLoaded', () => {
|
|
159
|
+
console.log('AdWhaleInterstitialAd.ts Interstitial onLoaded');
|
|
160
|
+
listeners.onLoaded?.();
|
|
161
|
+
});
|
|
162
|
+
handle('onInterstitialAdLoadFailed', p => listeners.onLoadFailed?.({
|
|
163
|
+
statusCode: Number(p?.statusCode ?? -1),
|
|
164
|
+
message: String(p?.message ?? '')
|
|
165
|
+
}));
|
|
166
|
+
handle('onInterstitialAdShowed', () => {
|
|
167
|
+
console.log('AdWhaleInterstitialAd.ts Interstitial onAdShowed');
|
|
168
|
+
listeners.onShowed?.();
|
|
169
|
+
});
|
|
170
|
+
handle('onInterstitialAdShowFailed', p => listeners.onShowFailed?.({
|
|
171
|
+
statusCode: Number(p?.statusCode ?? -1),
|
|
172
|
+
message: String(p?.message ?? '')
|
|
173
|
+
}));
|
|
174
|
+
handle('onInterstitialAdClosed', () => {
|
|
175
|
+
console.log('AdWhaleInterstitialAd.ts Interstitial onAdClosed');
|
|
176
|
+
listeners.onClosed?.();
|
|
177
|
+
});
|
|
178
|
+
handle('onInterstitialAdClicked', () => listeners.onClicked?.());
|
|
179
|
+
return subs;
|
|
56
180
|
}
|
|
57
181
|
};
|
|
58
182
|
//# sourceMappingURL=AdWhaleInterstitialAd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","RNAdWhaleMediationInterstitialAd","interstitialEmitter","AdWhaleInterstitialAd","loadAd","placementUid","options","placementName","setPlacementName","region","setRegion","gcoder","setGcoder","showAd","addEventListeners","listeners","subs","
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","LINKING_ERROR","RNAdWhaleMediationInterstitialAd","interstitialEmitter","AdWhaleInterstitialAd","loadAd","placementUid","options","console","warn","placementName","setPlacementName","region","setRegion","gcoder","setGcoder","loadInterstitialAd","adId","lt","lng","undefined","showAd","showAdWithoutView","destroyAd","addEventListeners","listeners","subs","directShowedReceived","push","addListener","log","onLoaded","onLoadFailed","event","onShowed","onShowFailed","onClosed","payload","eventName","onClicked","addAdEventListenersById","handle","cb","p","statusCode","Number","message","String"],"sourceRoot":"../../src","sources":["AdWhaleInterstitialAd.ts"],"mappings":"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","ignoreList":[]}
|