敬告:此 demo 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,威尼斯人888-5845vip威尼斯电子游戏。
♦ js-sdk 引用方式:
♦ 普通网页 script 方式加载:下载最新版 ,请在页面上调用 jsbridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge
♦
事件监听
• 如需处理接口调用事件,请设置此监听器;
jsbridge.tb.setlistener(function(event, data) {
switch (event) {
//激励视频 jsbridge.tb.rewardvideo(...)
case "rewardvideo": {
switch (data.action) {
//广告加载失败,data.message 为加载失败说明(如果重复请求,请做好次数和间隔限制,千万不要错误之后无限请求)
case "onfail": {
break;
}
//视频被点击
case "onclick": {
break;
}
//视频被关闭
case "onclose": {
break;
}
//视频广告曝光,data.message 为 orderno(如果使用服务器回调,需要将orderno传给自己服务器)
case "onexposure": {
break;
}
//视频广告加载完成,此时播放视频不卡顿,data.message 为 rewardposition 对象的 json 字符串
case "onrewardvideocached": {
break;
}
//激励视频触发激励(观看视频大于一定时长或者视频播放完毕)
case "onrewardverify": {
jsbridge.toast("奖励已达成!");
break;
}
}
break;
}
//短视频 jsbridge.tb.shortvideo(...)
case "shortvideo": {
switch (data.action) {
//加载失败,data.message 为加载失败说明
case "onfail": {
break;
}
//离开页面
case "onpageleave": {
break;
}
//播放完成
case "onvideoplaycompleted": {
break;
}
//开始播放
case "onvideoplaystart": {
break;
}
//暂停播放
case "onvideoplaypaused": {
break;
}
//恢复播放
case "onvideoplayresume": {
break;
}
}
break;
}
//插屏广告 jsbridge.tb.interaction(...)
case "interaction": {
switch (data.action) {
//广告加载失败,data.message 为加载失败说明(如果重复请求,请做好次数和间隔限制,千万不要错误之后无限请求)
case "onfail": {
break;
}
//广告渲染成功
case "onexposure": {
break;
}
//广告被关闭
case "ondismiss": {
break;
}
//广告被点击
case "onclicked": {
break;
}
//视频准备就绪开始播放(非视频广告不回调)
case "onvideoready": {
break;
}
//视频播放完成(非视频广告不回调)
case "onvideocomplete": {
break;
}
}
break;
}
//横幅广告 jsbridge.tb.banner(...)
case "banner": {
switch (data.action) {
//广告加载失败,data.message 为加载失败说明(如果重复请求,请做好次数和间隔限制,千万不要错误之后无限请求)
case "onfail": {
break;
}
//广告渲染成功
case "onexposure": {
break;
}
//广告被点击
case "onclicked": {
break;
}
//广告被关闭
case "ondismiss": {
break;
}
}
break;
}
}
//此函数仅用于显示回调参数在本 demo 页面上
showresult({
event: event,
data : data
});
});
//请拉到页面底部查看回调数据信息
$('html,body').animate({ scrolltop: $('#view').offset().top }, 500);
/**
回调参数说明:
event //事件代码,字符串类型
data: //事件数据,json 对象
{
action : "onclick", //事件名称,字符串类型
message: "" //事件参数,字符串类型
}
**/
//移除监听器,不会再收到回调通知 //在需要时可重新调用 setlistener jsbridge.tb.removelistener();
权限
//不强制要求权限,但建议您申请,获得权限后能提升广告效果 jsbridge.tb.requestpermissionifnecessary();
展示广告
codeid:
//激励视频,setlistener 的监听回调 event 为 rewardvideo
jsbridge.tb.rewardvideo({
//字符串类型,广告平台上申请的代码位id
codeid: "{{rewardvideo.codeid}}",
//字符串类型,一般为用户id,以便在处理服务器通知时给此用户发放奖励
userid: "user123",
//数字类型,屏幕方向,0 竖屏, 1 横屏
orientation: 0,
//字符串类型,附加信息
extradata: "",
//字符串类型,渠道号
channelnum: "",
//字符串类型,渠道版本
channelversion: ""
}, function(succ, data) {
if (!succ) {
alert(json.stringify(data));
}
});
codeid:
//短视频,setlistener 的监听回调 event 为 shortvideo
jsbridge.tb.shortvideo({
//字符串类型,广告平台上申请的代码位id
codeid: "{{shortvideo.codeid}}",
channelnum: "",
//字符串类型,渠道版本
channelversion: ""
}, function(succ, data) {
if (!succ) {
alert(json.stringify(data));
}
});
codeid:
//插屏广告,setlistener 的监听回调 event 为 interaction
jsbridge.tb.interaction({
//字符串类型,广告平台上申请的代码位id
codeid: "{{interaction.codeid}}",
//字符串类型,渠道号
channelnum: "",
//字符串类型,渠道版本
channelversion: "",
//数字类型,期望模板宽度(高度自适应)
viewwidth: 600
}, function(succ, data) {
if (!succ) {
alert(json.stringify(data));
}
});
codeid:
//横幅广告,setlistener 的监听回调 event 为 banner
jsbridge.tb.banner({
//字符串类型,广告平台上申请的代码位id
codeid: $("#banner").val(),
//数字类型,到顶部的距离
top : 20,
//字符串类型,渠道号
channelnum: "",
//字符串类型,渠道版本
channelversion: "",
//数字类型,期望模板宽度(高度自适应)
viewwidth: 350
}, function(succ, data) {
if (!succ) {
alert(json.stringify(data));
}
});
//横幅广告,setlistener 的监听回调 event 为 banner
jsbridge.tb.banner({
codeid: "1330513198897446943",
//数字类型,到底部的距离
bottom: 20,
channelnum: "",
channelversion: "",
viewwidth: 350
}, function(succ, data) {
if (!succ) {
alert(json.stringify(data));
}
});
//横幅广告
jsbridge.tb.banner({
remove: true
}, function(succ, data) {
if (!succ) {
alert(json.stringify(data));
}
});
监听回调数据: