tobid -九游会j9备用网址

webapp快捷打包
tobid
转到模块插件

敬告:此 demo 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,九游会j9备用网址-j9九游会登录入口首页新版

js-sdk 引用方式:

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

♦ js module 方式引用:npm install ym-jsbridge

事件监听

setlistener 设置监听器

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

jsbridge.tobid.setlistener(function(event, data) {
    switch (event) {
        //激励视频 jsbridge.tobid.reward(...)
        case "reward": {
            switch (data.action) {
                //加载成功
                case "onvideoadloadsuccess": {
                    break;
                }
                //播放开始
                case "onvideoadplaystart": {
                    break;
                }
                //播放结束
                case "onvideoadplayend": {
                    break;
                }
                //激励达成
                case "onvideorewarded": {
                    jsbridge.toast("奖励已达成!");
                    break;
                }
                //点击
                case "onvideoadclicked": {
                    break;
                }
                //关闭
                case "onvideoadclosed": {
                    break;
                }
                //加载失败,data.message 为失败说明
                case "onvideoadloaderror": {
                    break;
                }
                //播放失败,data.message 为失败说明
                case "onvideoadplayerror": {
                    break;
                }
            }
            break;
        }
        //插屏广告 jsbridge.tobid.interstitial(...)
        case "interstitial": {
            switch (data.action) {
                //加载成功
                case "oninterstitialadloadsuccess": {
                    break;
                }
                //播放开始
                case "oninterstitialadplaystart": {
                    break;
                }
                //播放结束
                case "oninterstitialadplayend": {
                    break;
                }
                //点击
                case "oninterstitialadclicked": {
                    break;
                }
                //关闭
                case "oninterstitialadclosed": {
                    break;
                }
                //加载失败,data.message 为失败说明
                case "oninterstitialadloaderror": {
                    break;
                }
                //播放失败,data.message 为失败说明
                case "oninterstitialadplayerror": {
                    break;
                }
            }
        }
        //横幅广告 jsbridge.tobid.banner(...)
        case "banner": {
            switch (data.action) {
                //加载成功
                case "onadloadsuccess": {
                    break;
                }
                //显示
                case "onadshown": {
                    break;
                }
                //点击
                case "onadclicked": {
                    break;
                }
                //关闭
                case "onadclosed": {
                    break;
                }
                //刷新
                case "onadautorefreshed": {
                    break;
                }
                //加载失败,data.message 为失败说明
                case "onadloaderror": {
                    break;
                }
                //刷新失败,data.message 为失败说明
                case "onadautorefreshfail": {
                    break;
                }
            }
            break;
        }
        //快手短剧 jsbridge.tobid.kstube(...)
        case "kstube": {
            switch (data.action) {
                case "onpageenter": {
                    break;
                }
                case "onpageresume": {
                    break;
                }
                case "onpagepause": {
                    break;
                }
                case "onpageleave": {
                    break;
                }
                case "onvideoplaystart": {
                    break;
                }
                case "onvideoplaypaused": {
                    break;
                }
                case "onvideoplayresume": {
                    break;
                }
                case "onvideoplaycompleted": {
                    break;
                }
                case "onvideoplayerror": {
                    break;
                }
                case "ontubechannelclick": {
                    break;
                }
                case "isneedblock": {
                    break;
                }
                case "showadifneeded": {
                    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.tobid.removelistener();

权限

requestpermissionifnecessary 申请隐私权限

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

展示广告

reward 激励视频 - 加载成功后立即显示广告

adid:

userid:

//激励视频,setlistener 的监听回调 event 为 reward
jsbridge.tobid.reward({
  //必须,广告平台上申请的代码位id
  adid: "{{reward.adid}}",
  //可选,用户标识,用于
  userid: "{{reward.userid}}",
  //可选,广告加载扩展参数,任意键值对
  extra: {
    key1: "hello",
    key2: "world"
  },
  //可选,广告展示扩展参数,任意键值对
  showoptions: {
    key1: "123456"
  }
}, function(succ, res) {
  if (!succ) {
    alert(json.stringify(res));
  }
});

reward 激励视频 - 预加载广告,不显示

adid:

jsbridge.tobid.reward({
  //必须,广告平台上申请的代码位id
  adid: "{{reward.adid}}",
  //可选,用户标识,用于
  userid: "{{reward.userid}}",
  //可选,广告加载扩展参数,任意键值对
  extra: {
    key1: "hello",
    key2: "world"
  },
  //预加载广告,不显示。setlistener 回调 onvideoadloadsuccess 时表示加载成功
  preloadad: true
}, function(succ, res) {
  if (!succ) {
    alert(json.stringify(res));
  }
});

reward 激励视频 - 显示已成功预加载的广告

jsbridge.tobid.reward({
  //显示已成功预加载的广告
  showad: true,
  //可选,广告展示扩展参数,任意键值对
  showoptions: {
    key1: "123456"
  }
}, function(succ, res) {
  if (!succ) {
    alert(json.stringify(res));
  }
});

interstitial 插屏广告

adid:

userid:

//插屏广告,setlistener 的监听回调 event 为 interstitial
jsbridge.tobid.interstitial({
  //必须,广告平台上申请的代码位id
  adid: "{{interstitial.adid}}",
  //可选,用户标识
  userid: "{{interstitial.userid}}",
  //可选,广告加载扩展参数,任意键值对
  extra: {
    key1: "hello",
    key2: "world"
  },
  //可选,广告展示扩展参数,任意键值对
  showoptions: {
    key1: "123456"
  }
}, function(succ, res) {
  if (!succ) {
    alert(json.stringify(res));
  }
});

banner 横幅广告

adid:

userid:

marginstart:

marginend:

margintop:

marginbottom:

//插屏广告,setlistener 的监听回调 event 为 banner
jsbridge.tobid.banner({
  //必须,广告平台上申请的代码位id
  adid: "{{banner.adid}}",
  //可选,用户标识
  userid: "{{banner.userid}}",
  //可选,期望的宽度
  width: 0,
  //可选,期望的高度
  height: 0,
  //可选,左边距(rtl环境时为右边距)
  marginstart: {{banner.marginstart}},
  //可选,右边距(rtl环境时为左边距)
  marginend: {{banner.marginend}},
  //可选,上边距
  margintop: {{banner.margintop}},
  //可选,下边距(如果 >= 0 则居底,否则请设为 -1)
  marginbottom: {{banner.marginbottom}}
}, function(succ, res) {
  if (!succ) {
    alert(json.stringify(res));
  }
});

kstube 快手短剧

adid:

freeepisodecount:

unlockepisodecount:

userid:

username:

showtitlebar:

disableunlocktipdialog:

disableautoopenplaypage:

disableshowtubepanelentry:

hidedetailtitlebar:

hidedetailplayseekbar:

hidedetailbottomtitle:

hidedetailbottomdesc:

//快手短剧,setlistener 的监听回调 event 为 kstube
jsbridge.tobid.kstube({
  //广告id,数字类型
  adid: {{kstube.adid}},
  //每个剧集前n集免费
  freeepisodecount: {{kstube.freeepisodecount}},
  //每次解锁x集
  unlockepisodecount: {{kstube.unlockepisodecount}},
  //配置您app的当前⽤户id
  userid: "{{kstube.userid}}",
  //配置您app的当前⽤户名称
  username: "{{kstube.username}}",
  //是否展示顶部titlebar
  showtitlebar: {{kstube.showtitlebar}},
  //是否关闭sdk的解锁提示弹框,默认 false
  disableunlocktipdialog: {{kstube.disableunlocktipdialog}},
  //是否关闭sdk⾃动打开短剧播放⻚,默认 false
  disableautoopenplaypage: {{kstube.disableautoopenplaypage}},
  //是否关闭短剧播放⻚的选集⼊⼝,默认 false
  disableshowtubepanelentry: {{kstube.disableshowtubepanelentry}},
  //隐藏详情标题栏
  hidedetailtitlebar: {{kstube.hidedetailtitlebar}},
  //隐藏详情进度
  hidedetailplayseekbar: {{kstube.hidedetailplayseekbar}},
  //隐藏详情底部标题
  hidedetailbottomtitle: {{kstube.hidedetailbottomtitle}},
  //隐藏详情底部描述
  hidedetailbottomdesc: {{kstube.hidedetailbottomdesc}}
}, function(succ, res) {
  if (!succ) {
    alert(json.stringify(res));
  }
});

最佳实践

激励视频 adid:

//引用 js 库
//import jsbridge from 'ym-jsbridge'
const showreward = function (jsbridge) {
    //设置监听器
    jsbridge.tobid.setlistener(function (event, data) {
        switch (event) {
            //激励视频
            case "reward": {
                switch (data.action) {
                    //加载成功
                    case "onvideoadloadsuccess": {
                        //关闭加载动画
                        layer.closeall();
                        break;
                    }
                    //失败,data.message 为失败说明
                    case "onvideoadloaderror":
                    case "onvideoadplayerror": {
                        //关闭加载动画
                        layer.closeall();
                        //提示失败
                        layer.msg("广告加载失败:"   data.message);
                        break;
                    }
                    //激励达成
                    case "onvideorewarded": {
                        //奖励达成,客户端仅做简单提示;
                        //为避免刷单,强烈建议在处理服务器端通知时发放奖励;
                        jsbridge.toast("奖励已达成!");
                        break;
                    }
                }
                break;
            }
        }
    });
    //展示广告
    jsbridge.tobid.reward({
        //字符串类型,广告平台上申请的代码位id
        adid: "{{practicereward.adid}}",
        //可选,用户标识,一般为用户id,以便在处理服务器通知时给此用户发放奖励
        userid: "user123",
    }, function (success, res) {
        if (success) {
            //执行成功,显示加载动画(拉取广告需要一点时间)
            layer.load(0, { shade: 0.2 });
        } else {
            //执行失败
            layer.alert(json.stringify(res));
        }
    });
};
showreward(jsbridge);

监听回调数据:

网站地图