敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20241118.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)); } });
监听回调数据: