为帮助用户更好更快的使用插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
插件简介
腾讯广告联盟优量汇插件,实现了原生信息流、横幅、插屏、开屏、激励视频等主流样式。彻底告别信息流广告触摸误点带来的体验感极差的烦恼。并增加了调整原生信息流广告的位置接口,适用于页面可能发生动态改变的情况。使用之前须从腾讯广告联盟申请开发者账号并创建应用,获取 appId 和 对应的广告位 posId。不需要在config.xml中设置,可灵活调用posId。
使用方法
一. 使用之前须从如下腾讯广告联盟的页面申请开发者账号并创建应用,获取 appId 和 对应的广告位 posId。 腾讯广告联盟优量汇(原名广点通):http://adnet.qq.com/
二. 根据腾讯sdk的说明,强烈建议,获取用户的下列权限,会有助于提升cpm。
    1. 
三. 添加本插件后,需要自定义Loader,再进行测试。
四. 其他注意事项: 1. 示例中引用的appId和posId为腾讯优量汇提供的测试id,请放心使用。 2. 在进行测试的时候,如果更换为自己的id,则要求包名必须与腾讯优量汇注册的包名一致,否则会提示相关的错误码。
五. 错误码信息如下:
  0001: posId不能为空
  0002: appId不能为空
  0003: 上一个广告还在加载中
  0004: 当前页面广告正在删除中
  0005: 激励视频广告已过期(优量汇下载的视频有效期30分钟)
  0006: 此条广告已经展示过
  0007: 视频还未加载完成就点击了显示
  0008: 广告的位置rect没设置
  0009: 要调整的tag的广告不存在
其余错误码,请参考如下腾讯优量汇的官方页面 https://developers.adnet.qq.com/doc/android/union/union_debug#sdk%20%E9%94%99%E8%AF%AF%E7%A0%81
打开开屏广告 openSplash({params}, callback(ret, err))
appId:
posId:
canJump:
ret:
{
    status: true      //布尔型;true||false
    option: (值如下)
                "receive" -广告获取,准备展示
                "exposure"-曝光(开屏的曝光是在倒计时结束时触发)
                "dismiss"-用户点击跳过,或者倒计时结束
                "onclick"-用户点击了广告
    posId:  "8863364436303842593"  //当前广告位
}
err:
{
    code: "0001"     //字符串,请参考概述-使用方法里的错误码详情
    msg: "posId不能为空"   //字符串,当前错误的问题
}
var tencentYLH = api.require("tencentYLH");
tencentYLH.openSplash({
            appId: '1101152570',  //不可为空
            posId: '8863364436303842593', //不可为空
            canJump: true 
}, function(ret, err) {
            if (ret) {
                console.log(JSON.stringify(ret));
            }
            if (err) {
                console.log(JSON.stringify(err));
            }
});
Android系统
可提供的1.0.0及更高版本
关闭开屏广告
closeSplash()
打开开屏广告时,如果canJump设置为false,在用户点击了跳过或者倒计时结束,广告不会自动关闭,此时会收到回调"dismiss",开发者需要调用此接口关闭开屏,并进行下一些相关的业务逻辑操作。无回调。
var tencentYLH = api.require("tencentYLH");
tencentYLH.closeSplash();
Android系统
可提供的1.0.0及更高版本
打开横幅广告
openBanner({params}, callback(ret, err))
appId:
posId:
rect:
 {
    x:0, //(选填)起始位置的x坐标,默认0
    y:0, //(选填)起始位置的y坐标,默认0
    w:0, //(选填)广告的宽度,默认为(屏幕宽度-2*x)居中显示,banner广告的比例为默认的6.4:1,开发者可根据计算调整页面
}
frameName:
fixed:
refreshTime:
ret:
{
    status: true      //布尔型;true||false
    option: (值如下)
                "receive" -广告获取,准备展示
                "exposure"-曝光(显示在屏幕中即触发)
                "onclick"-用户点击了广告
                "left"-用户点击广告后离开了当前页面
                "openoverlay"-用户点击了网页广告,在app内容浮层打开
                "closeoverlay"-用户关闭了浮层页面
                "close"-用户关闭了广告
    posId:  "8863364436303842593"  //当前广告位
}
err:
{
    code: "0001"     //字符串,请参考概述-使用方法里的错误码详情
    msg: "posId不能为空"   //字符串,当前错误的问题
}
var tencentYLH = api.require("tencentYLH");
tencentYLH.openBanner({
            appId: 1101152570, //腾讯优量汇的appId
            posId: 4080052898050840 //banner2.0广告位的id
            rect: {
               x: 10,
               y: 200,
               w: 0,
            },
            frameName: api.frameName,
            fixed: false, 
            refreshTime: 30
        }, function(ret, err) {
            if (ret) {
                console.log(JSON.stringify(ret));
            }
            if (err) {
                console.log(JSON.stringify(err));
            }
        });
