@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 +41 -9
- package/android/src/main/java/com/brayantad/dy/banner/BannerAdViewManager.java +6 -0
- package/android/src/main/java/com/brayantad/dy/banner/view/BannerAdView.java +31 -7
- package/android/src/main/java/com/brayantad/dy/feedAd/view/FeedAdView.java +23 -3
- package/ios/PangleAdModule/BannerAd.m +0 -1
- package/lib/commonjs/dy/api/InterstitialAd.js +127 -0
- package/lib/commonjs/dy/api/InterstitialAd.js.map +1 -0
- package/lib/commonjs/dy/component/BannerAd.js +61 -21
- package/lib/commonjs/dy/component/BannerAd.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/dy/api/InterstitialAd.js +120 -0
- package/lib/module/dy/api/InterstitialAd.js.map +1 -0
- package/lib/module/dy/component/BannerAd.js +62 -22
- package/lib/module/dy/component/BannerAd.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/dy/api/InterstitialAd.d.ts +24 -0
- package/lib/typescript/src/dy/api/InterstitialAd.d.ts.map +1 -0
- package/lib/typescript/src/dy/component/BannerAd.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/dy/api/InterstitialAd.ts +135 -0
- package/src/dy/component/BannerAd.tsx +65 -28
- package/src/index.tsx +2 -0
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.
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
329
|
+
## 13. 常见问题
|
|
298
330
|
|
|
299
|
-
###
|
|
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
|
-
###
|
|
337
|
+
### 13.2 Android 开屏后出现白屏
|
|
306
338
|
|
|
307
339
|
优先使用 `preloadSplashAd` 在启动后预加载,再用 `dyLoadSplashAd` 展示。
|
|
308
340
|
|
|
309
|
-
###
|
|
341
|
+
### 13.3 监听器重复触发
|
|
310
342
|
|
|
311
343
|
每次创建广告实例后,在页面卸载时调用 `cleanup()`,并避免同一实例重复绑定同一事件。
|
|
312
344
|
|
|
313
|
-
##
|
|
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 (
|
|
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
|
-
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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
|
}
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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$
|
|
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,
|
|
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","
|
|
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":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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":"
|
|
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":[]}
|