敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20241115.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
♦ 如需使用开屏广告,请在插件配置开屏广告位ID。
• 如需接口调用事件,请设置此监听器;
jsBridge.zj.setListener(function(event, data) { switch (event) { //激励视频 jsBridge.zj.rewardVideo(...) case "RewardVideo": { switch (data.action) { //广告请求成功 case "onZjAdLoaded": { break; } //视频素材缓存成功,可在此回调后进行广告展示 case "onZjAdVideoCached": { break; } //激励视频广告页面展示 case "onZjAdShow": { break; } //广告展示出错 case "onZjAdShowError": { break; } //激励视频广告被点击 case "onZjAdClick": { break; } //激励视频播放完毕 case "onZjAdVideoComplete": { break; } //激励视频触发激励(观看视频大于一定时长或者视频播放完毕) //可以在此回调中发放奖励 case "onZjAdReward": { jsBridge.toast("奖励已达成!"); break; } //激励视频广告被关闭 case "onZjAdClose": { break; } //广告流程出错 case "onZjAdError": { break; } } break; } //插屏 jsBridge.zj.interstitial(...) case "Interstitial": { switch (data.action) { //加载成功 case "onZjAdLoaded": { break; } //广告展示 case "onZjAdShow": { break; } //广告点击 case "onZjAdClicked": { break; } //广告关闭 case "onZjAdClosed": { break; } //广告错误 case "onZjAdError": { break; } } break; } //全屏视频 jsBridge.zj.fullScreenVideo(...) case "FullScreenVideo": { switch (data.action) { //加载成功 case "onZjAdLoaded": { break; } //广告展示 case "onZjAdShow": { break; } //广告点击 case "onZjAdClicked": { break; } //广告关闭 case "onZjAdClosed": { break; } //广告错误 case "onZjAdError": { break; } } break; } //短视频 jsBridge.zj.contentVideo(...) case "ContentVideo": { switch (data.action) { //加载成功 case "onZjAdLoadSuccess": { break; } //加载失败 case "onZjAdLoadError": { break; } //展示成功 case "onZjAdShowSuccess": { break; } //展示失败 case "onZjAdShowError": { break; } } break; } //横幅 jsBridge.zj.banner(...) case "Banner": { switch (data.action) { //加载成功 case "onZjAdLoaded": { break; } //广告展示 case "onZjAdShow": { break; } //广告点击 case "onZjAdClicked": { break; } //广告关闭 case "onZjAdClosed": { break; } //广告错误 case "onZjAdError": { break; } } break; } //H5内容 jsBridge.zj.h5(...) case "H5": { switch (data.action) { //加载成功 case "onZjAdLoad": { break; } //页面关闭 case "onZjAdClose": { break; } //交互事件 case "onZjAdEvent": { break; } //错误 case "onZjAdError": { break; } } break; } //任务 jsBridge.zj.task(...) case "Task": { switch (data.action) { //加载成功 case "onZjAdLoaded": { break; } //错误 case "onZjAdError": { break; } } break; } } //此函数仅用于显示回调参数在本 DEMO 页面上 showResult({ event: event, data : data }); }); //请拉到页面底部查看回调数据信息 $('html,body').animate({ scrollTop: $('#view').offset().top }, 500); /** 回调参数说明: event - 事件代码,字符串类型 data - 事件数据,JSON 对象 **/
//移除监听器,不会再收到回调通知 //在需要时可重新调用 setListener jsBridge.zj.removeListener();
媒体
//仅支持 Android //获取当前初始化的媒体信息 jsBridge.zj.getMedia(function(succ, res) { /* res: { mediaId : "", //媒体ID splashPosId: "", //开屏广告ID initSuccess: true,//是否已初始化成功 } */ alert(JSON.stringify(res)); });
mediaId:
splashPosId:
//仅支持 Android //设置下次启动进程时的初始化媒体信息 jsBridge.zj.setMedia({ //媒体ID,如果留空则使用插件配置里面填写的媒体ID mediaId: "{{setMedia.mediaId}}", //开屏广告位ID,如果 mediaId 留空则会忽略此参数 splashPosId: "{{setMedia.splashPosId}}" }, function(succ, res) { if (succ) { alert("已设置,请重启进程。"); } else { alert(JSON.stringify(res)); } });
业务接口
posId:
//激励视频,监听 event 为 RewardVideo jsBridge.zj.rewardVideo({ //必须,字符串类型,激励视频广告位ID posId : "{{rewardVideo.posId}}", //用户标识,一般为用户账号ID,以便在处理服务器通知时给此用户发放奖励 userId : "user123", //附加信息 extra : "任意字符串" }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
posId:
//插屏,监听 event 为 Interstitial jsBridge.zj.interstitial({ //必须,字符串类型,插屏广告位ID posId: "{{interstitial.posId}}" }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
posId:
//全屏视频,监听 event 为 FullScreenVideo jsBridge.zj.fullScreenVideo({ //必须,字符串类型,全屏视频广告位ID posId: "{{fullScreenVideo.posId}}" }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
posId:
//短视频内容,监听 event 为 ContentVideo jsBridge.zj.contentVideo({ //字符串类型,短视频内容广告ID posId: "{{contentVideo.posId}}" }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
posId:
num:
width:
height:
marginTop:
marginBottom:
marginStart:
marginEnd:
//横幅Banner,监听 event 为 Banner jsBridge.zj.banner({ //字符串类型,Banner广告位ID posId: "{{banner.posId}}", //数量 num: {{banner.num}}, //期望宽度px,0 则满屏宽度 width: {{banner.width}}, //期望高度px,0 则自动高度 height: {{banner.height}}, //顶边距px marginTop: {{banner.marginTop}}, //底边距px marginBottom: {{banner.marginBottom}}, //左边距(RTL环境时为右边距)px marginStart: {{banner.marginStart}}, //右边距(RTL环境时为左边距)px marginEnd: {{banner.marginEnd}}, }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//移除横幅,监听 event 为 Banner jsBridge.zj.banner({ remove: true }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
posId:
//H5内容页,监听 event 为 H5 jsBridge.zj.h5({ //必须,字符串类型,广告位ID posId: "{{h5.posId}}", //必须,用户信息 user : { //用户ID userID : "13800138000", //用户名 userName : "张三", //用户头像URL userAvatar : "https://scpic.chinaz.net/Files/pic/icons128/8027/d1.png", //用户积分 userIntegral: 123, //可选,附加信息 ext : "" } }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
posId:
page:
userId:
title:
darkTheme:
//仅支持 Android 平台 //任务墙,监听 event 为 Task jsBridge.zj.task({ //必须,字符串类型,广告位ID posId : "{{task.posId}}", //必须、字符串类型,可选值为: //cpa CPA任务页 //cpl CPL任务页 //history 任务记录页 page : "{{task.page}}", //用户ID userId: "{{task.userId}}", //标题 title : "{{task.title}}", //是否显示为深色主题 darkTheme: {{task.darkTheme}} }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
监听回调数据: