敬告:此 demo 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,九游会国际-九游会真人第一品牌。
♦ 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)); } });
监听回调数据: