敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20251122.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
♦ 麦智杰广告
事件监听
• 如需处理接口调用事件,请设置此监听器;
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));
}
});
监听回调数据: