@24jieqi/react-native-brayant-ad 0.1.37 → 0.1.39

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/README.md CHANGED
@@ -5,6 +5,7 @@ React Native 国内广告 SDK 封装,当前主要集成穿山甲(Pangle)
5
5
  - 开屏广告(支持预加载)
6
6
  - 激励视频
7
7
  - 全屏视频
8
+ - 插屏广告
8
9
  - 信息流 Feed(组件)
9
10
  - Draw 信息流(组件)
10
11
  - Banner(组件)
@@ -57,6 +58,7 @@ allprojects {
57
58
  | 开屏预加载 | `preloadSplashAd` / `hasPreloadedSplashAd` / `clearPreloadedSplashAd` | ✅ | ✅(兼容实现) |
58
59
  | 激励视频 | `startRewardVideo` | ✅ | ✅ |
59
60
  | 全屏视频 | `startFullScreenVideo` | ✅ | ✅ |
61
+ | 插屏广告 | `startInterstitialAd` | ✅(复用全屏视频通道) | ✅ |
60
62
  | Feed 信息流组件 | `FeedAdView` | ✅ | ✅ |
61
63
  | Draw 信息流组件 | `DrawFeedView` / `loadDrawFeedAd` | ✅ | ❌ |
62
64
  | Banner 组件 | `BannerAdView` | ✅ | ✅ |
@@ -203,7 +205,36 @@ full.subscribe('onAdClose', () => {});
203
205
  full.cleanup();
204
206
  ```
205
207
 
206
- ## 8. Feed 信息流组件
208
+ ## 8. 插屏广告
209
+
210
+ ```tsx
211
+ import { startInterstitialAd } from '@24jieqi/react-native-brayant-ad';
212
+
213
+ const interstitial = startInterstitialAd({
214
+ codeid: '你的插屏广告位',
215
+ orientation: 'VERTICAL', // 可选:HORIZONTAL | VERTICAL(Android)
216
+ provider: '头条', // 可选:头条 | 腾讯 | 快手(Android)
217
+ });
218
+
219
+ interstitial.result.then((res) => {
220
+ console.log('插屏广告结果', res);
221
+ });
222
+
223
+ interstitial.subscribe('onAdLoaded', (e) => console.log('加载成功', e));
224
+ interstitial.subscribe('onAdError', (e) => console.log('加载失败', e));
225
+ interstitial.subscribe('onAdClick', (e) => console.log('点击', e));
226
+ interstitial.subscribe('onAdClose', (e) => console.log('关闭', e));
227
+
228
+ // 页面销毁时
229
+ interstitial.cleanup();
230
+ ```
231
+
232
+ 说明:
233
+
234
+ - iOS:使用原生 `PangleAdModule` 插屏能力(`load/show/isReady`)。
235
+ - Android:当前复用全屏视频加载/展示通道,统一通过 `startInterstitialAd` 调用。
236
+
237
+ ## 9. Feed 信息流组件
207
238
 
208
239
  ```tsx
209
240
  import { FeedAdView, preloadFeedAd } from '@24jieqi/react-native-brayant-ad';
@@ -229,7 +260,7 @@ await preloadFeedAd({ codeid: '你的Feed广告位', adWidth: 375 });
229
260
  - `style?: ViewStyle`
230
261
  - `onAdLayout/onAdError/onAdClick/onAdClose`
231
262
 
232
- ## 9. Draw 信息流组件(Android)
263
+ ## 10. Draw 信息流组件(Android)
233
264
 
234
265
  ```tsx
235
266
  import { DrawFeedView, loadDrawFeedAd } from '@24jieqi/react-native-brayant-ad';
@@ -249,7 +280,7 @@ loadDrawFeedAd({
249
280
  />
250
281
  ```
251
282
 
252
- ## 10. Banner 组件(Android / iOS)
283
+ ## 11. Banner 组件(Android / iOS)
253
284
 
254
285
  ```tsx
255
286
  import { BannerAdView } from '@24jieqi/react-native-brayant-ad';
@@ -273,7 +304,7 @@ import { BannerAdView } from '@24jieqi/react-native-brayant-ad';
273
304
  - Android / iOS 均可使用同一套 `BannerAdView` 参数。
274
305
  - iOS 端不触发 `onAdDislike`(该事件主要用于 Android)。
275
306
 
276
- ## 11. 导出清单
307
+ ## 12. 导出清单
277
308
 
278
309
  ```ts
279
310
  import {
@@ -287,6 +318,7 @@ import {
287
318
  clearPreloadedSplashAd,
288
319
  startRewardVideo,
289
320
  startFullScreenVideo,
321
+ startInterstitialAd,
290
322
  loadDrawFeedAd,
291
323
  DrawFeedView,
292
324
  FeedAdView,
@@ -294,23 +326,23 @@ import {
294
326
  } from '@24jieqi/react-native-brayant-ad';
295
327
  ```
296
328
 
297
- ## 12. 常见问题
329
+ ## 13. 常见问题
298
330
 
299
- ### 12.1 提示模块未链接(`doesn't seem to be linked`)
331
+ ### 13.1 提示模块未链接(`doesn't seem to be linked`)
300
332
 
301
333
  - 确认已重新编译 App(不是仅热更新)
302
334
  - iOS 确认执行过 `pod install`
303
335
  - 确认不是在 Expo Go 中运行
304
336
 
305
- ### 12.2 Android 开屏后出现白屏
337
+ ### 13.2 Android 开屏后出现白屏
306
338
 
307
339
  优先使用 `preloadSplashAd` 在启动后预加载,再用 `dyLoadSplashAd` 展示。
308
340
 
309
- ### 12.3 监听器重复触发
341
+ ### 13.3 监听器重复触发
310
342
 
311
343
  每次创建广告实例后,在页面卸载时调用 `cleanup()`,并避免同一实例重复绑定同一事件。
312
344
 
313
- ## 13. 本地开发
345
+ ## 14. 本地开发
314
346
 
315
347
  ```bash
316
348
  pnpm typecheck
@@ -32,6 +32,12 @@ public class BannerAdViewManager extends ViewGroupManager<BannerAdView> {
32
32
  super.removeAllViews(parent);
33
33
  }
34
34
 
35
+ @Override
36
+ public void onDropViewInstance(@NonNull BannerAdView view) {
37
+ view.destroy();
38
+ super.onDropViewInstance(view);
39
+ }
40
+
35
41
  @Override
36
42
  public boolean needsCustomLayoutForChildren() {
37
43
  return true;
@@ -82,11 +82,14 @@ public class BannerAdView extends RelativeLayout {
82
82
  super.setVisibility(View.INVISIBLE);
83
83
  return;
84
84
  }
85
-
86
- if (mHasRenderedAd && mBannerAd != null) {
85
+ if (canReuseRenderedAd()) {
87
86
  super.setVisibility(View.VISIBLE);
88
87
  return;
89
88
  }
89
+ if (mHasRenderedAd && mBannerAd != null) {
90
+ showBannerAd(mBannerAd);
91
+ return;
92
+ }
90
93
  // 仅在没有可复用广告实例时才加载
91
94
  showAd();
92
95
  }
@@ -96,10 +99,14 @@ public class BannerAdView extends RelativeLayout {
96
99
  super.setVisibility(View.INVISIBLE);
97
100
  return;
98
101
  }
99
- if (mHasRenderedAd && mBannerAd != null) {
102
+ if (canReuseRenderedAd()) {
100
103
  super.setVisibility(View.VISIBLE);
101
104
  return;
102
105
  }
106
+ if (mHasRenderedAd && mBannerAd != null) {
107
+ showBannerAd(mBannerAd);
108
+ return;
109
+ }
103
110
  // 参数校验
104
111
  if (mExpectedWidth <= 0 || mExpectedHeight <= 0 || mCodeId == null || mCodeId.isEmpty()) {
105
112
  return;
@@ -321,14 +328,19 @@ public class BannerAdView extends RelativeLayout {
321
328
  sendEvent("onAdDislike", event);
322
329
  }
323
330
 
324
- @Override
325
- protected void onDetachedFromWindow() {
326
- super.onDetachedFromWindow();
331
+ public void destroy() {
327
332
  if (mBannerAd != null) {
328
333
  mBannerAd.destroy();
329
334
  mBannerAd = null;
330
335
  }
331
336
  mHasRenderedAd = false;
337
+ mIsAdLoading = false;
338
+ }
339
+
340
+ @Override
341
+ protected void onDetachedFromWindow() {
342
+ super.onDetachedFromWindow();
343
+ super.setVisibility(View.INVISIBLE);
332
344
  }
333
345
 
334
346
  @Override
@@ -338,11 +350,23 @@ public class BannerAdView extends RelativeLayout {
338
350
  super.setVisibility(View.INVISIBLE);
339
351
  return;
340
352
  }
341
- if (mHasRenderedAd && mBannerAd != null) {
353
+ if (canReuseRenderedAd()) {
342
354
  super.setVisibility(View.VISIBLE);
343
355
  return;
344
356
  }
357
+ if (mHasRenderedAd && mBannerAd != null) {
358
+ showBannerAd(mBannerAd);
359
+ return;
360
+ }
345
361
  // 路由切换后重新挂载时,仅在无可复用实例时才触发加载
346
362
  showAd();
347
363
  }
364
+
365
+ private boolean canReuseRenderedAd() {
366
+ if (!mHasRenderedAd || mBannerAd == null) {
367
+ return false;
368
+ }
369
+ RelativeLayout container = findViewById(R.id.feed_container);
370
+ return container != null && container.getChildCount() > 0;
371
+ }
348
372
  }
@@ -82,10 +82,14 @@ public class FeedAdView extends RelativeLayout {
82
82
  super.setVisibility(View.INVISIBLE);
83
83
  return;
84
84
  }
85
- if (mHasRenderedAd && mCurrentAd != null) {
85
+ if (canReuseRenderedAd()) {
86
86
  super.setVisibility(View.VISIBLE);
87
87
  return;
88
88
  }
89
+ if (mHasRenderedAd && mCurrentAd != null) {
90
+ _showTTAd(mCurrentAd);
91
+ return;
92
+ }
89
93
  showAd();
90
94
  }
91
95
 
@@ -94,10 +98,14 @@ public class FeedAdView extends RelativeLayout {
94
98
  super.setVisibility(View.INVISIBLE);
95
99
  return;
96
100
  }
97
- if (mHasRenderedAd && mCurrentAd != null) {
101
+ if (canReuseRenderedAd()) {
98
102
  super.setVisibility(View.VISIBLE);
99
103
  return;
100
104
  }
105
+ if (mHasRenderedAd && mCurrentAd != null) {
106
+ _showTTAd(mCurrentAd);
107
+ return;
108
+ }
101
109
  Log.d(TAG, "showAd: width:" + _expectedWidth + " codeid:" + _codeid);
102
110
 
103
111
  // 显示广告
@@ -450,11 +458,23 @@ public class FeedAdView extends RelativeLayout {
450
458
  super.setVisibility(View.INVISIBLE);
451
459
  return;
452
460
  }
453
- if (mHasRenderedAd && mCurrentAd != null) {
461
+ if (canReuseRenderedAd()) {
454
462
  super.setVisibility(View.VISIBLE);
455
463
  return;
456
464
  }
465
+ if (mHasRenderedAd && mCurrentAd != null) {
466
+ _showTTAd(mCurrentAd);
467
+ return;
468
+ }
457
469
  // 路由切换后重新挂载时,仅在无可复用实例时才触发加载
458
470
  showAd();
459
471
  }
472
+
473
+ private boolean canReuseRenderedAd() {
474
+ if (!mHasRenderedAd || mCurrentAd == null) {
475
+ return false;
476
+ }
477
+ final RelativeLayout mExpressContainer = findViewById(R.id.feed_container);
478
+ return mExpressContainer != null && mExpressContainer.getChildCount() > 0;
479
+ }
460
480
  }
@@ -226,7 +226,6 @@
226
226
  [self.bannerView removeFromSuperview];
227
227
  self.bannerView = nil;
228
228
  self.currentParentView = nil;
229
- self.adLoaded = NO;
230
229
  NSLog(@"[Pangle] Banner广告已隐藏");
231
230
  }
232
231
 
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AD_EVENT_TYPE = void 0;
7
+ exports.default = startInterstitialAd;
8
+ var _reactNative = require("react-native");
9
+ const {
10
+ FullScreenVideoModule,
11
+ PangleAdModule
12
+ } = _reactNative.NativeModules;
13
+ let AD_EVENT_TYPE = exports.AD_EVENT_TYPE = /*#__PURE__*/function (AD_EVENT_TYPE) {
14
+ AD_EVENT_TYPE["onAdError"] = "onAdError";
15
+ AD_EVENT_TYPE["onAdLoaded"] = "onAdLoaded";
16
+ AD_EVENT_TYPE["onAdClick"] = "onAdClick";
17
+ AD_EVENT_TYPE["onAdClose"] = "onAdClose";
18
+ return AD_EVENT_TYPE;
19
+ }({});
20
+ function startInterstitialAd(props) {
21
+ if (_reactNative.Platform.OS === 'ios') {
22
+ const {
23
+ codeid
24
+ } = props;
25
+ if (!PangleAdModule) {
26
+ const result = Promise.reject(new Error('PangleAdModule 未注册'));
27
+ return {
28
+ result,
29
+ subscribe: () => ({
30
+ remove: () => {}
31
+ }),
32
+ cleanup: () => {}
33
+ };
34
+ }
35
+ const eventEmitter = new _reactNative.NativeEventEmitter(PangleAdModule);
36
+ const listenerCache = {};
37
+ const result = (async () => {
38
+ PangleAdModule.loadInterstitialAd(codeid);
39
+ const maxRetry = 40;
40
+ for (let i = 0; i < maxRetry; i += 1) {
41
+ const ready = await PangleAdModule.isInterstitialAdReady();
42
+ if (ready) {
43
+ return PangleAdModule.showInterstitialAd();
44
+ }
45
+ await new Promise(resolve => {
46
+ setTimeout(resolve, 120);
47
+ });
48
+ }
49
+ throw new Error('插屏广告加载超时');
50
+ })();
51
+ return {
52
+ result,
53
+ subscribe: (type, callback) => {
54
+ if (listenerCache[type]) {
55
+ var _listenerCache$type;
56
+ (_listenerCache$type = listenerCache[type]) === null || _listenerCache$type === void 0 || _listenerCache$type.remove();
57
+ }
58
+ const eventMap = {
59
+ [AD_EVENT_TYPE.onAdError]: 'PangleInterstitialAdLoadFail',
60
+ [AD_EVENT_TYPE.onAdLoaded]: 'PangleInterstitialAdLoaded',
61
+ [AD_EVENT_TYPE.onAdClick]: 'PangleInterstitialAdClicked',
62
+ [AD_EVENT_TYPE.onAdClose]: 'PangleInterstitialAdClosed'
63
+ };
64
+ return listenerCache[type] = eventEmitter.addListener(eventMap[type], event => {
65
+ callback(event);
66
+ });
67
+ },
68
+ cleanup: () => {
69
+ Object.values(listenerCache).forEach(subscription => {
70
+ subscription === null || subscription === void 0 || subscription.remove();
71
+ });
72
+ Object.keys(listenerCache).forEach(key => {
73
+ delete listenerCache[key];
74
+ });
75
+ }
76
+ };
77
+ }
78
+ if (!FullScreenVideoModule) {
79
+ const result = Promise.reject(new Error('FullScreenVideoModule 未注册'));
80
+ return {
81
+ result,
82
+ subscribe: () => ({
83
+ remove: () => {}
84
+ }),
85
+ cleanup: () => {}
86
+ };
87
+ }
88
+ const {
89
+ provider,
90
+ codeid,
91
+ orientation = 'VERTICAL'
92
+ } = props;
93
+ const eventEmitter = new _reactNative.NativeEventEmitter(FullScreenVideoModule);
94
+ const listenerCache = {};
95
+ const result = FullScreenVideoModule.startAd({
96
+ codeid,
97
+ orientation,
98
+ provider
99
+ });
100
+ return {
101
+ result,
102
+ subscribe: (type, callback) => {
103
+ if (listenerCache[type]) {
104
+ var _listenerCache$type2;
105
+ (_listenerCache$type2 = listenerCache[type]) === null || _listenerCache$type2 === void 0 || _listenerCache$type2.remove();
106
+ }
107
+ const eventMap = {
108
+ [AD_EVENT_TYPE.onAdError]: 'FullScreenVideoModule-onAdError',
109
+ [AD_EVENT_TYPE.onAdLoaded]: 'FullScreenVideoModule-onAdShow',
110
+ [AD_EVENT_TYPE.onAdClick]: 'FullScreenVideoModule-onAdClick',
111
+ [AD_EVENT_TYPE.onAdClose]: 'FullScreenVideoModule-onAdClose'
112
+ };
113
+ return listenerCache[type] = eventEmitter.addListener(eventMap[type], event => {
114
+ callback(event);
115
+ });
116
+ },
117
+ cleanup: () => {
118
+ Object.values(listenerCache).forEach(subscription => {
119
+ subscription === null || subscription === void 0 || subscription.remove();
120
+ });
121
+ Object.keys(listenerCache).forEach(key => {
122
+ delete listenerCache[key];
123
+ });
124
+ }
125
+ };
126
+ }
127
+ //# sourceMappingURL=InterstitialAd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","FullScreenVideoModule","PangleAdModule","NativeModules","AD_EVENT_TYPE","exports","startInterstitialAd","props","Platform","OS","codeid","result","Promise","reject","Error","subscribe","remove","cleanup","eventEmitter","NativeEventEmitter","listenerCache","loadInterstitialAd","maxRetry","i","ready","isInterstitialAdReady","showInterstitialAd","resolve","setTimeout","type","callback","_listenerCache$type","eventMap","onAdError","onAdLoaded","onAdClick","onAdClose","addListener","event","Object","values","forEach","subscription","keys","key","provider","orientation","startAd","_listenerCache$type2"],"sourceRoot":"../../../../src","sources":["dy/api/InterstitialAd.ts"],"mappings":"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","ignoreList":[]}
@@ -53,6 +53,14 @@ const BannerAdView = props => {
53
53
  const [height, setHeight] = (0, _react.useState)(adHeight);
54
54
  const heightInitialized = (0, _react.useRef)(false);
55
55
  const iosContainerRef = (0, _react.useRef)(null);
56
+ const iosLoadedRef = (0, _react.useRef)(false);
57
+ const visibleRef = (0, _react.useRef)(visible);
58
+ const dismissedRef = (0, _react.useRef)(dismissed);
59
+ const onAdRenderSuccessRef = (0, _react.useRef)(onAdRenderSuccess);
60
+ const onAdErrorRef = (0, _react.useRef)(onAdError);
61
+ const onAdDismissRef = (0, _react.useRef)(onAdDismiss);
62
+ const onAdClickRef = (0, _react.useRef)(onAdClick);
63
+ const onAdShowRef = (0, _react.useRef)(onAdShow);
56
64
 
57
65
  // Reset state when visible changes from false to true to allow re-display
58
66
  (0, _react.useEffect)(() => {
@@ -63,57 +71,89 @@ const BannerAdView = props => {
63
71
  }
64
72
  }, [visible, adHeight]);
65
73
  (0, _react.useEffect)(() => {
66
- if (_reactNative.Platform.OS !== 'ios' || !PangleAdModule || !visible || dismissed) {
74
+ visibleRef.current = visible;
75
+ dismissedRef.current = dismissed;
76
+ onAdRenderSuccessRef.current = onAdRenderSuccess;
77
+ onAdErrorRef.current = onAdError;
78
+ onAdDismissRef.current = onAdDismiss;
79
+ onAdClickRef.current = onAdClick;
80
+ onAdShowRef.current = onAdShow;
81
+ }, [dismissed, onAdClick, onAdDismiss, onAdError, onAdRenderSuccess, onAdShow, visible]);
82
+ const showIOSBanner = (0, _react.useCallback)(() => {
83
+ const tag = (0, _reactNative.findNodeHandle)(iosContainerRef.current);
84
+ if (!tag || !PangleAdModule) {
85
+ return;
86
+ }
87
+ PangleAdModule.showBannerAd(tag).catch(error => {
88
+ var _onAdErrorRef$current;
89
+ (_onAdErrorRef$current = onAdErrorRef.current) === null || _onAdErrorRef$current === void 0 || _onAdErrorRef$current.call(onAdErrorRef, {
90
+ message: String(error)
91
+ });
92
+ });
93
+ }, []);
94
+ (0, _react.useEffect)(() => {
95
+ if (_reactNative.Platform.OS !== 'ios' || !PangleAdModule) {
67
96
  return;
68
97
  }
69
98
  const emitter = new _reactNative.NativeEventEmitter(PangleAdModule);
70
99
  const subscriptions = [];
71
100
  const fixedSizeType = 3;
72
- const showBanner = () => {
73
- const tag = (0, _reactNative.findNodeHandle)(iosContainerRef.current);
74
- if (!tag) {
75
- return;
76
- }
77
- PangleAdModule.showBannerAd(tag).catch(error => {
78
- onAdError === null || onAdError === void 0 || onAdError({
79
- message: String(error)
80
- });
81
- });
82
- };
101
+ iosLoadedRef.current = false;
83
102
  subscriptions.push(emitter.addListener('PangleBannerAdLoaded', () => {
84
- setTimeout(showBanner, 50);
103
+ iosLoadedRef.current = true;
104
+ if (visibleRef.current && !dismissedRef.current) {
105
+ setTimeout(showIOSBanner, 50);
106
+ }
85
107
  }));
86
108
  subscriptions.push(emitter.addListener('PangleBannerAdLoadFail', event => {
87
- onAdError === null || onAdError === void 0 || onAdError(event);
109
+ var _onAdErrorRef$current2;
110
+ (_onAdErrorRef$current2 = onAdErrorRef.current) === null || _onAdErrorRef$current2 === void 0 || _onAdErrorRef$current2.call(onAdErrorRef, event);
88
111
  }));
89
112
  subscriptions.push(emitter.addListener('PangleBannerAdRenderSuccess', () => {
113
+ var _onAdRenderSuccessRef;
90
114
  if (!heightInitialized.current) {
91
115
  heightInitialized.current = true;
92
116
  setHeight(adHeight);
93
117
  }
94
- onAdRenderSuccess === null || onAdRenderSuccess === void 0 || onAdRenderSuccess({
118
+ (_onAdRenderSuccessRef = onAdRenderSuccessRef.current) === null || _onAdRenderSuccessRef === void 0 || _onAdRenderSuccessRef.call(onAdRenderSuccessRef, {
95
119
  width: adWidth,
96
120
  height: adHeight
97
121
  });
98
122
  }));
99
123
  subscriptions.push(emitter.addListener('PangleBannerAdShowed', event => {
100
- onAdShow === null || onAdShow === void 0 || onAdShow(event);
124
+ var _onAdShowRef$current;
125
+ (_onAdShowRef$current = onAdShowRef.current) === null || _onAdShowRef$current === void 0 || _onAdShowRef$current.call(onAdShowRef, event);
101
126
  }));
102
127
  subscriptions.push(emitter.addListener('PangleBannerAdClicked', event => {
103
- onAdClick === null || onAdClick === void 0 || onAdClick(event);
128
+ var _onAdClickRef$current;
129
+ (_onAdClickRef$current = onAdClickRef.current) === null || _onAdClickRef$current === void 0 || _onAdClickRef$current.call(onAdClickRef, event);
104
130
  }));
105
131
  subscriptions.push(emitter.addListener('PangleBannerAdClosed', event => {
132
+ var _onAdDismissRef$curre;
106
133
  setDismissed(true);
107
- onAdDismiss === null || onAdDismiss === void 0 || onAdDismiss(event);
134
+ (_onAdDismissRef$curre = onAdDismissRef.current) === null || _onAdDismissRef$curre === void 0 || _onAdDismissRef$curre.call(onAdDismissRef, event);
108
135
  }));
109
136
  PangleAdModule.loadBannerAdWithSize(codeid, fixedSizeType, adWidth, adHeight);
110
137
  return () => {
111
- var _PangleAdModule$hideB, _PangleAdModule$remov;
138
+ var _PangleAdModule$remov;
139
+ iosLoadedRef.current = false;
112
140
  subscriptions.forEach(subscription => subscription.remove());
113
- (_PangleAdModule$hideB = PangleAdModule.hideBannerAd) === null || _PangleAdModule$hideB === void 0 || _PangleAdModule$hideB.call(PangleAdModule);
114
141
  (_PangleAdModule$remov = PangleAdModule.removeBannerAd) === null || _PangleAdModule$remov === void 0 || _PangleAdModule$remov.call(PangleAdModule);
115
142
  };
116
- }, [adHeight, adWidth, codeid, dismissed, onAdClick, onAdDismiss, onAdError, onAdRenderSuccess, onAdShow, visible]);
143
+ }, [adHeight, adWidth, codeid, showIOSBanner]);
144
+ (0, _react.useEffect)(() => {
145
+ if (_reactNative.Platform.OS !== 'ios' || !PangleAdModule) {
146
+ return;
147
+ }
148
+ if (!visible || dismissed) {
149
+ var _PangleAdModule$hideB;
150
+ (_PangleAdModule$hideB = PangleAdModule.hideBannerAd) === null || _PangleAdModule$hideB === void 0 || _PangleAdModule$hideB.call(PangleAdModule);
151
+ return;
152
+ }
153
+ if (iosLoadedRef.current) {
154
+ setTimeout(showIOSBanner, 0);
155
+ }
156
+ }, [dismissed, visible, adWidth, adHeight, showIOSBanner]);
117
157
 
118
158
  // Early returns after all hooks
119
159
  if (!visible || dismissed) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ComponentName","Platform","select","android","ios","undefined","PangleAdModule","NativeModules","LINKING_ERROR","BannerAdNativeComponent","getBannerAdComponent","UIManager","getViewManagerConfig","requireNativeComponent","BannerAdView","props","codeid","style","adWidth","adHeight","onAdRenderSuccess","onAdError","onAdDismiss","onAdClick","onAdShow","onAdDislike","visible","dismissed","setDismissed","useState","height","setHeight","heightInitialized","useRef","iosContainerRef","useEffect","current","OS","emitter","NativeEventEmitter","subscriptions","fixedSizeType","showBanner","tag","findNodeHandle","showBannerAd","catch","error","message","String","push","addListener","setTimeout","event","width","loadBannerAdWithSize","_PangleAdModule$hideB","_PangleAdModule$remov","forEach","subscription","remove","hideBannerAd","removeBannerAd","Error","createElement","View","ref","NativeComponent","nativeEvent","newHeight","_default","exports","React","memo","prevProps","nextProps"],"sourceRoot":"../../../../src","sources":["dy/component/BannerAd.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQsB,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGtB;AACA,MAAMkB,aAAa,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EACpCC,OAAO,EAAE,qBAAqB;EAC9BC,GAAG,EAAEC;AACP,CAAC,CAAuB;AACxB,MAAM;EAAEC;AAAe,CAAC,GAAGC,0BAAa;AAuBxC,MAAMC,aAAa,GACjB,kFAAkF,GAClFP,qBAAQ,CAACC,MAAM,CAAC;EAAEE,GAAG,EAAE,gCAAgC;EAAEb,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;;AAEA,IAAIkB,uBAA8C,GAAG,IAAI;AAEzD,MAAMC,oBAAoB,GAAGA,CAAA,KAA6B;EACxD,IAAID,uBAAuB,KAAK,IAAI,EAAE;IACpC,IACET,aAAa,IACbW,sBAAS,CAACC,oBAAoB,CAACZ,aAAa,CAAC,IAAI,IAAI,EACrD;MACAS,uBAAuB,GACrB,IAAAI,mCAAsB,EAAgBb,aAAa,CAAC;IACxD,CAAC,MAAM;MACLS,uBAAuB,GAAG,IAAI;IAChC;EACF;EACA,OAAOA,uBAAuB;AAChC,CAAC;AAED,MAAMK,YAAY,GAAIC,KAAoB,IAAK;EAC7C,MAAM;IACJC,MAAM;IACNC,KAAK;IACLC,OAAO,GAAG,GAAG;IACbC,QAAQ,GAAG,EAAE;IACbC,iBAAiB;IACjBC,SAAS;IACTC,WAAW;IACXC,SAAS;IACTC,QAAQ;IACRC,WAAW;IACXC,OAAO,GAAG;EACZ,CAAC,GAAGX,KAAK;;EAET;EACA,MAAM,CAACY,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACjD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAF,eAAQ,EAACV,QAAQ,CAAC;EAC9C,MAAMa,iBAAiB,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EACvC,MAAMC,eAAe,GAAG,IAAAD,aAAM,EAAc,IAAI,CAAC;;EAEjD;EACA,IAAAE,gBAAS,EAAC,MAAM;IACd,IAAIT,OAAO,EAAE;MACXE,YAAY,CAAC,KAAK,CAAC;MACnBI,iBAAiB,CAACI,OAAO,GAAG,KAAK;MACjCL,SAAS,CAACZ,QAAQ,CAAC;IACrB;EACF,CAAC,EAAE,CAACO,OAAO,EAAEP,QAAQ,CAAC,CAAC;EAEvB,IAAAgB,gBAAS,EAAC,MAAM;IACd,IAAIlC,qBAAQ,CAACoC,EAAE,KAAK,KAAK,IAAI,CAAC/B,cAAc,IAAI,CAACoB,OAAO,IAAIC,SAAS,EAAE;MACrE;IACF;IAEA,MAAMW,OAAO,GAAG,IAAIC,+BAAkB,CAACjC,cAAc,CAAC;IACtD,MAAMkC,aAAkC,GAAG,EAAE;IAC7C,MAAMC,aAAa,GAAG,CAAC;IAEvB,MAAMC,UAAU,GAAGA,CAAA,KAAM;MACvB,MAAMC,GAAG,GAAG,IAAAC,2BAAc,EAACV,eAAe,CAACE,OAAO,CAAC;MACnD,IAAI,CAACO,GAAG,EAAE;QACR;MACF;MAEArC,cAAc,CAACuC,YAAY,CAACF,GAAG,CAAC,CAACG,KAAK,CAAEC,KAAc,IAAK;QACzD1B,SAAS,aAATA,SAAS,eAATA,SAAS,CAAG;UAAE2B,OAAO,EAAEC,MAAM,CAACF,KAAK;QAAE,CAAC,CAAC;MACzC,CAAC,CAAC;IACJ,CAAC;IAEDP,aAAa,CAACU,IAAI,CAChBZ,OAAO,CAACa,WAAW,CAAC,sBAAsB,EAAE,MAAM;MAChDC,UAAU,CAACV,UAAU,EAAE,EAAE,CAAC;IAC5B,CAAC,CACH,CAAC;IACDF,aAAa,CAACU,IAAI,CAChBZ,OAAO,CAACa,WAAW,CAAC,wBAAwB,EAAGE,KAAoB,IAAK;MACtEhC,SAAS,aAATA,SAAS,eAATA,SAAS,CAAGgC,KAAK,CAAC;IACpB,CAAC,CACH,CAAC;IACDb,aAAa,CAACU,IAAI,CAChBZ,OAAO,CAACa,WAAW,CAAC,6BAA6B,EAAE,MAAM;MACvD,IAAI,CAACnB,iBAAiB,CAACI,OAAO,EAAE;QAC9BJ,iBAAiB,CAACI,OAAO,GAAG,IAAI;QAChCL,SAAS,CAACZ,QAAQ,CAAC;MACrB;MACAC,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAG;QAAEkC,KAAK,EAAEpC,OAAO;QAAEY,MAAM,EAAEX;MAAS,CAAC,CAAC;IAC3D,CAAC,CACH,CAAC;IACDqB,aAAa,CAACU,IAAI,CAChBZ,OAAO,CAACa,WAAW,CAAC,sBAAsB,EAAGE,KAAoB,IAAK;MACpE7B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG6B,KAAK,CAAC;IACnB,CAAC,CACH,CAAC;IACDb,aAAa,CAACU,IAAI,CAChBZ,OAAO,CAACa,WAAW,CAAC,uBAAuB,EAAGE,KAAoB,IAAK;MACrE9B,SAAS,aAATA,SAAS,eAATA,SAAS,CAAG8B,KAAK,CAAC;IACpB,CAAC,CACH,CAAC;IACDb,aAAa,CAACU,IAAI,CAChBZ,OAAO,CAACa,WAAW,CAAC,sBAAsB,EAAGE,KAAoB,IAAK;MACpEzB,YAAY,CAAC,IAAI,CAAC;MAClBN,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAG+B,KAAK,CAAC;IACtB,CAAC,CACH,CAAC;IAED/C,cAAc,CAACiD,oBAAoB,CACjCvC,MAAM,EACNyB,aAAa,EACbvB,OAAO,EACPC,QACF,CAAC;IAED,OAAO,MAAM;MAAA,IAAAqC,qBAAA,EAAAC,qBAAA;MACXjB,aAAa,CAACkB,OAAO,CAAEC,YAAY,IAAKA,YAAY,CAACC,MAAM,CAAC,CAAC,CAAC;MAC9D,CAAAJ,qBAAA,GAAAlD,cAAc,CAACuD,YAAY,cAAAL,qBAAA,eAA3BA,qBAAA,CAAA5D,IAAA,CAAAU,cAA8B,CAAC;MAC/B,CAAAmD,qBAAA,GAAAnD,cAAc,CAACwD,cAAc,cAAAL,qBAAA,eAA7BA,qBAAA,CAAA7D,IAAA,CAAAU,cAAgC,CAAC;IACnC,CAAC;EACH,CAAC,EAAE,CACDa,QAAQ,EACRD,OAAO,EACPF,MAAM,EACNW,SAAS,EACTJ,SAAS,EACTD,WAAW,EACXD,SAAS,EACTD,iBAAiB,EACjBI,QAAQ,EACRE,OAAO,CACR,CAAC;;EAEF;EACA,IAAI,CAACA,OAAO,IAAIC,SAAS,EAAE;IACzB,OAAO,IAAI;EACb;EAEA,IAAI1B,qBAAQ,CAACoC,EAAE,KAAK,KAAK,EAAE;IACzB,IAAI,CAAC/B,cAAc,EAAE;MACnB,MAAM,IAAIyD,KAAK,CAACvD,aAAa,CAAC;IAChC;IACA,oBACE/B,MAAA,CAAAc,OAAA,CAAAyE,aAAA,CAACpF,YAAA,CAAAqF,IAAI;MACHC,GAAG,EAAEhC,eAAgB;MACrBjB,KAAK,EAAE;QAAEqC,KAAK,EAAEpC,OAAO;QAAEY,MAAM;QAAE,GAAGb;MAAM;IAAE,CAC7C,CAAC;EAEN;EAEA,MAAMkD,eAAe,GAAGzD,oBAAoB,CAAC,CAAC;EAE9C,IAAI,CAACyD,eAAe,EAAE;IACpB,MAAM,IAAIJ,KAAK,CAACvD,aAAa,CAAC;EAChC;EAEA,oBACE/B,MAAA,CAAAc,OAAA,CAAAyE,aAAA,CAACG,eAAe;IACdnD,MAAM,EAAEA,MAAO;IACfE,OAAO,EAAEA,OAAQ;IACjBC,QAAQ,EAAEW,MAAO;IACjBb,KAAK,EAAE;MAAEqC,KAAK,EAAEpC,OAAO;MAAEY,MAAM;MAAE,GAAGb;IAAM,CAAE;IAC5CI,SAAS,EAAGxC,CAAM,IAAKwC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAGxC,CAAC,CAACuF,WAAW,CAAE;IAClD7C,SAAS,EAAG1C,CAAM,IAAK0C,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG1C,CAAC,CAACuF,WAAW,CAAE;IAClD9C,WAAW,EAAGzC,CAAM,IAAK;MACvB+C,YAAY,CAAC,IAAI,CAAC;MAClBN,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAGzC,CAAC,CAACuF,WAAW,CAAC;IAC9B,CAAE;IACF5C,QAAQ,EAAG3C,CAAM,IAAK2C,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG3C,CAAC,CAACuF,WAAW,CAAE;IAChDhD,iBAAiB,EAAGvC,CAAM,IAAK;MAC7B,MAAMwF,SAAS,GAAGxF,CAAC,CAACuF,WAAW,CAACtC,MAAM;MACtC,IAAIuC,SAAS,IAAI,CAACrC,iBAAiB,CAACI,OAAO,EAAE;QAC3CL,SAAS,CAACsC,SAAS,GAAG,EAAE,CAAC;QACzBrC,iBAAiB,CAACI,OAAO,GAAG,IAAI;MAClC;MACAhB,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAGvC,CAAC,CAACuF,WAAW,CAAC;IACpC,CAAE;IACF3C,WAAW,EAAG5C,CAAM,IAAK;MACvB+C,YAAY,CAAC,IAAI,CAAC;MAClBH,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAG5C,CAAC,CAACuF,WAAW,CAAC;IAC9B;EAAE,CACH,CAAC;AAEN,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAhF,OAAA,gBAEaiF,cAAK,CAACC,IAAI,CAAC3D,YAAY,EAAE,CAAC4D,SAAS,EAAEC,SAAS,KAAK;EAChE,OACED,SAAS,CAAC1D,MAAM,KAAK2D,SAAS,CAAC3D,MAAM,IACrC0D,SAAS,CAAChD,OAAO,KAAKiD,SAAS,CAACjD,OAAO,IACvCgD,SAAS,CAACxD,OAAO,KAAKyD,SAAS,CAACzD,OAAO,IACvCwD,SAAS,CAACvD,QAAQ,KAAKwD,SAAS,CAACxD,QAAQ;AAE7C,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ComponentName","Platform","select","android","ios","undefined","PangleAdModule","NativeModules","LINKING_ERROR","BannerAdNativeComponent","getBannerAdComponent","UIManager","getViewManagerConfig","requireNativeComponent","BannerAdView","props","codeid","style","adWidth","adHeight","onAdRenderSuccess","onAdError","onAdDismiss","onAdClick","onAdShow","onAdDislike","visible","dismissed","setDismissed","useState","height","setHeight","heightInitialized","useRef","iosContainerRef","iosLoadedRef","visibleRef","dismissedRef","onAdRenderSuccessRef","onAdErrorRef","onAdDismissRef","onAdClickRef","onAdShowRef","useEffect","current","showIOSBanner","useCallback","tag","findNodeHandle","showBannerAd","catch","error","_onAdErrorRef$current","message","String","OS","emitter","NativeEventEmitter","subscriptions","fixedSizeType","push","addListener","setTimeout","event","_onAdErrorRef$current2","_onAdRenderSuccessRef","width","_onAdShowRef$current","_onAdClickRef$current","_onAdDismissRef$curre","loadBannerAdWithSize","_PangleAdModule$remov","forEach","subscription","remove","removeBannerAd","_PangleAdModule$hideB","hideBannerAd","Error","createElement","View","ref","NativeComponent","nativeEvent","newHeight","_default","exports","React","memo","prevProps","nextProps"],"sourceRoot":"../../../../src","sources":["dy/component/BannerAd.tsx"],"mappings":"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","ignoreList":[]}
@@ -82,6 +82,12 @@ Object.defineProperty(exports, "startFullScreenVideo", {
82
82
  return _FullScreenVideo.default;
83
83
  }
84
84
  });
85
+ Object.defineProperty(exports, "startInterstitialAd", {
86
+ enumerable: true,
87
+ get: function () {
88
+ return _InterstitialAd.default;
89
+ }
90
+ });
85
91
  Object.defineProperty(exports, "startRewardVideo", {
86
92
  enumerable: true,
87
93
  get: function () {
@@ -96,6 +102,7 @@ var _DrawFeedAd = require("./dy/component/DrawFeedAd");
96
102
  var _FeedAd = _interopRequireDefault(require("./dy/component/FeedAd"));
97
103
  var _BannerAd = _interopRequireDefault(require("./dy/component/BannerAd"));
98
104
  var _FullScreenVideo = _interopRequireDefault(require("./dy/api/FullScreenVideo"));
105
+ var _InterstitialAd = _interopRequireDefault(require("./dy/api/InterstitialAd"));
99
106
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
100
107
  const LINKING_ERROR = `The package 'react-native-brayant-ad' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
101
108
  ios: "- You have run 'pod install'\n",
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_AdManager","_RewardVideo","_interopRequireDefault","_SplashAd","_DrawFeedAd","_FeedAd","_BannerAd","_FullScreenVideo","e","__esModule","default","LINKING_ERROR","Platform","select","ios","BrayantAd","NativeModules","Proxy","get","Error","multiply","a","b"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAMA,IAAAE,YAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAMA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,SAAA,GAAAJ,sBAAA,CAAAH,OAAA;AAEA,IAAAQ,gBAAA,GAAAL,sBAAA,CAAAH,OAAA;AAA4D,SAAAG,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAC5D,MAAMG,aAAa,GACjB,kFAAkF,GAClFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEJ,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMK,SAAS,GAAGC,0BAAa,CAACD,SAAS,GACrCC,0BAAa,CAACD,SAAS,GACvB,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACR,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEE,SAASS,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAmB;EAC9D,OAAOP,SAAS,CAACK,QAAQ,CAACC,CAAC,EAAEC,CAAC,CAAC;AACjC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_AdManager","_RewardVideo","_interopRequireDefault","_SplashAd","_DrawFeedAd","_FeedAd","_BannerAd","_FullScreenVideo","_InterstitialAd","e","__esModule","default","LINKING_ERROR","Platform","select","ios","BrayantAd","NativeModules","Proxy","get","Error","multiply","a","b"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAMA,IAAAE,YAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAMA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,SAAA,GAAAJ,sBAAA,CAAAH,OAAA;AAEA,IAAAQ,gBAAA,GAAAL,sBAAA,CAAAH,OAAA;AACA,IAAAS,eAAA,GAAAN,sBAAA,CAAAH,OAAA;AAA0D,SAAAG,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAC1D,MAAMG,aAAa,GACjB,kFAAkF,GAClFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEJ,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMK,SAAS,GAAGC,0BAAa,CAACD,SAAS,GACrCC,0BAAa,CAACD,SAAS,GACvB,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACR,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEE,SAASS,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAmB;EAC9D,OAAOP,SAAS,CAACK,QAAQ,CAACC,CAAC,EAAEC,CAAC,CAAC;AACjC","ignoreList":[]}