Android系统
可提供的1.0.0及更高版本
关闭当前页面的横幅banner广告
closeBanner()
var tencentYLH = api.require("tencentYLH");
tencentYLH.closeBanner();
Android系统
可提供的1.0.0及更高版本
打开插屏广告(含popUp类型插屏广告)
openInterstitial({params}, callback(ret, err))
appId:
posId:
popUp:
ret:
{
    status: true      //布尔型;true||false
    option: (值如下)
                "receive" -广告获取,准备展示
                "show" -插屏广告在屏幕打开(弹出)成功 (仅插屏有)
                "exposure"-曝光
                "onclick"-用户点击了广告
                "left"-用户点击广告后离开了当前页面
                "close"-用户关闭了广告
    posId:  "8863364436303842593"  //当前广告位id
}
err:
{
    code: "0001"     //字符串,请参考概述-使用方法里的错误码详情
    msg: "posId不能为空"   //字符串,当前错误的问题
}
var tencentYLH = api.require("tencentYLH");
tencentYLH.openInterstitial({
            popUp: false, //是否为pop插屏,如果设置为false,当前页面将不能滑动
            appId: 1101152570,
            posId: 8020259898964453
        }, function(ret, err) {
            if (ret) {
                console.log(JSON.stringify(ret));
            }
            if (err) {
                console.log(JSON.stringify(err));
            }
        });
Android系统
可提供的1.0.0及更高版本
关闭当前页面的插屏广告(含popUp类型插屏广告)
closeInterstitial()
var tencentYLH = api.require("tencentYLH");
tencentYLH.closeInterstitial();
Android系统
可提供的1.0.0及更高版本
打开原生信息流广告(模板渲染)
openNative({params}, callback(ret, err))
appId:
posId:
rect:
 {
    x:0, //(选填)起始位置的x坐标,默认0
    y:0, //(选填)起始位置的y坐标,默认0
    w:0, //(选填)广告的宽度,默认为(屏幕宽度-2*x)即居中显示,高度会根据渲染的结果进行回调,请参考callback,开发者可根据回调的高度,来调整信息流广告位置的高度。
}
frameName:
fixed:
tag: -类型:数字 -描述:(选填)指定当前广告位的一个标记,可用于adjustNative调整位置时使用。 -默认值:无
videoPolicy:
ret:
{
    status: true      //布尔型;true||false
    option: (值如下)
               "receive"-广告获取,准备展示(在ret.data.titleLines里会附带广告标题计算的行数,仅开发者参考)
               "heightchange"-原生信息流广告高度变化时回调,渲染过程,可能会变化2次以上,为了方便开发者根据广告高度,调整界面的高度。(广告高度通过ret.height获取)
                "renderfail"-原生信息流广告获取后,但是因其他原因渲染失败
                "rendersuccess"-原生信息流广告渲染成功
                "exposure"-曝光
                "onclick"-用户点击了广告
                "left"-用户点击广告后离开了当前页面
                "openoverlay"-用户点击了网页广告,在app内容浮层打开
                "closeoverlay"-用户关闭了浮层页面
                "close"-用户关闭了广告
    posId:  "8863364436303842593"  //当前广告位
    height: 300 //广告的高度,仅在广告渲染过程高度改变的时候ret.option = "heightchange"时回调
    adInfo: { //广告的相关信息,heightchange|renderfail-无此回调
         title: "..."  //广告标题
         desc: "..." //广告描述
         patternType: "0" //广告类型,请参考优量汇sdk文档
    }
}
err:
{
    code: "0001"     //字符串,请参考概述-使用方法里的错误码详情
    msg: "posId不能为空"   //字符串,当前错误的问题
}
var tencentYLH = api.require("tencentYLH");
tencentYLH.openNative({
            posId: '7030020348049331',
            appId: '1101152570',
            rect: {
              x: 0,
              y: 0,
              w: 0,
            },
            frameName: api.frameName,
            fixed: false
        }, function(ret, err) {
            if (ret) {
                console.log(JSON.stringify(ret));
            }
            if (err) {
                console.log(JSON.stringify(err));
            }
        });
Android系统
可提供的1.0.0及更高版本
关闭当前页面的所有原生信息流广告(模板渲染)
closeNative()
var tencentYLH = api.require("tencentYLH");
tencentYLH.closeNative();
Android系统
可提供的1.0.0及更高版本
调整原生信息流广告的位置(模板渲染)
adjustNative({params}, callback(ret, err))
tag:
rect:
 {
    x:0, //(选填)起始位置的x坐标,默认0
    y:0, //(选填)起始位置的y坐标,默认0
    w:0, //(选填)广告的宽度,默认为(屏幕宽度-2*x)即居中显示。
}
ret:
{
    status: true      //布尔型;true||false
    option: (值如下)
               "adjust"-广告位置调整成功
    posId:  "8863364436303842593"  //当前广告位
    adInfo: { //广告的相关信息
         title: "..."  //广告标题
         desc: "..." //广告描述
         patternType: "0" //广告类型,请参考优量汇sdk文档
    }
}
err:
{
    code: "0009"     //字符串,请参考概述-使用方法里的错误码详情
    msg: "tag对应的广告不存在"   //字符串,当前错误的问题
}
var tencentYLH = api.require("tencentYLH");
tencentYLH.adjustNative({
            rect: {
              x: 0,
              y: 0,
              w: 0
            },
            tag:  1
        }, function(ret, err) {
            if (ret) {
                console.log(JSON.stringify(ret));
            }
            if (err) {
                console.log(JSON.stringify(err));
            }
        });
Android系统
可提供的1.0.0及更高版本
下载、展示、下载并展示激励视频
openRewardVideo({params}, callback(ret, err))
如果没有下载视频,直接展示将会失败。正常的流程是:先下载视频,监听到视频已经缓存videoCached后,再展示视频。如果开发者想省事,可以直接使用downloadShow,下载后即可马上展示视频。
appId:
posId:
option:
ret:
{
    status: true      //布尔型;true||false
    option: (值如下)
               "videoLoad"-激励视频加载成功,准备缓存视频
               "videoCached"-激励视频缓存成功(如果是download下载激励视频,到此步停止)
               "videoShow"-激励视频开始展示
               "videoExpose"-激励视频曝光
               "videoComplete"-激励视频播放完成
               "videoReward"-激励视频奖励,开发者监听到这里,就可以给用户进行积分奖励。
               "videoOnclick"-激励视频播放结束后,广告按钮被点击
               "videoClose"-激励视频页面被关闭
    posId:  "8863364436303842593"  //当前广告位
}
err:
{
    code: "0001"     //字符串,请参考概述-使用方法里的错误码详情
    msg: "posId不能为空"   //字符串,当前错误的问题
}
var tencentYLH = api.require("tencentYLH");
tencentYLH.openRewardVideo({
            option: 'download', //show之前,必须要download,如果嫌麻烦,可以直接使用downloadShow
            appId: '1101152570',
            posId: '2090845242931421'
        }, function(ret, err) {
            if (ret) {
                console.log("ret" + JSON.stringify(ret));
            }
            if (err) {
                console.log("err" + JSON.stringify(err));
            }
        });
Android系统
可提供的1.0.0及更高版本