敬告:此 demo 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,九游会国际-九游会真人第一品牌。
♦ js-sdk 引用方式:
♦ 普通网页 script 方式加载:下载最新版 ,请在页面上调用 jsbridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge
♦ 如需使用开屏广告,请在插件配置开屏广告位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.fullscreenvideo(...) case "fullscreenvideo": { switch (data.action) { //加载成功 case "onzjadloaded": { break; } //广告展示 case "onzjadshow": { break; } //广告点击 case "onzjadclicked": { break; } //广告资源缓存完成 case "onzjadvideocached": { break; } //广告关闭 case "onzjadclosed": { break; } //广告视频播放完毕(不要使用此回调判断用户行为,使用onzjadclosed回调确定) case "onzjadvideocomplete": { break; } //广告错误 case "onzjaderror": { break; } } break; } //短视频 jsbridge.zj.contentvideo(...) case "contentvideo": { switch (data.action) { //加载成功 case "onzjadloadsuccess": { break; } //加载失败 case "onzjadloaderror": { break; } //展示错误 case "onzjadshowerror": { break; } //进入页面 case "onpageenter": { break; } //离开页面 case "onpageleave": { break; } //开始播放 case "onvideostart": { break; } //暂停播放 case "onvideopaused": { break; } //恢复播放 case "onvideoresume": { break; } //结束播放 case "onvideocompleted": { break; } //视频错误 case "onvideoerror": { 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.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 "onzjadreward": { jsbridge.toast("奖励已达成!"); 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", //激励奖品名称 rewardname : "金币", //激励奖品数量 rewardamount: 12, //附加信息 extra : "任意字符串" }, 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:
//插屏,监听 event 为 interstitial jsbridge.zj.interstitial({ //必须,字符串类型,插屏广告位id posid: "{{interstitial.posid}}" }, function(succ, data) { if (!succ) { alert(json.stringify(data)); } });
posid:
width:
height:
margintop:
marginbottom:
marginstart:
marginend:
//横幅banner,监听 event 为 banner jsbridge.zj.banner({ //字符串类型,banner广告位id posid: $("#banner_posid").val(), //期望宽度px,0 则满屏宽度 width: parseint($("#banner_width").val()), //期望高度px,0 则自动高度 height: parseint($("#banner_height").val()), //顶边距px margintop: parseint($("#banner_margintop").val()), //底边距px marginbottom: parseint($("#banner_marginbottom").val()), //左边距(rtl环境时为右边距)px marginstart: parseint($("#banner_marginstart").val()), //右边距(rtl环境时为左边距)px marginend: parseint($("#banner_marginend").val()), //数字类型,刷新间隔(秒),为0或30~120之间的数字,单位为秒,0表示不自动轮播 refreshinterval: 35 }, 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").val(), //必须,用户信息 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").val(), //必须、字符串类型,可选值为: //cpa cpa任务页 //cpl cpl任务页 //history 任务记录页 page : $("#task_page").val(), //用户id userid: $("#task_userid").val(), //标题 title : $("#task_title").val(), //是否显示为深色主题 darktheme: json.parse($("#task_darktheme").val()) }, function(succ, data) { if (!succ) { alert(json.stringify(data)); } });
监听回调数据: