敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20250529.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);
广告
adId:
sceneId:
show:
//激励视频,setListener 的监听回调 event 为 reward
jsBridge.topOn.reward({
//广告位ID
adId: "b62b41f69c74b2",
//场景ID
sceneId: "game",
//加载或展示广告
//false 加载广告(不展示)
//true 展示广告(需加载完成)
show: false,
//可选,广告加载扩展参数,任意键值对
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: "b62b41f063412d",
//场景ID
sceneId: "game",
//加载或展示广告
//false 加载广告(不展示)
//true 展示广告(需加载完成)
show: false,
//可选,广告加载扩展参数,任意键值对
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: "b62b420ad701a7",
//场景ID
sceneId: "game",
//加载或展示广告
//false 加载广告(不展示)
//true 展示广告(需加载完成)
show: false,
//数字类型,到顶部的距离
top: 20,
//可选,广告加载扩展参数,任意键值对
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: "b62b420ad701a7",
//场景ID
sceneId: "",
//加载或展示广告
//false 加载广告(不展示)
//true 展示广告(需加载完成)
show: false,
//数字类型,到底部的距离
bottom: 20
}, function(succ, data) {
if (!succ) {
alert(JSON.stringify(data));
}
});
//横幅
jsBridge.topOn.banner({
remove: true
}, function(succ, data) {
if (!succ) {
alert(JSON.stringify(data));
}
});
监听回调数据: