敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20241118.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
事件监听
• 如需处理接口调用事件,请设置此监听器;
jsBridge.topOn.setListener(function(event, res) { switch (event) { //广告加载状态(所有接口都有的公共回调) //请参考 ATAdLoadingDelegate代理方法 case "ad": { switch (res.action) { //开始加载 case "startLoading": { break; } //加载完成 case "finishLoading": { break; } //加载失败 case "failToLoad": { break; } //加载广告源成功 case "finishLoadingADSource": { break; } //加载广告源失败 case "failToLoadADSource": { break; } //开始出价 case "startBiddingADSource": { break; } //出价成功 case "finishBiddingADSource": { break; } //出价失败 case "failBiddingADSource": { break; } } break; } //激励视频 jsBridge.topOn.reward(...) //请参考 ATRewardedVideoDelegate代理方法 case "reward": { switch (res.action) { //开始播放 case "startPlaying": { break; } //结束播放 case "endPlaying": { break; } //播放失败 case "failToPlay": { break; } //激励达成 case "rewardSuccess": { jsBridge.toast("奖励已达成!"); break; } //点击 case "click": { break; } //关闭 case "close": { break; } case "deepLinkOrJump": { break; } case "againStartPlaying": { break; } case "againEndPlaying": { break; } case "againFailToPlay": { break; } case "againClick": { break; } case "againRewardSuccess": { break; } } break; } //插屏广告 jsBridge.topOn.interstitial(...) //请参考 ATInterstitialDelegate代理方法 case "interstitial": { switch (res.action) { //展示 case "show": { break; } //展示失败 case "failedToShow": { break; } //播放开始 case "startPlaying": { break; } //播放结束 case "endPlaying": { break; } //播放失败 case "failToPlay": { break; } //点击 case "click": { break; } //关闭 case "close": { break; } case "deepLinkOrJump": { break; } case "LPClose": { break; } } break; } //横幅广告 jsBridge.topOn.banner(...) //请参考 ATBannerDelegate代理方法 case "banner": { switch (res.action) { //展示 case "show": { break; } //自动刷新 case "autoRefresh": { break; } //自动刷新失败 case "failToAutoRefresh": { break; } //点击 case "click": { break; } //关闭 case "close": { break; } case "deepLinkOrJump": { break; } case "LPClose": { break; } } break; } } //此函数仅用于显示回调参数在本 DEMO 页面上 showResult({ event: event, res : res }); /** 回调参数 res 数据结构 { action: string, 动作名称 data: { adId : string, 广告位ID error: undefined || string,失败时的错误信息 extra: undefined || object,附加信息 } } **/ }); //请拉到页面底部查看回调数据信息 $('html,body').animate({ scrollTop: $('#view').offset().top }, 500);
//移除监听器,不会再收到回调通知 //在需要时可重新调用 setListener jsBridge.topOn.removeListener();
广告
adId:
sceneId:
show:
//激励视频,setListener 的监听回调 event 为 reward jsBridge.topOn.reward({ //广告位ID adId: "{{reward.adId}}", //场景ID sceneId: "{{reward.sceneId}}", //加载或展示广告 //false 加载广告(不展示) //true 展示广告(需加载完成) show: {{reward.show}}, //可选,广告加载扩展参数,任意键值对 extra: { key1: "hello", key2: "world" } }, function(success, res) { if (!success) { if (res.errorCode == 2) { alert("not ready 广告未加载完成"); } else { alert(JSON.stringify(res)); } } });
adId:
sceneId:
show:
//激励视频,setListener 的监听回调 event 为 reward jsBridge.topOn.interstitial({ //广告位ID adId: "{{interstitial.adId}}", //场景ID sceneId: "{{interstitial.sceneId}}", //加载或展示广告 //false 加载广告(不展示) //true 展示广告(需加载完成) show: {{interstitial.show}}, //可选,广告加载扩展参数,任意键值对 extra: { key1: "hello", key2: "world" } }, function(success, res) { if (!success) { if (res.errorCode == 2) { alert("not ready 广告未加载完成"); } else { alert(JSON.stringify(res)); } } });
adId:
top:
sceneId:
show:
//横幅,setListener 的监听回调 event 为 banner jsBridge.topOn.banner({ //字符串类型,广告平台上申请的代码位id adId: "{{banner.adId}}", //场景ID sceneId: "{{banner.sceneId}}", //加载或展示广告 //false 加载广告(不展示) //true 展示广告(需加载完成) show: {{banner.show}}, //数字类型,到顶部的距离 top: {{banner.top}}, //可选,广告加载扩展参数,任意键值对 extra: { key1: "hello", key2: "world" } }, function(success, res) { if (!success) { if (res.errorCode == 2) { alert("not ready 广告未加载完成"); } else { alert(JSON.stringify(res)); } } });
adId:
bottom:
//横幅,setListener 的监听回调 event 为 Banner jsBridge.topOn.banner({ adId: "{{banner.adId}}", //场景ID sceneId: "{{banner.userId}}", //加载或展示广告 //false 加载广告(不展示) //true 展示广告(需加载完成) show: {{banner.show}}, //数字类型,到底部的距离 bottom: {{banner.bottom}} }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//横幅 jsBridge.topOn.banner({ remove: true }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
监听回调数据: