Skip to content

Commit ddd0c0b

Browse files
committed
Add google adsense
1 parent 72dda67 commit ddd0c0b

File tree

6 files changed

+66
-16
lines changed

6 files changed

+66
-16
lines changed

components/mammon/adsense-responsive-1.vue

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
<client-only>
33
<Adsense
44
:root-class="`mammon g-a ${rootClass}`"
5-
data-ad-client="ca-pub-4710915636313788"
6-
data-ad-slot="8733527061"
5+
:data-ad-client="GOOGLE_ADSENSE_CLIENT"
76
:data-full-width-responsive="true"
7+
data-ad-slot="8733527061"
88
>
99
</Adsense>
1010
</client-only>
@@ -13,10 +13,16 @@
1313
<script lang="ts">
1414
import Vue from 'vue'
1515
import { createComponent } from '@vue/composition-api'
16+
import { GOOGLE_ADSENSE_CLIENT } from '@/config'
1617
export default createComponent({
1718
name: 'AdsenseResponsiveAd1',
1819
props: {
1920
rootClass: String
21+
},
22+
setup() {
23+
return {
24+
GOOGLE_ADSENSE_CLIENT
25+
}
2026
}
2127
})
2228
</script>

components/mammon/adsense-responsive-2.vue

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
<client-only>
33
<Adsense
44
:root-class="`mammon g-a ${rootClass}`"
5-
data-ad-client="ca-pub-4710915636313788"
6-
data-ad-slot="7455679385"
5+
:data-ad-client="GOOGLE_ADSENSE_CLIENT"
76
:data-full-width-responsive="true"
7+
data-ad-slot="7455679385"
88
>
99
</Adsense>
1010
</client-only>
@@ -13,10 +13,16 @@
1313
<script lang="ts">
1414
import Vue from 'vue'
1515
import { createComponent } from '@vue/composition-api'
16+
import { GOOGLE_ADSENSE_CLIENT } from '@/config'
1617
export default createComponent({
1718
name: 'AdsenseResponsiveAd2',
1819
props: {
1920
rootClass: String
21+
},
22+
setup() {
23+
return {
24+
GOOGLE_ADSENSE_CLIENT
25+
}
2026
}
2127
})
2228
</script>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<template>
2+
<client-only>
3+
<Adsense
4+
:root-class="`mammon g-a ${rootClass}`"
5+
:data-ad-client="GOOGLE_ADSENSE_CLIENT"
6+
:data-full-width-responsive="true"
7+
data-ad-slot="4010319351"
8+
>
9+
</Adsense>
10+
</client-only>
11+
</template>
12+
13+
<script lang="ts">
14+
import Vue from 'vue'
15+
import { createComponent } from '@vue/composition-api'
16+
import { GOOGLE_ADSENSE_CLIENT } from '@/config'
17+
export default createComponent({
18+
name: 'AdsenseResponsiveAd3',
19+
props: {
20+
rootClass: String
21+
},
22+
setup() {
23+
return {
24+
GOOGLE_ADSENSE_CLIENT
25+
}
26+
}
27+
})
28+
</script>

components/mammon/index.vue

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<template>
2-
<aliyun-swiper-ad key="aliyun" v-if="isEnabledAliyun" />
3-
<adsense-responsive-ad-1 key="gad1" v-else-if="isEnabledGA1" />
4-
<adsense-responsive-ad-2 key="gad2" v-else-if="isEnabledGA2" />
2+
<aliyun-swiper-ad key="aliyun" v-if="isEnabledAd(MammonProvider.Aliyun)" />
3+
<adsense-responsive-ad-1 key="gad1" v-else-if="isEnabledAd(MammonProvider.GoogleAdSense1)" />
4+
<adsense-responsive-ad-2 key="gad2" v-else-if="isEnabledAd(MammonProvider.GoogleAdSense2)" />
5+
<adsense-responsive-ad-3 key="gad2" v-else-if="isEnabledAd(MammonProvider.GoogleAdSense3)" />
56
</template>
67

78
<script lang="ts">
@@ -12,15 +13,17 @@
1213
export enum MammonProvider {
1314
Aliyun = 'Aliyun',
1415
GoogleAdSense1 = 'GoogleAdSense1',
15-
GoogleAdSense2 = 'GoogleAdSense2'
16+
GoogleAdSense2 = 'GoogleAdSense2',
17+
GoogleAdSense3 = 'GoogleAdSense3'
1618
}
1719
1820
export const cnMammonProviders = [
1921
MammonProvider.Aliyun
2022
]
2123
export const gaMammonProviders = [
2224
MammonProvider.GoogleAdSense1,
23-
MammonProvider.GoogleAdSense2
25+
MammonProvider.GoogleAdSense2,
26+
MammonProvider.GoogleAdSense3
2427
]
2528
2629
export default createComponent({
@@ -36,9 +39,10 @@
3639
},
3740
setup(props) {
3841
return {
39-
isEnabledAliyun: computed(() => props.provider === MammonProvider.Aliyun),
40-
isEnabledGA1: computed(() => props.provider === MammonProvider.GoogleAdSense1),
41-
isEnabledGA2: computed(() => props.provider === MammonProvider.GoogleAdSense2),
42+
MammonProvider,
43+
isEnabledAd(provider: MammonProvider) {
44+
return props.provider === provider
45+
}
4246
}
4347
}
4448
})

config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export enum GitHubRepositorieIDs {
2828
const ALIYUN_PARTER_URL_fixed = 'https://www.aliyun.com/minisite/goods?userCode=pu7fghvl'
2929
const ALIYUN_PARTER_URL_HOTSALE = 'https://www.aliyun.com/acts/hotsale?userCode=pu7fghvl'
3030

31+
export const GOOGLE_ADSENSE_CLIENT = 'ca-pub-4710915636313788'
3132
export const ALIYUN_ADS = [
3233
{
3334
image: '/images/mammon/aliyun-banner-4.jpg',
@@ -47,5 +48,7 @@ export default Object.freeze({
4748
GITHUB_USER_URL,
4849
GITHUB_FOLLOWERS_URL,
4950
GITHUB_SPONSORS_URL,
51+
52+
GOOGLE_ADSENSE_CLIENT,
5053
ALIYUN_ADS
5154
})

plugins/vue-google-adsense.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,18 @@
66

77
import Vue from 'vue'
88
import Ads from 'vue-google-adsense'
9+
import { GOOGLE_ADSENSE_CLIENT } from '@/config'
910

1011
import Adsense1 from '@/components/mammon/adsense-responsive-1.vue'
1112
import Adsense2 from '@/components/mammon/adsense-responsive-2.vue'
13+
import Adsense3 from '@/components/mammon/adsense-responsive-3.vue'
14+
15+
[Adsense1, Adsense2, Adsense3].forEach(ga => {
16+
Vue.component(ga.name, ga)
17+
})
1218

1319
Vue.use(require('vue-script2'))
1420
Vue.use(Ads.Adsense)
1521
Vue.use(Ads.InArticleAdsense)
1622
Vue.use(Ads.InFeedAdsense)
17-
Vue.use(Ads.AutoAdsense, { adClient: 'ca-pub-4710915636313788' })
18-
19-
Vue.component(Adsense1.name, Adsense1)
20-
Vue.component(Adsense2.name, Adsense2)
23+
Vue.use(Ads.AutoAdsense, { adClient: GOOGLE_ADSENSE_CLIENT })

0 commit comments

Comments
 (0)