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.
Files changed (108) hide show
  1. package/AdwhaleSdkReactNative.podspec +22 -0
  2. package/README.md +80 -37
  3. package/android/proguard-rules.pro +56 -0
  4. package/android/src/main/java/com/adwhalesdkreactnative/AdWhaleCustomNativeBinderFactory.java +18 -0
  5. package/android/src/main/java/com/adwhalesdkreactnative/AdwhaleSdkReactNativePackage.java +51 -6
  6. package/android/src/main/java/com/adwhalesdkreactnative/BinderFactory.java +9 -0
  7. package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationAdSettingModule.java +148 -49
  8. package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationAdView.java +46 -27
  9. package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationAppOpenAd.java +136 -0
  10. package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationCustomNativeAdView.java +37 -46
  11. package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationExitPopupAd.java +240 -0
  12. package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationInterstitialAd.java +189 -0
  13. package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationLoggerModule.java +2 -1
  14. package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationNativeAdViewListenerBridge.java +83 -0
  15. package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationRewardAd.java +255 -6
  16. package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationTemplateNativeAdView.java +191 -70
  17. package/android/src/main/java/com/adwhalesdkreactnative/RNAdWhaleMediationTransitionPopupAd.java +218 -0
  18. package/android/src/main/java/com/adwhalesdkreactnative/RNWrapperView.java +137 -0
  19. package/android/src/main/java/com/adwhalesdkreactnative/SimpleBinderFactory.java +1 -1
  20. package/android/src/main/java/com/adwhalesdkreactnative/common/RNMethodArgConst.java +112 -0
  21. package/android/src/main/java/com/adwhalesdkreactnative/common/RNMethodCallConst.java +113 -0
  22. package/android/src/main/java/com/adwhalesdkreactnative/common/RNMethodResultConst.java +28 -0
  23. package/build/generated/ios/ReactAppDependencyProvider.podspec +34 -0
  24. package/ios/AdWhaleNativeCustomViewFactoryRegistry.swift +56 -0
  25. package/ios/AdwhaleSdkReactNative.mm +96 -5
  26. package/ios/AdwhaleSdkReactNativeModule.swift +148 -0
  27. package/ios/RNAdWhaleMediationAdViewManager.m +38 -0
  28. package/ios/RNAdWhaleMediationAdViewManager.swift +14 -0
  29. package/ios/RNAdWhaleMediationAppOpenAd.m +18 -0
  30. package/ios/RNAdWhaleMediationAppOpenAd.swift +175 -0
  31. package/ios/RNAdWhaleMediationCustomNativeAdViewManager.m +22 -0
  32. package/ios/RNAdWhaleMediationCustomNativeAdViewManager.swift +239 -0
  33. package/ios/RNAdWhaleMediationInterstitialAd.m +18 -0
  34. package/ios/RNAdWhaleMediationInterstitialAd.swift +161 -0
  35. package/ios/RNAdWhaleMediationRewardAd.m +18 -0
  36. package/ios/RNAdWhaleMediationRewardAd.swift +172 -0
  37. package/ios/WhaleMediationBannerContainer.swift +182 -0
  38. package/lib/module/AdWhaleAdView.js +58 -3
  39. package/lib/module/AdWhaleAdView.js.map +1 -1
  40. package/lib/module/AdWhaleAppOpenAd.js +223 -25
  41. package/lib/module/AdWhaleAppOpenAd.js.map +1 -1
  42. package/lib/module/AdWhaleExitPopupAd.js +93 -0
  43. package/lib/module/AdWhaleExitPopupAd.js.map +1 -0
  44. package/lib/module/AdWhaleInterstitialAd.js +146 -22
  45. package/lib/module/AdWhaleInterstitialAd.js.map +1 -1
  46. package/lib/module/AdWhaleMediationAds.js +75 -4
  47. package/lib/module/AdWhaleMediationAds.js.map +1 -1
  48. package/lib/module/AdWhaleNativeCustomView.js +59 -8
  49. package/lib/module/AdWhaleNativeCustomView.js.map +1 -1
  50. package/lib/module/AdWhaleNativeTemplateView.js +37 -19
  51. package/lib/module/AdWhaleNativeTemplateView.js.map +1 -1
  52. package/lib/module/AdWhaleRewardAd.js +169 -24
  53. package/lib/module/AdWhaleRewardAd.js.map +1 -1
  54. package/lib/module/AdWhaleTransitionPopupAd.js +87 -0
  55. package/lib/module/AdWhaleTransitionPopupAd.js.map +1 -0
  56. package/lib/module/NativeAdwhaleSdkReactNative.js +16 -1
  57. package/lib/module/NativeAdwhaleSdkReactNative.js.map +1 -1
  58. package/lib/module/constants/AdWhaleMethodArgConst.js +53 -0
  59. package/lib/module/constants/AdWhaleMethodArgConst.js.map +1 -0
  60. package/lib/module/constants/AdWhaleMethodCallConst.js +56 -0
  61. package/lib/module/constants/AdWhaleMethodCallConst.js.map +1 -0
  62. package/lib/module/constants/AdWhaleMethodResultConst.js +16 -0
  63. package/lib/module/constants/AdWhaleMethodResultConst.js.map +1 -0
  64. package/lib/module/index.js +10 -1
  65. package/lib/module/index.js.map +1 -1
  66. package/lib/typescript/src/AdWhaleAdView.d.ts +20 -2
  67. package/lib/typescript/src/AdWhaleAdView.d.ts.map +1 -1
  68. package/lib/typescript/src/AdWhaleAppOpenAd.d.ts +10 -0
  69. package/lib/typescript/src/AdWhaleAppOpenAd.d.ts.map +1 -1
  70. package/lib/typescript/src/AdWhaleExitPopupAd.d.ts +36 -0
  71. package/lib/typescript/src/AdWhaleExitPopupAd.d.ts.map +1 -0
  72. package/lib/typescript/src/AdWhaleInterstitialAd.d.ts +16 -0
  73. package/lib/typescript/src/AdWhaleInterstitialAd.d.ts.map +1 -1
  74. package/lib/typescript/src/AdWhaleMediationAds.d.ts +13 -5
  75. package/lib/typescript/src/AdWhaleMediationAds.d.ts.map +1 -1
  76. package/lib/typescript/src/AdWhaleNativeCustomView.d.ts +7 -4
  77. package/lib/typescript/src/AdWhaleNativeCustomView.d.ts.map +1 -1
  78. package/lib/typescript/src/AdWhaleNativeTemplateView.d.ts +20 -7
  79. package/lib/typescript/src/AdWhaleNativeTemplateView.d.ts.map +1 -1
  80. package/lib/typescript/src/AdWhaleRewardAd.d.ts +18 -2
  81. package/lib/typescript/src/AdWhaleRewardAd.d.ts.map +1 -1
  82. package/lib/typescript/src/AdWhaleTransitionPopupAd.d.ts +33 -0
  83. package/lib/typescript/src/AdWhaleTransitionPopupAd.d.ts.map +1 -0
  84. package/lib/typescript/src/NativeAdwhaleSdkReactNative.d.ts +28 -6
  85. package/lib/typescript/src/NativeAdwhaleSdkReactNative.d.ts.map +1 -1
  86. package/lib/typescript/src/constants/AdWhaleMethodArgConst.d.ts +51 -0
  87. package/lib/typescript/src/constants/AdWhaleMethodArgConst.d.ts.map +1 -0
  88. package/lib/typescript/src/constants/AdWhaleMethodCallConst.d.ts +53 -0
  89. package/lib/typescript/src/constants/AdWhaleMethodCallConst.d.ts.map +1 -0
  90. package/lib/typescript/src/constants/AdWhaleMethodResultConst.d.ts +14 -0
  91. package/lib/typescript/src/constants/AdWhaleMethodResultConst.d.ts.map +1 -0
  92. package/lib/typescript/src/index.d.ts +9 -1
  93. package/lib/typescript/src/index.d.ts.map +1 -1
  94. package/package.json +1 -1
  95. package/src/AdWhaleAdView.tsx +92 -4
  96. package/src/AdWhaleAppOpenAd.ts +293 -38
  97. package/src/AdWhaleExitPopupAd.ts +183 -0
  98. package/src/AdWhaleInterstitialAd.ts +206 -36
  99. package/src/AdWhaleMediationAds.ts +108 -4
  100. package/src/AdWhaleNativeCustomView.tsx +85 -23
  101. package/src/AdWhaleNativeTemplateView.tsx +79 -42
  102. package/src/AdWhaleRewardAd.ts +245 -43
  103. package/src/AdWhaleTransitionPopupAd.ts +171 -0
  104. package/src/NativeAdwhaleSdkReactNative.ts +30 -6
  105. package/src/constants/AdWhaleMethodArgConst.ts +50 -0
  106. package/src/constants/AdWhaleMethodCallConst.ts +60 -0
  107. package/src/constants/AdWhaleMethodResultConst.ts +13 -0
  108. 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
- // 다음 loadAd 호출
22
- RNAdWhaleMediationAppOpenAd.loadAd(placementUid);
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.showAd();
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
- const subs = [];
29
- if (listeners.onLoaded) {
30
- subs.push(appOpenEmitter.addListener('onAppOpenAdLoaded', () => {
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 => listeners.onLoadFailed?.(event)));
36
- }
37
- if (listeners.onShowed) {
38
- subs.push(appOpenEmitter.addListener('onAppOpenAdShowed', () => {
39
- listeners.onShowed?.();
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 => listeners.onShowFailed?.(event)));
44
- }
45
- if (listeners.onDismissed) {
46
- subs.push(appOpenEmitter.addListener('onAppOpenAdDismissed', () => {
47
- listeners.onDismissed?.();
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
- if (listeners.onClicked) {
51
- subs.push(appOpenEmitter.addListener('onAppOpenAdClicked', () => {
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","onLoaded","push","addListener","onLoadFailed","event","onShowed","onShowFailed","onDismissed","onClicked"],"sourceRoot":"../../src","sources":["AdWhaleAppOpenAd.ts"],"mappings":";;AAAA;AACA,SAASA,kBAAkB,EAAEC,aAAa,QAAQ,cAAc;AAgChE,MAAM;EAAEC;AAA4B,CAAC,GAAGD,aAEvC;AAED,MAAME,cAAc,GAAG,IAAIH,kBAAkB,CAACE,2BAA2B,CAAC;AAE1E,OAAO,MAAME,gBAAgB,GAAG;EAC9BC,MAAMA,CACJC,YAAoB,EACpBC,OAIC,EACD;IACA;IACA,IAAIA,OAAO,EAAEC,aAAa,EAAE;MAC1BN,2BAA2B,CAACO,gBAAgB,CAACF,OAAO,CAACC,aAAa,CAAC;IACrE;IACA,IAAID,OAAO,EAAEG,MAAM,EAAE;MACnBR,2BAA2B,CAACS,SAAS,CAACJ,OAAO,CAACG,MAAM,CAAC;IACvD;IACA,IAAIH,OAAO,EAAEK,MAAM,EAAE;MACnBV,2BAA2B,CAACW,SAAS,CAACN,OAAO,CAACK,MAAM,CAAC;IACvD;IACA;IACAV,2BAA2B,CAACG,MAAM,CAACC,YAAY,CAAC;EAClD,CAAC;EAEDQ,MAAMA,CAAA,EAAG;IACPZ,2BAA2B,CAACY,MAAM,CAAC,CAAC;EACtC,CAAC;EAEDC,iBAAiBA,CAACC,SAA+B,EAAyB;IACxE,MAAMC,IAA2B,GAAG,EAAE;IAEtC,IAAID,SAAS,CAACE,QAAQ,EAAE;MACtBD,IAAI,CAACE,IAAI,CACPhB,cAAc,CAACiB,WAAW,CAAC,mBAAmB,EAAE,MAAM;QACpDJ,SAAS,CAACE,QAAQ,GAAG,CAAC;MACxB,CAAC,CACH,CAAC;IACH;IACA,IAAIF,SAAS,CAACK,YAAY,EAAE;MAC1BJ,IAAI,CAACE,IAAI,CACPhB,cAAc,CAACiB,WAAW,CACxB,yBAAyB,EACzBE,KAAK,IAAIN,SAAS,CAACK,YAAY,GAAGC,KAAiC,CACrE,CACF,CAAC;IACH;IACA,IAAIN,SAAS,CAACO,QAAQ,EAAE;MACtBN,IAAI,CAACE,IAAI,CACPhB,cAAc,CAACiB,WAAW,CAAC,mBAAmB,EAAE,MAAM;QACpDJ,SAAS,CAACO,QAAQ,GAAG,CAAC;MACxB,CAAC,CACH,CAAC;IACH;IACA,IAAIP,SAAS,CAACQ,YAAY,EAAE;MAC1BP,IAAI,CAACE,IAAI,CACPhB,cAAc,CAACiB,WAAW,CACxB,yBAAyB,EACzBE,KAAK,IAAIN,SAAS,CAACQ,YAAY,GAAGF,KAAiC,CACrE,CACF,CAAC;IACH;IACA,IAAIN,SAAS,CAACS,WAAW,EAAE;MACzBR,IAAI,CAACE,IAAI,CACPhB,cAAc,CAACiB,WAAW,CAAC,sBAAsB,EAAE,MAAM;QACvDJ,SAAS,CAACS,WAAW,GAAG,CAAC;MAC3B,CAAC,CACH,CAAC;IACH;IACA,IAAIT,SAAS,CAACU,SAAS,EAAE;MACvBT,IAAI,CAACE,IAAI,CACPhB,cAAc,CAACiB,WAAW,CAAC,oBAAoB,EAAE,MAAM;QACrDJ,SAAS,CAACU,SAAS,GAAG,CAAC;MACzB,CAAC,CACH,CAAC;IACH;IAEA,OAAOT,IAAI;EACb;AACF,CAAC","ignoreList":[]}
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
- // 다음 loadAd 호출
22
- RNAdWhaleMediationInterstitialAd.loadAd(placementUid);
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.showAd();
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
- const subs = [];
29
- if (listeners.onLoaded) {
30
- subs.push(interstitialEmitter.addListener('onInterstitialAdLoaded', () => {
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
- if (listeners.onShowed) {
38
- subs.push(interstitialEmitter.addListener('onInterstitialAdShowed', () => {
39
- listeners.onShowed?.();
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
- if (listeners.onClosed) {
46
- subs.push(interstitialEmitter.addListener('onInterstitialAdClosed', () => {
47
- listeners.onClosed?.();
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","onLoaded","push","addListener","onLoadFailed","event","onShowed","onShowFailed","onClosed","onClicked"],"sourceRoot":"../../src","sources":["AdWhaleInterstitialAd.ts"],"mappings":";;AAAA;AACA,SAASA,kBAAkB,EAAEC,aAAa,QAAQ,cAAc;AAgChE,MAAM;EAAEC;AAAiC,CAAC,GAAGD,aAE5C;AAED,MAAME,mBAAmB,GAAG,IAAIH,kBAAkB,CAChDE,gCACF,CAAC;AAED,OAAO,MAAME,qBAAqB,GAAG;EACnCC,MAAMA,CACJC,YAAoB,EACpBC,OAIC,EACD;IACA;IACA,IAAIA,OAAO,EAAEC,aAAa,EAAE;MAC1BN,gCAAgC,CAACO,gBAAgB,CAACF,OAAO,CAACC,aAAa,CAAC;IAC1E;IACA,IAAID,OAAO,EAAEG,MAAM,EAAE;MACnBR,gCAAgC,CAACS,SAAS,CAACJ,OAAO,CAACG,MAAM,CAAC;IAC5D;IACA,IAAIH,OAAO,EAAEK,MAAM,EAAE;MACnBV,gCAAgC,CAACW,SAAS,CAACN,OAAO,CAACK,MAAM,CAAC;IAC5D;IACA;IACAV,gCAAgC,CAACG,MAAM,CAACC,YAAY,CAAC;EACvD,CAAC;EAEDQ,MAAMA,CAAA,EAAG;IACPZ,gCAAgC,CAACY,MAAM,CAAC,CAAC;EAC3C,CAAC;EAEDC,iBAAiBA,CAACC,SAAoC,EAAyB;IAC7E,MAAMC,IAA2B,GAAG,EAAE;IAEtC,IAAID,SAAS,CAACE,QAAQ,EAAE;MACtBD,IAAI,CAACE,IAAI,CACPhB,mBAAmB,CAACiB,WAAW,CAAC,wBAAwB,EAAE,MAAM;QAC9DJ,SAAS,CAACE,QAAQ,GAAG,CAAC;MACxB,CAAC,CACH,CAAC;IACH;IACA,IAAIF,SAAS,CAACK,YAAY,EAAE;MAC1BJ,IAAI,CAACE,IAAI,CACPhB,mBAAmB,CAACiB,WAAW,CAC7B,4BAA4B,EAC5BE,KAAK,IAAIN,SAAS,CAACK,YAAY,GAAGC,KAAsC,CAC1E,CACF,CAAC;IACH;IACA,IAAIN,SAAS,CAACO,QAAQ,EAAE;MACtBN,IAAI,CAACE,IAAI,CACPhB,mBAAmB,CAACiB,WAAW,CAAC,wBAAwB,EAAE,MAAM;QAC9DJ,SAAS,CAACO,QAAQ,GAAG,CAAC;MACxB,CAAC,CACH,CAAC;IACH;IACA,IAAIP,SAAS,CAACQ,YAAY,EAAE;MAC1BP,IAAI,CAACE,IAAI,CACPhB,mBAAmB,CAACiB,WAAW,CAC7B,4BAA4B,EAC5BE,KAAK,IAAIN,SAAS,CAACQ,YAAY,GAAGF,KAAsC,CAC1E,CACF,CAAC;IACH;IACA,IAAIN,SAAS,CAACS,QAAQ,EAAE;MACtBR,IAAI,CAACE,IAAI,CACPhB,mBAAmB,CAACiB,WAAW,CAAC,wBAAwB,EAAE,MAAM;QAC9DJ,SAAS,CAACS,QAAQ,GAAG,CAAC;MACxB,CAAC,CACH,CAAC;IACH;IACA,IAAIT,SAAS,CAACU,SAAS,EAAE;MACvBT,IAAI,CAACE,IAAI,CACPhB,mBAAmB,CAACiB,WAAW,CAAC,yBAAyB,EAAE,MAAM;QAC/DJ,SAAS,CAACU,SAAS,GAAG,CAAC;MACzB,CAAC,CACH,CAAC;IACH;IAEA,OAAOT,IAAI;EACb;AACF,CAAC","ignoreList":[]}
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":[]}