H5激励视频广告接入
类别 | 信息 | 备注 |
---|---|---|
文档版本 | 1.0.0 | - |
更新日期 | 2019-04-01 | - |
1 简介
激励视频广告是一种常见于游戏内的广告样式。用户通过产品入口,全屏观看完整视频,获得相应的奖励。目前的视频包括横版及竖版2种样式,您可以根据需要创建对应的广告位。H5激励视频广告应用于小游戏关卡、阅读付费、会员场景等,提供激励视频激励策略,获取更大广告收益。
2 广告播放示例(节选)
3 广告属性
属性 | 内容 |
---|---|
支持平台 | H5 |
播放尺寸 | 全屏 |
横竖屏 | 支持 |
广告形态 | 视频 |
关闭 | 用户可关闭 |
依赖SDK | Android SDK |
4 接入方式
4.1 接入准备
4.1.1、权限申请:H5激励视频需申请权限方可接入并调试, 申请方式:登陆开发者平台-右上角帮助中心-在线客服咨询申请
4.1.2、创建广告位:“h5广告位创建流程” ,完成广告创建。
4.2 接入 Native SDK 和 H5 SDK
4.2.1 具体的Native SDK接入文档请访问:Android SDK 接入文档
4.2.2 具体的H5 SDK接入文档请访问:“H5 SDK接入流程”,完成H5 SDK接入。
4.3 API
H5 SDK接入完成后,按下列顺序即可调用激励视频API。
TencentGDT.push({
placement_id: '11**99', // 广告位id
app_id: '11**00', // appid
type: 'rewardVideo', // 广告类型
onComplete: function(res) {
if(res.code == 0) {
// 激励视频实例化,初始化完成后,可在任意地方进行实例化操作
var video = new TencentGDT.NATIVE.rewardVideoAd( function(res) {
// 激励视频回调参数
console.log(res);
});
// 激励视频加载方法
video.loadAd();
// 激励视频播放方法
video.showAd();
}
}
});
- API说明:
参数 | 类型 | 必要 | 说明 |
---|---|---|---|
placement_id | String | 必填 | 广告位id |
app_id | String | 必填 | |
type | String | 必填 | 广告类型,激励视频填写 "rewardVideo" |
onComplete | Function | 选填 | 广告回调方法,执行初始化、视频加载、视频播放相关的回调都在此方法回调捕获 |
- onComplete回调返回值
返回码 | 说明 |
---|---|
code | 0:广告注册成功,非0:广告注册失败 |
4.4 广告构造方法
- rewardVideoAd
new TencentGDT.NATIVE.rewardVideoAd(callback);
参数 | 类型 | 必要性 | 说明 |
---|---|---|---|
callback | Function | 选填 | 广告回调方法,会捕获广告初始化、视频加载、视频播放环节回调,开发者不关心回调可忽略。 |
- callback 返回值协议
res = {
code: 0,
data: {
action: 'onRegisterSuccess'
}
}
- code:
返回值 | 含义 | 最佳实践 |
---|---|---|
0 | 成功 | 具体成功值,请参考 data.action 字段 |
4014 | 请拉取到广告后再调用展示接口 | 先执行loadAd,再执行showAd |
4015 | 广告已经播放过,请重新拉取 | 需要创建新的实例化激励视频 |
4016 | 应用方向与广告位支持方向不一致 | 广告渲染方向和移动设备当前方向不一致 |
5002 | 视频下载失败 | 重新执行loadAd,3次失败,请重新实例化,或者检查网络状态 |
5003 | 视频播放失败 | 建议重新实例化 |
5004 | 没有合适的广告 | 建议拉取3次,间隔10s,仍无广告数据,相隔1分钟后再试,高频率拉取会被后台判为异常 |
5012 | 广告已过期 | 请重新实例化激励视频 |
更多返回码,请详见Android返回码
- action
返回值 | 备注 |
---|---|
onRegisterSuccess | 注册激励视频广告实例成功 |
onADLoad | 广告加载成功,可在此回调后进行广告展示 |
onVideoCached | 激励视频数据下载成功回调,已经下载过的视频会直接回调 |
onADShow | 激励视频广告页面展示 |
onADExpose | 激励视频广告曝光 |
onReward | 激励视频广告激励发放 |
onADClick | 激励视频广告被点击 |
onVideoComplete | 广告视频素材播放完毕 |
onADClose | 激励视频广告被关闭 |
4.5 加载广告
- loadAd
*.loadAd();
loadAd方法回调信息参考rewardVideoAd回调返回值
4.6 播放广告
- showAd
*.showAd();
showAd方法回调信息参考rewardVideoAd回调返回值
注意:
1. 每一个实例中的 loadAd
和 showAd
只能使用一次,使用完成后,必须重新创建新实例,执行新实例的loadAd
和showAd
方法。
2. 对于激励视频广告而言,一个页面只允许使用一个激励视频的广告位,多次push广告位,只有最后一个广告位生效。
4.7 网赚游戏接口
H5激励视频广告针对网赚类网站和游戏开发者开放媒体方微信open_id和app_id,用于网赚提供商向用户进行提现操作,具体定义如下:
4.7.1 获取媒体方微信用户open_id
在网赚H5游戏项目,会涉及需要宿主环境的用户微信open_id
,可在广告回调中获取。
let openid = window.TencentGDT.FlowUtil.getFlowOpenId();
console.log(openid) // 流量主用户openid
注意:openid为宿主(媒体方)APP用户的微信openid,网赚游戏开发商可使用此openid做用户绑定,获取openid值需要宿主APP支持才能获取。
4.7.2 获取媒体方微信app_id
在网赚H5游戏项目,会涉及需要媒体方的微信app_id
,可在广告回调中获取。
let appid = window.TencentGDT.FlowUtil.getFlowAppId();
console.log(appid) // 媒体方微信appid
- 完整的接入代码示例
// 腾讯广告全局申明只需运行一次
window.TencentGDT = window.TencentGDT || [];
// 广告位声明,多个广告位执行多次push
TencentGDT.push({
placement_id: '11**99', // 广告位id
app_id: '11**00', // appid
type: 'rewardVideo', // 广告类型
onComplete: function(res) {
if(res.code == 0) {
// 激励视频实例化
var video = new TencentGDT.NATIVE.rewardVideoAd( function(res) {
// 激励视频回调参数
res = {
code: 0,
data: {
action: ''
}
}
if( res.code == 0) {
res.data.action
}
console.log(res);
});
// 激励视频加载方法
video.loadAd();
// 激励视频播放方法
video.showAd();
}
// 获取流量主APP用户微信openid,获取openid值需要宿主APP支持才能获取
let openid = window.TencentGDT.FlowUtil.getFlowOpenId();
}
});
// H5 SDK接入全局只需运行一次
(function () {
var doc = document,
h = doc.getElementsByTagName('head')[0],
s = doc.createElement('script');
s.async = true;
s.src = '//qzs.gdtimg.com/union/res/union_sdk/page/h5_sdk/i.js';
h && h.insertBefore(s, h.firstChild)
})();
5 调试环境
H5激励视频必须运行在优量汇(腾讯广告联盟)SDK WebView中,目前仅支持Android SDK。因此在调试环节,需要准备Android设备,并安装对应的SDK Demo,以下介绍SDK Demo如何调试激励视频。