敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20241118.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
♦ 今日头条 穿山甲GroMore,去申请接入 GroMore;
事件监听
• 如需接口调用事件,请设置此监听器;
jsBridge.ttGm.setListener(function(event, data) { switch (event) { //激励视频 jsBridge.ttGm.reward(...) case "reward": { switch (data.action) { //加载功取 case "onRewardVideoAdLoad": { break; } //缓冲完成 case "onRewardVideoCached": { break; } //加载失败,data.message 为失败说明 case "onRewardVideoLoadFail": { break; } //激励达成 case "onRewardVerify": { break; } //点击 case "onRewardClick": { break; } //关闭 case "onRewardedAdClosed": { break; } //展示 case "onRewardedAdShow": { break; } //展示失败 case "onRewardedAdShowFail": { break; } //跳过 case "onSkippedVideo": { break; } //播放完成 case "onVideoComplete": { break; } //视频错误 case "onVideoError": { break; } } break; } //插全屏 jsBridge.ttGm.interstitialFull(...) case "interstitialFull": { switch (data.action) { //加载功取 case "onInterstitialFullAdLoad": { break; } //缓冲完成 case "onInterstitialFullCached": { break; } //加载失败,data.message 为失败说明 case "onInterstitialFullLoadFail": { break; } //激励达成 case "onRewardVerify": { break; } //此方法会在用户点击打开其他应用(例如 Google Play)时于 onAdOpened() 之后调用 case "onAdLeftApplication": { break; } case "onAdOpened": { break; } //点击 case "onInterstitialFullClick": { break; } //关闭 case "onInterstitialFullClosed": { break; } //展示 case "onInterstitialFullShow": { break; } //展示失败 case "onInterstitialFullShowFail": { break; } //跳过视频播放(针对全屏广告) case "onSkippedVideo": { break; } //视频播放完毕(针对全屏广告) case "onVideoComplete": { break; } //视频播放失败(针对全屏广告) case "onVideoError": { break; } } break; } //Banner jsBridge.ttGm.banner(...) case "banner": { switch (data.action) { //加载成功 case "onAdLoaded": { break; } //加载失败,data.message 为失败说明 case "onAdFailedToLoad": { break; } //点击 case "onAdClicked": { break; } //关闭 case "onAdClosed": { break; } //此方法会在用户点击打开其他应用(例如 Google Play)时于 onAdOpened() 之后调用 case "onAdLeftApplication": { break; } case "onAdOpened": { break; } //展示 case "onAdShow": { break; } //展示失败 case "onAdShowFail": { break; } } break; } } //此函数仅用于显示回调参数在本 DEMO 页面上 showResult({ event: event, data: data }); }); //请拉到页面底部查看回调数据信息 $('html,body').animate({ scrollTop: $('#view').offset().top }, 500); /** 回调参数说明: event - 事件代码,字符串 data - 事件数据,JSON 对象 **/
//移除监听器,不会再收到回调通知 //在需要时可重新调用 setListener jsBridge.ttGm.removeListener();
//非必须的,即使没有权限也不影响广告展示 //但建议请求权限,可优化投放广告精准度和用户的交互体验,提高eCPM jsBridge.ttGm.requestPermissionIfNecessary();
展示广告
codeId:
orientation:
jsBridge.ttGm.reward({ //字符串,广告位 ID codeId: "{{reward.codeId}}", //字符串,屏幕方向,与广告位的设置一致 //VERTICAL 竖屏 //HORIZONTAL 横屏 orientation: "{{reward.orientation}}", //字符串,激励奖品名称 rewardName: "金币", //数字,激励奖品数量 rewardAmount: 5, //字符串,用户ID userId: "user123", //字符串,任意自定义数据 //一般用于 激励视频回调 customData: "" }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
codeId:
orientation:
jsBridge.ttGm.interstitialFull({ //字符串,广告位 ID codeId: "{{interstitialFull.codeId}}", //字符串,屏幕方向,与广告位的设置一致 //VERTICAL 竖屏 //HORIZONTAL 横屏 orientation: "{{interstitialFull.orientation}}", //字符串,激励奖品名称 rewardName: "金币", //数字,激励奖品数量 rewardAmount: 5, //字符串,用户ID userId: "user123" }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
codeId:
jsBridge.ttGm.banner({ //字符串,广告位 ID codeId: "{{banner.codeId}}", //数字,到顶部的距离 top : 20, //数字,宽度 请参考 width : 320, //数字,高度 height: 100, //字符串,用户ID userId: "user123" }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
codeId:
jsBridge.ttGm.banner({ //字符串,广告位 ID codeId: "{{banner.codeId}}", //数字,到底部的距离 bottom: 20, //数字,宽度 请参考 width : 320, //数字,高度 height: 100, //字符串,用户ID userId: "user123" }, function(succ, res) { if (!succ) { alert(JSON.stringify(res)); } });
jsBridge.ttGm.banner({ remove: true }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
监听回调数据: