WebApp快捷打包
Google AdMob 广告
转到模块插件

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

JS-SDK 引用方式:

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

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

setListener 设置监听器

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


jsBridge.gad.setListener(function(event, data) {
    switch (event) {
        //激励广告 jsBridge.gad.reward(...)
        case "reward": {
            switch (data.action) {
                //广告加载成功
                case "onAdLoaded": {
                    break;
                }
                //展示
                case "onAdShowedFullScreenContent": {
                    break;
                }
                //关闭
                case "onAdDismissedFullScreenContent": {
                    break;
                }
                case "onAdImpression": {
                    break;
                }
                //点击
                case "onAdClicked": {
                    break;
                }
                //展示失败
                case "onAdFailedToShowFullScreenContent": {
                    break;
                }
                //激励视频触发激励(观看视频大于一定时长或者视频播放完毕)
                //可以在此回调中发放奖励
                //建议接入 验证服务器端验证 (SSV) 回调
                case "onUserEarnedReward": {
                    jsBridge.toast("奖励已达成!");
                    break;
                }
                //广告流程失败
                case "onAdFailedToLoad": {
                    break;
                }
            }
            break;
        }
        //插页式广告 jsBridge.gad.interstitial(...)
        case "interstitial": {
            switch (data.action) {
                //广告加载成功
                case "onAdLoaded": {
                    break;
                }
                //展示
                case "onAdShowedFullScreenContent": {
                    break;
                }
                //关闭
                case "onAdDismissedFullScreenContent": {
                    break;
                }
                case "onAdImpression": {
                    break;
                }
                //点击
                case "onAdClicked": {
                    break;
                }
                //展示失败
                case "onAdFailedToShowFullScreenContent": {
                    break;
                }
                //广告流程失败
                case "onAdFailedToLoad": {
                    break;
                }
            }
            break;
        }
        //插页式激励广告 jsBridge.gad.rewardInterstitial(...)
        case "rewardInterstitial": {
            switch (data.action) {
                //广告加载成功
                case "onAdLoaded": {
                    break;
                }
                //展示
                case "onAdShowedFullScreenContent": {
                    break;
                }
                //关闭
                case "onAdDismissedFullScreenContent": {
                    break;
                }
                case "onAdImpression": {
                    break;
                }
                //点击
                case "onAdClicked": {
                    break;
                }
                //展示失败
                case "onAdFailedToShowFullScreenContent": {
                    break;
                }
                //激励视频触发激励(观看视频大于一定时长或者视频播放完毕)
                //可以在此回调中发放奖励
                //建议接入 验证服务器端验证 (SSV) 回调
                case "onUserEarnedReward": {
                    jsBridge.toast("奖励已达成!");
                    break;
                }
                //广告流程失败
                case "onAdFailedToLoad": {
                    break;
                }
            }
            break;
        }
    }

    //此函数仅用于显示回调参数在本 DEMO 页面上
    showResult({
        event: event,
        data : data
    });
});

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

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

removeListener 移除监听器

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

广告接口

reward 激励广告

adId:

userId:

extra:

//激励广告,监听 event 为 reward
//建议接入 验证服务器端验证 (SSV) 回调
jsBridge.gad.reward({
  //必须,激励广告 ID
  adId: "{{reward.adId}}",
  //用户标识,一般为用户账号ID,以便在处理服务器通知时给此用户发放奖励
  userId: "{{reward.userId}}",
  //附加信息,任意字符串,一般用于服务器端验证回调时使用
  extra: "{{reward.extra}}"
}, function(success, res) {
  if (!success) {
    alert(JSON.stringify(res));
  }
});

interstitial 插页式广告

adId:

//插页式广告,监听 event 为 interstitial
jsBridge.gad.interstitial({
  //必须,插页式广告 ID
  adId: "{{interstitial.adId}}"
}, function(success, res) {
  if (!success) {
    alert(JSON.stringify(res));
  }
});

rewardInterstitial 插页式激励广告

adId:

userId:

extra:

//插页式激励广告,监听 event 为 rewardInterstitial
//建议接入 验证服务器端验证 (SSV) 回调
jsBridge.gad.rewardInterstitial({
  //必须,激励广告 ID
  adId: "{{rewardInterstitial.adId}}",
  //用户标识,一般为用户账号ID,以便在处理服务器通知时给此用户发放奖励
  userId: "{{rewardInterstitial.userId}}",
  //附加信息,任意字符串,一般用于服务器端验证回调时使用
  extra: "{{rewardInterstitial.extra}}"
}, function(success, res) {
  if (!success) {
    alert(JSON.stringify(res));
  }
});

最佳实践

激励广告 adId:

//引用 js 库
//import jsBridge from 'ym-jsbridge'

const showReward = function (jsBridge) {
    //设置监听器
    jsBridge.gad.setListener(function (event, data) {
        switch (event) {
            //激励广告
            case "reward": {
                switch (data.action) {
                    //展示成功
                    case "onAdShowedFullScreenContent": {
                        //关闭加载动画
                        layer.closeAll();
                        break;
                    }
                    //加载失败
                    case "onAdFailedToLoad":
                    //展示失败
                    case "onAdFailedToShowFullScreenContent": {
                        //关闭加载动画
                        layer.closeAll();
                        //提示失败
                        layer.msg(`失败:${JSON.stringify(data)}`);
                        break;
                    }
                    //激励达成
                    case "onUserEarnedReward": {
                        //奖励达成,客户端仅做简单提示;
                        //为避免刷单,强烈建议在处理服务器端通知时发放奖励;
                        jsBridge.toast("奖励已达成!");
                        break;
                    }
                }
                break;
            }
        }
    });
    //展示广告
    jsBridge.gad.reward({
        //激励广告 ID
        adId: "{{reward.adId}}",
        userId: "{{reward.userId}}",
        extra: "{{reward.extra}}"
    }, function (success, res) {
        if (success) {
            //执行成功,拉取广告需要一点时间,显示加载动画
            layer.load(0, { shade: 0.2 });
        } else {
            //执行失败
            layer.alert(JSON.stringify(res));
        }
    });
};
showReward(jsBridge);

监听回调数据: