Showing
1 changed file
with
0 additions
and
139 deletions
Too many changes to show.
To preserve performance only 1 of 39 files are displayed.
components/module/f-ad/f-ad.vue
deleted
100644 → 0
1 | -<template> | ||
2 | - <view> | ||
3 | - <!-- #ifdef MP-WEIXIN --> | ||
4 | - <view class="adContent"> | ||
5 | - <block v-for="(item,index) in typeArr" :key="index"> | ||
6 | - <block v-if="item===1"> | ||
7 | - <!-- banner广告 --> | ||
8 | - <ad unit-id="adunit-ecdb31747eeb025d" ad-intervals="30"></ad> | ||
9 | - </block> | ||
10 | - <block v-if="item===2"> | ||
11 | - <!-- 视频广告 --> | ||
12 | - <ad unit-id="adunit-3e70c6aaf0d18a5c" ad-type="video" ad-theme="white"></ad> | ||
13 | - </block> | ||
14 | - <block v-if="item===3"> | ||
15 | - <!-- 原生模板广告 --> | ||
16 | - <ad-custom unit-id="adunit-ce4c3aa5a5a8aea3"></ad-custom> | ||
17 | - </block> | ||
18 | - </block> | ||
19 | - </view> | ||
20 | - <!-- #endif --> | ||
21 | - </view> | ||
22 | -</template> | ||
23 | - | ||
24 | -<script> | ||
25 | -import { mapState, mapMutations } from 'vuex'; | ||
26 | -let rewardedVideoAd = null // 定义激励视频广告 | ||
27 | -let insertScreenVideoAd = null // 定义插屏视频广告 | ||
28 | -export default { | ||
29 | - props:{ | ||
30 | - //1.banner广告 2.视频广告 3.原生模板广告 4.插屏视频广告 5.激励视频广告 | ||
31 | - typeArray:{ | ||
32 | - type: Array, | ||
33 | - default: function() { | ||
34 | - return []; | ||
35 | - }, | ||
36 | - } | ||
37 | - }, | ||
38 | - data() { | ||
39 | - return { | ||
40 | - _isExcitationLoaded:false, //激励广告是否加载好 | ||
41 | - _isInsertScreenLoaded:false,//插屏广告是否加载好 | ||
42 | - typeArr:[1] | ||
43 | - }; | ||
44 | - }, | ||
45 | - created() { | ||
46 | - // #ifdef MP-WEIXIN | ||
47 | - this.typeArr = this.typeArray | ||
48 | - this.typeArr.forEach(item=>{ | ||
49 | - if(item===5){ | ||
50 | - this.excitationAd('adunit-fb0093bcd1f2f790') //激励 | ||
51 | - }else if(item===4){ | ||
52 | - this.insertScreenAd('adunit-9d97cc3babda47e5') //插屏 | ||
53 | - } | ||
54 | - }) | ||
55 | - // #endif | ||
56 | - }, | ||
57 | - mounted(e) { | ||
58 | - | ||
59 | - }, | ||
60 | - //方法 | ||
61 | - methods: { | ||
62 | - // 激励广告 | ||
63 | - excitationAd(adUnitId){ | ||
64 | - this._isExcitationLoaded = false | ||
65 | - // 在页面onLoad回调事件中创建激励视频广告实例 | ||
66 | - if (uni.createRewardedVideoAd) { | ||
67 | - rewardedVideoAd = uni.createRewardedVideoAd({ | ||
68 | - adUnitId: adUnitId | ||
69 | - }) | ||
70 | - rewardedVideoAd.onLoad(() => { | ||
71 | - this._isExcitationLoaded = true | ||
72 | - }) | ||
73 | - rewardedVideoAd.onError((err) => {}) | ||
74 | - rewardedVideoAd.onClose((res) => { | ||
75 | - // 用户点击了【关闭广告】按钮 | ||
76 | - if (res && res.isEnded) { | ||
77 | - // 正常播放结束,可以下发游戏奖励 | ||
78 | - this.$emit('excitationAdCallback',1) | ||
79 | - } else { | ||
80 | - // 播放中途退出,不下发游戏奖励 | ||
81 | - this.$emit('excitationAdCallback',2) | ||
82 | - } | ||
83 | - }) | ||
84 | - } | ||
85 | - }, | ||
86 | - // 显示激励广告 | ||
87 | - showExcitationAd(){ | ||
88 | - if (this._isExcitationLoaded) { | ||
89 | - rewardedVideoAd.show().catch(() => { | ||
90 | - // 失败重试 | ||
91 | - rewardedVideoAd.load() | ||
92 | - .then(() => rewardedVideoAd.show()) | ||
93 | - .catch(err => { | ||
94 | - console.log('激励视频 广告显示失败') | ||
95 | - }) | ||
96 | - }) | ||
97 | - } | ||
98 | - }, | ||
99 | - // 插屏广告 | ||
100 | - insertScreenAd(adUnitId){ | ||
101 | - this._isInsertScreenLoaded = false | ||
102 | - // 在页面onLoad回调事件中创建激励视频广告实例 | ||
103 | - if (uni.createInterstitialAd) { | ||
104 | - insertScreenVideoAd = uni.createInterstitialAd({ | ||
105 | - adUnitId: adUnitId | ||
106 | - }) | ||
107 | - insertScreenVideoAd.onLoad(() => { | ||
108 | - this._isInsertScreenLoaded = true | ||
109 | - console.log('插屏广告加载完') | ||
110 | - this.showInsertScreenAd() | ||
111 | - }) | ||
112 | - insertScreenVideoAd.onError((err) => { | ||
113 | - console.log(err,'插屏广告拉取失败') | ||
114 | - }) | ||
115 | - insertScreenVideoAd.onClose((res) => { | ||
116 | - console.log('插屏广告关闭') | ||
117 | - }) | ||
118 | - } | ||
119 | - }, | ||
120 | - // 显示插屏广告 | ||
121 | - showInsertScreenAd(){ | ||
122 | - console.log('显示插屏广告') | ||
123 | - if (this._isInsertScreenLoaded) { | ||
124 | - insertScreenVideoAd.show().catch((err) => { | ||
125 | - console.error(err,'插屏广告显示失败') | ||
126 | - }) | ||
127 | - } | ||
128 | - } | ||
129 | - | ||
130 | - | ||
131 | - | ||
132 | - } | ||
133 | -}; | ||
134 | -</script> | ||
135 | -<style lang="scss" scoped> | ||
136 | -.adContent{ | ||
137 | - width: 100%; | ||
138 | -} | ||
139 | -</style> |