Android iOS Unity JS API Media API 常见问题

H5激励视频广告接入

类别 信息 备注
文档版本 1.0.0 -
更新日期 2019-04-01 -

1 简介

激励视频广告是一种常见于游戏内的广告样式。用户通过产品入口,全屏观看完整视频,获得相应的奖励。目前的视频包括横版及竖版2种样式,您可以根据需要创建对应的广告位。H5激励视频广告应用于小游戏关卡、阅读付费、会员场景等,提供激励视频激励策略,获取更大广告收益。

2 广告播放示例(节选)

3 广告属性

属性 内容
支持平台 H5
播放尺寸 全屏
横竖屏 支持
广告形态 视频
关闭 用户可关闭
依赖SDK Android SDK、iOS SDK

4 接入方式

4.1 接入准备

准备阶段,请先访问:“h5广告位创建流程” ,完成广告位创建。

4.2 接入 Native 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();
        }
    }
});
参数 类型 必要 说明
placement_id String 必填 广告位id
app_id String 必填
type String 必填 广告类型,激励视频填写 "rewardVideo"
onComplete Function 选填 广告回调方法,执行初始化、视频加载、视频播放相关的回调都在此方法回调捕获
返回码 说明
code 0:广告注册成功,非0:广告注册失败

4.4 广告构造方法

new TencentGDT.NATIVE.rewardVideoAd(callback);
参数 类型 必要性 说明
callback Function 选填 广告回调方法,会捕获广告初始化、视频加载、视频播放环节回调,开发者不关心回调可忽略。
res = {
    code: 0,
    data: {
        action: 'onRegisterSuccess'
    }
}
返回值 含义 最佳实践
0 成功 具体成功值,请参考 data.action 字段
4014 请拉取到广告后再调用展示接口 先执行loadAd,再执行showAd
4015 广告已经播放过,请重新拉取 需要创建新的实例化激励视频
4016 应用方向与广告位支持方向不一致 广告渲染方向和移动设备当前方向不一致
5002 视频下载失败 重新执行loadAd,3次失败,请重新实例化,或者检查网络状态
5003 视频播放失败 建议重新实例化
5004 没有合适的广告 建议拉取3次,间隔10s,仍无广告数据,相隔1分钟后再试,高频率拉取会被后台判为异常
5012 广告已过期 请重新实例化激励视频

更多返回码,请详见Android返回码iOS SDK返回码

返回值 备注
onRegisterSuccess 注册激励视频广告实例成功
onADLoad 广告加载成功,可在此回调后进行广告展示
onVideoCached 激励视频数据下载成功回调,已经下载过的视频会直接回调
onADShow 激励视频广告页面展示
onADExpose 激励视频广告曝光
onReward 激励视频广告激励发放
onADClick 激励视频广告被点击
onVideoComplete 广告视频素材播放完毕
onADClose 激励视频广告被关闭

4.5 加载广告

*.loadAd();

loadAd方法回调信息参考rewardVideoAd回调返回值

4.6 播放广告

*.showAd();

showAd方法回调信息参考rewardVideoAd回调返回值

注意:

1. 每一个实例中的 loadAdshowAd 只能使用一次,使用完成后,必须重新创建新实例,执行新实例的loadAdshowAd方法。
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.qq.com/qzone/biz/res/i.js';
    h && h.insertBefore(s, h.firstChild)
})();

5 调试环境

H5激励视频必须运行在优量汇(腾讯广告联盟)SDK WebView中,目前支持Android、iOS两个SDK。因此在调试环节,需要准备Android或iOS设备,并安装对应的SDK Demo,以下介绍SDK Demo如何调试激励视频。

5.1 安装SDK Demo


(本文完)

Copyright © 1998 - 2020 Tencent Inc. All Rights Reserved.
腾讯公司 版权所有 | 加入优量汇