说明
说明
JS 演示页
JS演示页
提供了一个标准HTML接入广告的演示代码,可以在页面中查看源代码
Vue 演示页
点击展开代码
<template>
<view class="content">
<button @click="setListener">注册监听</button>
<button @click="removeListener">移除监听</button>
<button @click="rewardVideo">激励广告</button>
<button @click="fullScreenVideo">全屏视频</button>
<button @click="interstitial">插屏</button>
<button @click="contentVideo">视频内容</button>
<button @click="topBanner">顶部 Banner</button>
<button @click="bottomBanner">底部 Banner</button>
<button @click="removeBanner">移除 Banner</button>
<button @click="loadH5">H5</button>
<button @click="loadTask('cpa')">TASK-CPA</button>
<button @click="loadTask('cpl')">TASK-CPL</button>
<button @click="loadTask('history')">TASK-HISTORY</button>
</view>
</template>
<script module="vconsole" lang="renderjs">
import VConsole from '../../static/vconsole.min.js'
new VConsole();
import jsBridge from '../../static/jsbridge-mini-vue.js'
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
},
methods: {
setListener() {
jsBridge.zj.setListener((event, data) => {
console.log("event:" + event + " | data:" + JSON.stringify(data))
// 处理回调
switch (event) {
case "RewardVideo":
switch (data.action) {
case "onZjAdShow":
uni.hideLoading()
jsBridge.toast('激励广告展示');
break;
case "onZjAdReward":
jsBridge.toast('激励广告发奖');
break;
case "onZjAdClose":
jsBridge.toast('激励广告关闭');
break;
case "onZjAdError":
uni.hideLoading();
jsBridge.toast('广告出错,错误信息为[' + data.message + "]");
}
break;
case "FullScreenVideo":
switch (data.action) {
case "onZjAdShow":
uni.hideLoading()
jsBridge.toast('全屏视频开始播放');
break;
case "onZjAdClicked":
jsBridge.toast('广告点击');
break;
case "onZjAdClosed":
jsBridge.toast('全屏视频关闭');
break;
case "onZjAdError":
uni.hideLoading();
jsBridge.toast('广告出错,错误信息为[' + data.message + "]");
}
break;
case "Interstitial":
switch (data.action) {
case "onZjAdShow":
uni.hideLoading()
jsBridge.toast('插屏开始展示');
break;
case "onZjAdClicked":
jsBridge.toast('广告点击');
break;
case "onZjAdClosed":
jsBridge.toast('插屏关闭');
break;
case "onZjAdError":
uni.hideLoading();
jsBridge.toast('广告出错,错误信息为[' + data.message + "]");
}
break;
case "Banner":
switch (data.action) {
case "onZjAdShow":
jsBridge.toast('Banner 开始展示');
break;
case "onZjAdClicked":
jsBridge.toast('广告点击');
break;
case "onZjAdClosed":
jsBridge.toast('Banner 关闭');
break;
case "onZjAdError":
jsBridge.toast('广告出错,错误信息为[' + data.message + "]");
}
break;
case "H5":
switch (data.action) {
case "onGameExit":
jsBridge.toast('退出页面');
break;
case "onZjUserBehavior":
jsBridge.toast('onZjUserBehavior[' + data.message + ']');
break;
}
break;
}
})
},
removeListener() {
jsBridge.zj.removeListener()
},
rewardVideo() {
uni.showLoading({
title: '加载中...',
mask: true
})
// 激励广告,监听 event 为 RewardVideo
jsBridge.zj.rewardVideo({
// 必须,字符串类型,激励广告广告位ID
posId: "J7232377272",
// 用户标识
userId: "13800138000",
}, (succ, data) => {
console.log("succ = " + succ + " & data = " + data)
});
},
fullScreenVideo() {
uni.showLoading({
title: '加载中...',
mask: true
})
jsBridge.zj.fullScreenVideo({
// 必须,字符串类型,全屏视频广告位ID
posId: "J9009795731",
})
},
interstitial() {
uni.showLoading({
title: '加载中...',
mask: true
})
jsBridge.zj.interstitial({
// 必须,字符串类型,插屏广告位ID
posId: "J3599641705",
})
},
topBanner() {
// Banner,监听 event 为 Banner
jsBridge.zj.banner({
// 字符串类型,Banner广告位ID
posId: "J6683233389",
// 数字类型,到顶部的距离
top: 20,
// 数字类型,刷新间隔(秒),为0或30~120之间的数字,单位为秒,0表示不自动轮播
refreshInterval: 10
})
},
bottomBanner() {
// Banner,监听 event 为 Banner
jsBridge.zj.banner({
posId: "J6683233389",
// 数字类型,到底部的距离
bottom: 20,
// 数字类型,刷新间隔(秒),为0或30~120之间的数字,单位为秒,0表示不自动轮播
refreshInterval: 10
})
},
removeBanner() {
// 移除 Banner,监听 event 为 Banner
jsBridge.zj.banner({
remove: true
})
},
contentVideo() {
// 短视频内容,监听 event 为 ContentVideo
jsBridge.zj.contentVideo({
// 字符串类型,短视频内容广告ID
posId: "J4961952628"
})
},
loadH5() {
// H5内容页,监听 event 为 H5
jsBridge.zj.h5({
// 必须,字符串类型,广告位ID
posId: "J7651572906",
// 必须,用户信息
user: {
// 用户ID
userID: "13800138000",
// 用户名
userName: "张三",
}
})
},
loadTask(pageName) {
jsBridge.zj.task({
posId: "J8934282083",
page: pageName,
userId: "18888888888",
title: "悬赏任务",
darkTheme: true
}, function(succ, data) {
if (!succ) {
alert(JSON.stringify(data))
}
})
}
}
}
</script>
<style>
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.logo {
height: 200rpx;
width: 200rpx;
margin-top: 200rpx;
margin-left: auto;
margin-right: auto;
margin-bottom: 50rpx;
}
.text-area {
display: flex;
justify-content: center;
}
.title {
font-size: 36rpx;
color: #8f8f94;
}
</style>