WebApp快捷打包
麦智杰广告
转到模块插件

敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多

JS-SDK 引用方式:

♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20240925.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;

♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package

麦智杰广告

事件监听

setListener 设置监听器

• 如需处理接口调用事件,请设置此监听器;

jsBridge.tb.setListener(function(event, data) {
    switch (event) {
        //激励视频 jsBridge.tb.rewardVideo(...)
        case "RewardVideo": {
            switch (data.action) {
                //广告加载失败,data.message 为加载失败说明(如果重复请求,请做好次数和间隔限制,千万不要错误之后无限请求)
                case "onFail": {
                    break;
                }
                //视频被点击
                case "onClick": {
                    break;
                }
                //视频被关闭
                case "onClose": {
                    break;
                }
                //视频广告曝光,data.message 为 orderNo(如果使用服务器回调,需要将orderNo传给自己服务器)
                case "onExposure": {
                    break;
                }
                //视频广告加载完成,此时播放视频不卡顿,data.message 为 RewardPosition 对象的 json 字符串
                case "onRewardVideoCached": {
                    break;
                }
                //激励视频触发激励(观看视频大于一定时长或者视频播放完毕)
                case "onRewardVerify": {
                    jsBridge.toast("奖励已达成!");
                    break;
                }
            }
            break;
        }
        //短视频 jsBridge.tb.shortVideo(...)
        case "ShortVideo": {
            switch (data.action) {
                //加载失败,data.message 为加载失败说明
                case "onFail": {
                    break;
                }
                //离开页面
                case "onPageLeave": {
                    break;
                }
                //播放完成
                case "onVideoPlayCompleted": {
                    break;
                }
                //开始播放
                case "onVideoPlayStart": {
                    break;
                }
                //暂停播放
                case "onVideoPlayPaused": {
                    break;
                }
                //恢复播放
                case "onVideoPlayResume": {
                    break;
                }
            }
            break;
        }
        //插屏广告 jsBridge.tb.interaction(...)
        case "Interaction": {
            switch (data.action) {
                //广告加载失败,data.message 为加载失败说明(如果重复请求,请做好次数和间隔限制,千万不要错误之后无限请求)
                case "onFail": {
                    break;
                }
                //广告渲染成功
                case "onExposure": {
                    break;
                }
                //广告被关闭
                case "onDismiss": {
                    break;
                }
                //广告被点击
                case "onClicked": {
                    break;
                }
                //视频准备就绪开始播放(非视频广告不回调)
                case "onVideoReady": {
                    break;
                }
                //视频播放完成(非视频广告不回调)
                case "onVideoComplete": {
                    break;
                }
            }
            break;
        }
        //横幅广告 jsBridge.tb.banner(...)
        case "Banner": {
            switch (data.action) {
                //广告加载失败,data.message 为加载失败说明(如果重复请求,请做好次数和间隔限制,千万不要错误之后无限请求)
                case "onFail": {
                    break;
                }
                //广告渲染成功
                case "onExposure": {
                    break;
                }
                //广告被点击
                case "onClicked": {
                    break;
                }
                //广告被关闭
                case "onDismiss": {
                    break;
                }
            }
            break;
        }
    }
    //此函数仅用于显示回调参数在本 DEMO 页面上
    showResult({
        event: event,
        data : data
    });
});

//请拉到页面底部查看回调数据信息
$('html,body').animate({ scrollTop: $('#view').offset().top }, 500);

/**
回调参数说明:
event  //事件代码,字符串类型
data:  //事件数据,JSON 对象
{
  action : "onClick", //事件名称,字符串类型
  message: ""         //事件参数,字符串类型
}
**/

removeListener 移除监听器

//移除监听器,不会再收到回调通知
//在需要时可重新调用 setListener
jsBridge.tb.removeListener();

权限

requestPermissionIfNecessary 申请隐私权限

//不强制要求权限,但建议您申请,获得权限后能提升广告效果
jsBridge.tb.requestPermissionIfNecessary();

展示广告

rewardVideo 激励视频

codeId:

//激励视频,setListener 的监听回调 event 为 RewardVideo
jsBridge.tb.rewardVideo({
  //字符串类型,广告平台上申请的代码位id
  codeId: "{{rewardVideo.codeId}}",
  //字符串类型,一般为用户ID,以便在处理服务器通知时给此用户发放奖励
  userId: "user123",
  //数字类型,屏幕方向,0 竖屏, 1 横屏
  orientation: 0,
  //字符串类型,附加信息
  extraData: "",
  //字符串类型,渠道号
  channelNum: "",
  //字符串类型,渠道版本
  channelVersion: ""
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

shortVideo 短视频

codeId:

//短视频,setListener 的监听回调 event 为 ShortVideo
jsBridge.tb.shortVideo({
  //字符串类型,广告平台上申请的代码位id
  codeId: "{{shortVideo.codeId}}",
  channelNum: "",
  //字符串类型,渠道版本
  channelVersion: ""
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

interaction 插屏广告

codeId:

//插屏广告,setListener 的监听回调 event 为 Interaction
jsBridge.tb.interaction({
  //字符串类型,广告平台上申请的代码位id
  codeId: "{{interaction.codeId}}",
  //字符串类型,渠道号
  channelNum: "",
  //字符串类型,渠道版本
  channelVersion: "",
  //数字类型,期望模板宽度(高度自适应)
  viewWidth: 600
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

banner 横幅广告 - 展示广告 顶边距

codeId:

//横幅广告,setListener 的监听回调 event 为 Banner
jsBridge.tb.banner({
  //字符串类型,广告平台上申请的代码位id
  codeId: $("#banner").val(),
  //数字类型,到顶部的距离
  top   : 20,
  //字符串类型,渠道号
  channelNum: "",
  //字符串类型,渠道版本
  channelVersion: "",
  //数字类型,期望模板宽度(高度自适应)
  viewWidth: 350
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

banner 横幅广告 - 展示广告 底边距

//横幅广告,setListener 的监听回调 event 为 Banner
jsBridge.tb.banner({
  codeId: "1330513198897446943",
  //数字类型,到底部的距离
  bottom: 20,
  channelNum: "",
  channelVersion: "",
  viewWidth: 350
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

banner 横幅广告 - 移除广告

//横幅广告
jsBridge.tb.banner({
  remove: true
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

监听回调数据: