敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20261021.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
事件监听
• 如需接口调用事件,请设置此监听器;
jsBridge.turbo.setListener(function(event, data) {
switch (event) {
//开屏广告 jsBridge.turbo.splash(...)
case "splash": {
switch (data.action) {
//加载成功
case "onSplashAdLoad": {
break;
}
//展示
case "onSplashAdShow": {
break;
}
//失败
case "onSplashAdError": {
break;
}
//超时
case "onAdLoadTimeout": {
break;
}
//没有填充
case "onNoAdError": {
break;
}
//点击
case "onAdClick": {
break;
}
//关闭
case "onSplashAdDismiss": {
break;
}
}
break;
}
//激励视频 jsBridge.turbo.reward(...)
case "reward": {
switch (data.action) {
//加载成功
case "onRewardAdLoadSuccess": {
break;
}
//加载失败
case "onRewardAdLoadError": {
break;
}
//开始播放
case "onRewardAdPlayStart": {
break;
}
//播放错误
case "onRewardAdPlayError": {
break;
}
//播放结束
case "onRewardAdPlayEnd": {
break;
}
//点击
case "onRewardAdClicked": {
break;
}
//关闭
case "onRewardAdClosed": {
break;
}
//激励成功
case "onRewardSuccess": {
jsBridge.toast('激励达成')
break;
}
}
break;
}
//插全屏 jsBridge.turbo.interstitial(...)
case "interstitial": {
switch (data.action) {
//加载成功
case "onInterstitialAdLoad": {
break;
}
//加载失败
case "onInterstitialAdLoadFail": {
break;
}
//展示
case "onInterstitialAdShow": {
break;
}
//失败
case "onInterstitialAdError": {
break;
}
//开始播放
case "onInterstitialAdPlay": {
break;
}
//结束
case "onInterstitialAdEnd": {
break;
}
//点击
case "onInterstitialAdClick": {
break;
}
//关闭
case "onInterstitialAdDismiss": {
break;
}
}
break;
}
//横幅 jsBridge.turbo.banner(...)
case "banner": {
switch (data.action) {
//加载成功
case "onBannerAdLoadSuccess": {
break;
}
//加载失败
case "onBannerAdLoadError": {
break;
}
//展示
case "onBannerAdShown": {
break;
}
//刷新
case "onBannerAdAutoRefreshed": {
break;
}
//刷新失败
case "onBannerAdAutoRefreshFail": {
break;
}
//点击
case "onBannerAdClicked": {
break;
}
//关闭
case "onBannerAdClosed": {
break;
}
}
break;
}
}
//此函数仅用于显示回调参数在本 DEMO 页面上
showResult({
event: event,
data: data
});
});
//请拉到页面底部查看回调数据信息
$('html,body').animate({ scrollTop: $('#view').offset().top }, 500);
/**
回调参数说明:
event - 事件代码,字符串
data - 事件数据,JSON 对象
**/
//移除监听器,不会再收到回调通知 //在需要时可重新调用 setListener jsBridge.turbo.removeListener();
媒体
//获取当前初始化的媒体信息
jsBridge.turbo.getMedia(function(success, res) {
/* res: {
appId: string, //媒体应用 ID
splashCodeId: string, //开屏广告ID
debug: boolean, //是否调试模式
closeCollectInfo: boolean, //是否关闭信息收集(上架应用市场建议关闭)
channel: string, //渠道名称
initSuccess: boolean, //SDK 是否初始化成功
initErrMsg: string //SDK 初始化失败时的错误描述
}
*/
alert(JSON.stringify(res));
});
appId:
splashCodeId:
debug:
closeCollectInfo:
channel:
//设置下次启动进程时(冷启动 APP)的初始化媒体信息
jsBridge.turbo.setMedia({
//媒体应用 ID
appId: "{{setMedia.appId}}",
//开屏广告位 ID,如果不为空则打开 App 时自动展示开屏广告
splashCodeId: "{{setMedia.splashCodeId}}",
//是否启用调试模式
debug: {{setMedia.debug}},
//是否关闭信息收集
closeCollectInfo: {{setMedia.closeCollectInfo}},
//渠道名称
channel: "{{setMedia.channel}}"
}, function(success, res) {
if (success) {
alert("已设置,请重启进程。");
} else {
alert(JSON.stringify(res));
}
});
广告
codeId:
timeout:
//开屏广告
//如果在打包插件上配置了开屏广告位 ID 则无需调用此接口,启动 APP 时会自动调用展示开屏广告。
jsBridge.turbo.splash({
//开屏广告位 ID
codeId: "{{splash.codeId}}",
//加载广告超时时间(毫秒)
timeout: {{splash.timeout}}
}, function(success, res) {
if (!success) {
alert(JSON.stringify(res));
}
});
codeId:
userId:
//激励视频
jsBridge.turbo.reward({
//广告位 ID
codeId: "{{reward.codeId}}",
//用户ID,一般用于服务器端回调
userId: "{{reward.userId}}",
//任意键值对,一般用于服务器端回调
extraData: {
key1: "value2",
key2: "value2"
}
}, function(succ, res) {
if (!succ) {
alert(JSON.stringify(res));
}
});
codeId:
jsBridge.turbo.interstitial({
//广告位 ID
codeId: "{{interstitial.codeId}}"
}, function(succ, res) {
if (!succ) {
alert(JSON.stringify(res));
}
});
codeId:
//横幅广告,实际上时浮在web页面上的一块区域
jsBridge.turbo.banner({
//广告位 ID
codeId: "{{banner.codeId}}",
//到顶部间距
top: 20,
//宽度
width: 320,
//高度
height: 100
}, function(succ, res) {
if (!succ) {
alert(JSON.stringify(res));
}
});
codeId:
jsBridge.turbo.banner({
//广告位 ID
codeId: "{{banner.codeId}}",
//到底部的间距
bottom: 20,
//宽度
width: 320,
//高度
height: 100
}, function(succ, res) {
if (!succ) {
alert(JSON.stringify(res));
}
});
jsBridge.turbo.banner({
remove: true
}, function(succ, res) {
if (!succ) {
alert(JSON.stringify(res));
}
});
监听回调数据: