WebApp快捷打包
妥信 Tosin 广告
转到模块插件

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

JS-SDK 引用方式:

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

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

事件监听

setListener 设置监听器

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

jsBridge.tosin.setListener(function(event, data) {
    switch (event) {
        //开屏广告 jsBridge.tosin.splash(...)
        case "splash": {
            switch (data.action) {
                //加载成功
                case "onLoadSuccess": {
                    break;
                }
                //加载失败
                case "onLoadFail": {
                    break;
                }
                //展示成功
                case "onShow": {
                    break;
                }
                //展示失败
                case "onShowFail": {
                    break;
                }
                //曝光
                case "onExposure": {
                    break;
                }
                //关闭
                case "onDismiss": {
                    break;
                }
                //点击
                case "onClicked": {
                    break;
                }
            }
            break;
        }
        //激励视频 jsBridge.tosin.reward(...)
        case "reward": {
            switch (data.action) {
                //加载成功
                case "onLoadSuccess": {
                    break;
                }
                //加载失败
                case "onLoadFail": {
                    break;
                }
                //展示成功
                case "onADShow": {
                    break;
                }
                //展示失败
                case "onADShowError": {
                    break;
                }
                //曝光
                case "onExposure": {
                    break;
                }
                //关闭
                case "onAdClose": {
                    break;
                }
                //点击
                case "onADClick": {
                    break;
                }
                //播放完成
                case "onVideoComplete": {
                    break;
                }
                //发放奖励
                case "onRewardVerify": {
                    jsBridge.toast('激励达成')
                    break;
                }
            }
            break;
        }
        //插全屏 jsBridge.tosin.interstitial(...)
        case "interstitial": {
            switch (data.action) {
                //加载成功
                case "onLoadSuccess": {
                    break;
                }
                //加载失败
                case "onLoadFail": {
                    break;
                }
                //展示成功
                case "onShow": {
                    break;
                }
                //展示失败
                case "onShowError": {
                    break;
                }
                //关闭
                case "onAdClose": {
                    break;
                }
                //点击
                case "onADClick": {
                    break;
                }
                //曝光
                case "onExposure": {
                    break;
                }
            }
            break;
        }
        //Banner jsBridge.tosin.banner(...)
        case "banner": {
            switch (data.action) {
                //加载成功
                case "onLoadSuccess": {
                    break;
                }
                //加载失败
                case "onLoadFail": {
                    break;
                }
                //展示成功
                case "onADShow": {
                    break;
                }
                //展示失败
                case "onADShowError": {
                    break;
                }
                //关闭
                case "onAdClose": {
                    break;
                }
                //点击
                case "onADClick": {
                    break;
                }
            }
            break;
        }
    }
    //此函数仅用于显示回调参数在本 DEMO 页面上
    showResult({
        event: event,
        data: data
    });
});

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

/**
回调参数说明:
event - 事件代码,字符串
data  - 事件数据,JSON 对象
**/

removeListener 移除监听器

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

媒体

getMedia 获取当前初始化的媒体信息

//获取当前初始化的媒体信息
jsBridge.tosin.getMedia(function(success, res) {
  /* res: {
    appId: number,         //媒体应用 ID
    splashCodeId: string,  //开屏广告ID
    debug: boolean,        //是否调试模式
    personalAd: boolean,   //是否启用个性化推荐
    initSuccess: boolean,  //SDK 是否初始化成功
    initErrMsg: string     //SDK 初始化失败时的错误描述
  }
  */
  alert(JSON.stringify(res));
});

setMedia 设置下次启动进程时的初始化媒体信息

appId:

splashPosId:

//设置下次启动进程时(冷启动 APP)的初始化媒体信息
jsBridge.tosin.setMedia({
  //媒体应用 ID,0 则使用打包平台配置的媒体应用 ID,null 则保持不变
  appId: "{{setMedia.appId}}",
  //开屏广告位 ID,如果不为空则打开 App 时自动展示开屏广告
  splashCodeId: "{{setMedia.splashCodeId}}",
  //是否启用调试模式
  debug: {{setMedia.debug}},
  //是否启用个性化推荐
  personalAd: {{setMedia.personalAd}}
}, function(success, res) {
  if (success) {
    alert("已设置,请重启进程。");
  } else {
    alert(JSON.stringify(res));
  }
});

隐私控制

getCustomController 获取隐私信息控制开关

jsBridge.tosin.getCustomController(function(success, res) {
  //res 说明见 setCustomController 接口
  alert(JSON.stringify(res));
});

setCustomController 设置隐私信息控制开关

canReadLocation:

canUsePhoneState:

canUseAndroidId:

canUseMacAddress:

canUseOaid:

canGetInstallPackages:

canUsePermissionRecordAudio:

canUseWifiState:

canUseWriteExternal:

//设置后请重启进程(冷启动 APP)生效
jsBridge.tosin.setCustomController({
  //是否可以读取设备位置信息
  canReadLocation: {{setCustomController.canReadLocation}},
  //是否可以获取设备IMEI等信息
  canUsePhoneState: {{setCustomController.canUsePhoneState}},
  //是否可以读取设备 Android Id
  canUseAndroidId: {{setCustomController.canUseAndroidId}},
  //是否可以读取设备 mac address
  canUseMacAddress: {{setCustomController.canUseMacAddress}},
  //是否可以读取设备 oaid
  canUseOaid: {{setCustomController.canUseOaid}},
  //是否可以读取设备安装包信息
  canGetInstallPackages: {{setCustomController.canGetInstallPackages}},
  //是否可以使用设备录音
  canUsePermissionRecordAudio: {{setCustomController.canUsePermissionRecordAudio}},
  //是否可以使用设备 ACCESS_WIFI_STATE
  canUseWifiState: {{setCustomController.canUseWifiState}},
  //是否可以写入外部存储
  canUseWriteExternal: {{setCustomController.canUseWriteExternal}}
}, function(success, res) {
  if (success) {
    alert("已设置,请重启进程。");
  } else {
    alert(JSON.stringify(res));
  }
});

展示广告

splash 开屏广告

codeId:

timeout:

//开屏广告
//如果在打包插件上配置了开屏广告位 ID 则无需调用此接口,启动 APP 时会自动调用展示开屏广告。
jsBridge.tosin.splash({
  //开屏广告位 ID
  codeId: "{{splash.codeId}}",
  //加载广告超时时间(毫秒)
  timeout: {{splash.timeout}}
}, function(succ, res) {
  if (!succ) {
    alert(JSON.stringify(res));
  }
});

reward 激励视频

codeId:

userId:

extraData:

//激励视频
jsBridge.tosin.reward({
  //广告位 ID
  codeId: "{{reward.codeId}}",
  //用户ID,一般用于激励视频回调
  userId: "{{reward.userId}}",
  //任意自定义数据,一般用于激励视频回调
  extraData: "{{reward.extraData}}"
}, function(succ, res) {
  if (!succ) {
    alert(JSON.stringify(res));
  }
});

interstitial 插屏广告

codeId:

jsBridge.tosin.interstitial({
  //广告位 ID
  codeId: "{{interstitial.codeId}}"
}, function(succ, res) {
  if (!succ) {
    alert(JSON.stringify(res));
  }
});

banner Banner1

codeId:

//横幅广告,实际上时浮在web页面上的一块区域
jsBridge.tosin.banner({
  //广告位 ID
  codeId: "{{banner.codeId}}",
  //到顶部间距
  top: 20,
  //宽度
  width: 320,
  //高度
  height: 100
}, function(succ, res) {
  if (!succ) {
    alert(JSON.stringify(res));
  }
});

banner Banner2

codeId:

jsBridge.tosin.banner({
  //广告位 ID
  codeId: "{{banner.codeId}}",
  //到底部的间距
  bottom: 20,
  //宽度
  width: 320,
  //高度
  height: 100
}, function(succ, res) {
  if (!succ) {
    alert(JSON.stringify(res));
  }
});

banner Banner - 移除

jsBridge.tosin.banner({
  remove: true
}, function(succ, res) {
  if (!succ) {
    alert(JSON.stringify(res));
  }
});

监听回调数据: