敬告:此 demo 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,九游会j9备用网址-j9九游会登录入口首页新版。
♦ js-sdk 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsbridge-v20250416.zip,请在页面上调用 jsbridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge
事件监听
• 如需处理接口调用事件,请设置此监听器;
jsbridge.tobid.setlistener(function(event, data) { switch (event) { //激励视频 jsbridge.tobid.reward(...) case "reward": { switch (data.action) { //加载成功 case "onvideoadloadsuccess": { break; } //播放开始 case "onvideoadplaystart": { break; } //播放结束 case "onvideoadplayend": { break; } //激励达成 case "onvideorewarded": { jsbridge.toast("奖励已达成!"); break; } //点击 case "onvideoadclicked": { break; } //关闭 case "onvideoadclosed": { break; } //加载失败,data.message 为失败说明 case "onvideoadloaderror": { break; } //播放失败,data.message 为失败说明 case "onvideoadplayerror": { break; } } break; } //插屏广告 jsbridge.tobid.interstitial(...) case "interstitial": { switch (data.action) { //加载成功 case "oninterstitialadloadsuccess": { break; } //播放开始 case "oninterstitialadplaystart": { break; } //播放结束 case "oninterstitialadplayend": { break; } //点击 case "oninterstitialadclicked": { break; } //关闭 case "oninterstitialadclosed": { break; } //加载失败,data.message 为失败说明 case "oninterstitialadloaderror": { break; } //播放失败,data.message 为失败说明 case "oninterstitialadplayerror": { break; } } } //横幅广告 jsbridge.tobid.banner(...) case "banner": { switch (data.action) { //加载成功 case "onadloadsuccess": { break; } //显示 case "onadshown": { break; } //点击 case "onadclicked": { break; } //关闭 case "onadclosed": { break; } //刷新 case "onadautorefreshed": { break; } //加载失败,data.message 为失败说明 case "onadloaderror": { break; } //刷新失败,data.message 为失败说明 case "onadautorefreshfail": { break; } } break; } //快手短剧 jsbridge.tobid.kstube(...) case "kstube": { switch (data.action) { case "onpageenter": { break; } case "onpageresume": { break; } case "onpagepause": { break; } case "onpageleave": { break; } case "onvideoplaystart": { break; } case "onvideoplaypaused": { break; } case "onvideoplayresume": { break; } case "onvideoplaycompleted": { break; } case "onvideoplayerror": { break; } case "ontubechannelclick": { break; } case "isneedblock": { break; } case "showadifneeded": { break; } } break; } } //此函数仅用于显示回调参数在本 demo 页面上 showresult({ event: event, data : data }); }); //请拉到页面底部查看回调数据信息 $('html,body').animate({ scrolltop: $('#view').offset().top }, 500); /** 回调参数说明: event //事件代码,字符串类型 data: //事件数据,json 对象 { action : "onclick", //事件名称,字符串类型 message: "" //事件参数,字符串类型 } **/
//移除监听器,不会再收到回调通知 //在需要时可重新调用 setlistener jsbridge.tobid.removelistener();
权限
//不强制要求权限,但建议您申请,获得权限后能提升广告效果 jsbridge.tobid.requestpermissionifnecessary();
展示广告
adid:
userid:
//激励视频,setlistener 的监听回调 event 为 reward jsbridge.tobid.reward({ //必须,广告平台上申请的代码位id adid: "{{reward.adid}}", //可选,用户标识,用于 userid: "{{reward.userid}}", //可选,广告加载扩展参数,任意键值对 extra: { key1: "hello", key2: "world" }, //可选,广告展示扩展参数,任意键值对 showoptions: { key1: "123456" } }, function(succ, res) { if (!succ) { alert(json.stringify(res)); } });
adid:
jsbridge.tobid.reward({ //必须,广告平台上申请的代码位id adid: "{{reward.adid}}", //可选,用户标识,用于 userid: "{{reward.userid}}", //可选,广告加载扩展参数,任意键值对 extra: { key1: "hello", key2: "world" }, //预加载广告,不显示。setlistener 回调 onvideoadloadsuccess 时表示加载成功 preloadad: true }, function(succ, res) { if (!succ) { alert(json.stringify(res)); } });
jsbridge.tobid.reward({ //显示已成功预加载的广告 showad: true, //可选,广告展示扩展参数,任意键值对 showoptions: { key1: "123456" } }, function(succ, res) { if (!succ) { alert(json.stringify(res)); } });
adid:
userid:
//插屏广告,setlistener 的监听回调 event 为 interstitial jsbridge.tobid.interstitial({ //必须,广告平台上申请的代码位id adid: "{{interstitial.adid}}", //可选,用户标识 userid: "{{interstitial.userid}}", //可选,广告加载扩展参数,任意键值对 extra: { key1: "hello", key2: "world" }, //可选,广告展示扩展参数,任意键值对 showoptions: { key1: "123456" } }, function(succ, res) { if (!succ) { alert(json.stringify(res)); } });
adid:
userid:
marginstart:
marginend:
margintop:
marginbottom:
//插屏广告,setlistener 的监听回调 event 为 banner jsbridge.tobid.banner({ //必须,广告平台上申请的代码位id adid: "{{banner.adid}}", //可选,用户标识 userid: "{{banner.userid}}", //可选,期望的宽度 width: 0, //可选,期望的高度 height: 0, //可选,左边距(rtl环境时为右边距) marginstart: {{banner.marginstart}}, //可选,右边距(rtl环境时为左边距) marginend: {{banner.marginend}}, //可选,上边距 margintop: {{banner.margintop}}, //可选,下边距(如果 >= 0 则居底,否则请设为 -1) marginbottom: {{banner.marginbottom}} }, function(succ, res) { if (!succ) { alert(json.stringify(res)); } });
adid:
freeepisodecount:
unlockepisodecount:
userid:
username:
showtitlebar:
disableunlocktipdialog:
disableautoopenplaypage:
disableshowtubepanelentry:
hidedetailtitlebar:
hidedetailplayseekbar:
hidedetailbottomtitle:
hidedetailbottomdesc:
//快手短剧,setlistener 的监听回调 event 为 kstube jsbridge.tobid.kstube({ //广告id,数字类型 adid: {{kstube.adid}}, //每个剧集前n集免费 freeepisodecount: {{kstube.freeepisodecount}}, //每次解锁x集 unlockepisodecount: {{kstube.unlockepisodecount}}, //配置您app的当前⽤户id userid: "{{kstube.userid}}", //配置您app的当前⽤户名称 username: "{{kstube.username}}", //是否展示顶部titlebar showtitlebar: {{kstube.showtitlebar}}, //是否关闭sdk的解锁提示弹框,默认 false disableunlocktipdialog: {{kstube.disableunlocktipdialog}}, //是否关闭sdk⾃动打开短剧播放⻚,默认 false disableautoopenplaypage: {{kstube.disableautoopenplaypage}}, //是否关闭短剧播放⻚的选集⼊⼝,默认 false disableshowtubepanelentry: {{kstube.disableshowtubepanelentry}}, //隐藏详情标题栏 hidedetailtitlebar: {{kstube.hidedetailtitlebar}}, //隐藏详情进度 hidedetailplayseekbar: {{kstube.hidedetailplayseekbar}}, //隐藏详情底部标题 hidedetailbottomtitle: {{kstube.hidedetailbottomtitle}}, //隐藏详情底部描述 hidedetailbottomdesc: {{kstube.hidedetailbottomdesc}} }, function(succ, res) { if (!succ) { alert(json.stringify(res)); } });
激励视频 adid:
//引用 js 库 //import jsbridge from 'ym-jsbridge' const showreward = function (jsbridge) { //设置监听器 jsbridge.tobid.setlistener(function (event, data) { switch (event) { //激励视频 case "reward": { switch (data.action) { //加载成功 case "onvideoadloadsuccess": { //关闭加载动画 layer.closeall(); break; } //失败,data.message 为失败说明 case "onvideoadloaderror": case "onvideoadplayerror": { //关闭加载动画 layer.closeall(); //提示失败 layer.msg("广告加载失败:" data.message); break; } //激励达成 case "onvideorewarded": { //奖励达成,客户端仅做简单提示; //为避免刷单,强烈建议在处理服务器端通知时发放奖励; jsbridge.toast("奖励已达成!"); break; } } break; } } }); //展示广告 jsbridge.tobid.reward({ //字符串类型,广告平台上申请的代码位id adid: "{{practicereward.adid}}", //可选,用户标识,一般为用户id,以便在处理服务器通知时给此用户发放奖励 userid: "user123", }, function (success, res) { if (success) { //执行成功,显示加载动画(拉取广告需要一点时间) layer.load(0, { shade: 0.2 }); } else { //执行失败 layer.alert(json.stringify(res)); } }); }; showreward(jsbridge);
监听回调数据: