tencentYLH
来自于:无意平常心立即使用
openSplash closeSplash openBanner closeBanner openInterstitial closeInterstitial openNative closeNative adjustNative openRewardVideo
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例(模块demo论坛帖链接),示例中包含示例代码、知识点讲解、注意事项等,供您参考。
模块demo论坛帖示例(仅供参考,提交模块的时候删除这一行):https://community.apicloud.com/bbs/thread-160345-1-1.html
概述
模块简介
腾讯广告联盟优量汇模块,实现了原生信息流、横幅、插屏、开屏、激励视频等主流样式。彻底告别信息流广告触摸误点带来的体验感极差的烦恼。并增加了调整原生信息流广告的位置接口,适用于页面可能发生动态改变的情况。使用之前须从腾讯广告联盟申请开发者账号并创建应用,获取 appId 和 对应的广告位 posId。不需要在config.xml中设置,可灵活调用posId。
使用方法
一. 使用之前须从如下腾讯广告联盟的页面申请开发者账号并创建应用,获取 appId 和 对应的广告位 posId。 腾讯广告联盟优量汇(原名广点通):http://adnet.qq.com/
二. 根据腾讯sdk的说明,强烈建议,获取用户的下列权限,会有助于提升cpm。
1. <permission name="readPhoneState"/>
2. <permission name="location" />
3. <permission name="internet" />
三. 添加本插件后,需要自定义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
打开开屏广告 openSplash({params}, callback(ret, err))
params
appId:
- 类型:字符串
- 描述:(必填)腾讯优量汇(原广点通)申请的应用appId
- 默认值:无
posId:
- 类型:字符串
- 描述:(必填)腾讯优量汇(原广点通)申请的广告位id
- 默认值:无
canJump:
- 类型:布尔
- 描述:(选填)用户点击跳过或者广告倒计时结束,是否自动关闭广告。如设置为false,可以收到回调dismiss后使用closeSplash关闭,并进行其他操作,此接口可以留给开发者做进一步调整业务流程。
- 默认值:true,即时间结束或者点击倒计时时,关闭广告
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
option: (值如下)
"receive" -广告获取,准备展示
"exposure"-曝光(开屏的曝光是在倒计时结束时触发)
"dismiss"-用户点击跳过,或者倒计时结束
"onclick"-用户点击了广告
posId: "8863364436303842593" //当前广告位
}
err:
- 类型:JSON 对象
- 内部字段:
{
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
关闭开屏广告
closeSplash()
打开开屏广告时,如果canJump设置为false,在用户点击了跳过或者倒计时结束,广告不会自动关闭,此时会收到回调”dismiss”,开发者需要调用此接口关闭开屏,并进行下一些相关的业务逻辑操作。无回调。
示例代码
var tencentYLH = api.require("tencentYLH");
tencentYLH.closeSplash();
可用性
Android系统
可提供的1.0.0及更高版本
openBanner
打开横幅广告
openBanner({params}, callback(ret, err))
params
appId:
- 类型:字符串
- 描述:(必填)腾讯优量汇(原广点通)申请的应用appId
- 默认值:无
posId:
- 类型:字符串
- 描述:(必填)腾讯优量汇(原广点通)申请的广告位id
- 默认值:无
rect:
- 类型:对象
- 描述:广告位置
内部字段
{
x:0, //(选填)起始位置的x坐标,默认0
y:0, //(选填)起始位置的y坐标,默认0
w:0, //(选填)广告的宽度,默认为(屏幕宽度-2*x)居中显示,banner广告的比例为默认的6.4:1,开发者可根据计算调整页面
}
frameName:
- 类型:字符串
- 描述:(选填)需要绑定的页面,仅frame有效。window不能传,并且window下只能固定,不能滚动
- 默认值:无
fixed:
- 类型:布尔
- 描述:(选填)是否需要跟随页面滚动,true-不滚动,false-跟随frame滚动,仅frameName设置了frame的情况有效
- 默认值:true,即不跟随页面滚动
refreshTime:
- 类型:数字
- 描述:(选填)banner广告刷新的时间(秒),默认为30,必须大于30
- 默认值:30
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
option: (值如下)
"receive" -广告获取,准备展示
"exposure"-曝光(显示在屏幕中即触发)
"onclick"-用户点击了广告
"left"-用户点击广告后离开了当前页面
"openoverlay"-用户点击了网页广告,在app内容浮层打开
"closeoverlay"-用户关闭了浮层页面
"close"-用户关闭了广告
posId: "8863364436303842593" //当前广告位
}
err:
- 类型:JSON 对象
- 内部字段:
{
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及更高版本
closeBanner
关闭当前页面的横幅banner广告
closeBanner()
示例代码
var tencentYLH = api.require("tencentYLH");
tencentYLH.closeBanner();
可用性
Android系统
可提供的1.0.0及更高版本
openInterstitial
打开插屏广告(含popUp类型插屏广告)
openInterstitial({params}, callback(ret, err))
params
appId:
- 类型:字符串
- 描述:(必填)腾讯优量汇(原广点通)申请的应用appId
- 默认值:无
posId:
- 类型:字符串
- 描述:(必填)腾讯优量汇(原广点通)申请的广告位id
- 默认值:无
popUp:
- 类型:布尔
- 描述:(选填)是否是popUp类型(背景页面是否滚动),true-背景页面仍可滚动,false-背景页面不可滚动
- 默认值:true,即插屏广告显示时,背景页面仍可滚动
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
option: (值如下)
"receive" -广告获取,准备展示
"show" -插屏广告在屏幕打开(弹出)成功 (仅插屏有)
"exposure"-曝光
"onclick"-用户点击了广告
"left"-用户点击广告后离开了当前页面
"close"-用户关闭了广告
posId: "8863364436303842593" //当前广告位id
}
err:
- 类型:JSON 对象
- 内部字段:
{
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及更高版本
closeInterstitial
关闭当前页面的插屏广告(含popUp类型插屏广告)
closeInterstitial()
示例代码
var tencentYLH = api.require("tencentYLH");
tencentYLH.closeInterstitial();
可用性
Android系统
可提供的1.0.0及更高版本
openNative
打开原生信息流广告(模板渲染)
openNative({params}, callback(ret, err))
params
appId:
- 类型:字符串
- 描述:(必填)腾讯优量汇(原广点通)申请的应用appId
- 默认值:无
posId:
- 类型:字符串
- 描述:(必填)腾讯优量汇(原广点通)申请的广告位id
- 默认值:无
rect:
- 类型:对象
- 描述:广告位置
内部字段
{
x:0, //(选填)起始位置的x坐标,默认0
y:0, //(选填)起始位置的y坐标,默认0
w:0, //(选填)广告的宽度,默认为(屏幕宽度-2*x)即居中显示,高度会根据渲染的结果进行回调,请参考callback,开发者可根据回调的高度,来调整信息流广告位置的高度。
}
frameName:
- 类型:字符串
- 描述:(选填)需要绑定的页面,仅frame有效。window不能传,并不能随window滚动
- 默认值:无
fixed:
- 类型:布尔
- 描述:(选填)是否需要跟随页面滚动,true-不滚动,false-跟随frame滚动,仅当frameName传frame值时有效
- 默认值:false,跟随frame滚动
tag: -类型:数字 -描述:(选填)指定当前广告位的一个标记,可用于adjustNative调整位置时使用。 -默认值:无
videoPolicy:
- 类型:字符串
- 描述:(选填)当获取的广告为视频时,播放的策略。”always”-总是自动播放,”wifi”-仅wifi情况下自动播放,”manual”-任何时候都是用户手动点击播放。
- 默认值:”always”
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
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:
- 类型:JSON 对象
- 内部字段:
{
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
关闭当前页面的所有原生信息流广告(模板渲染)
closeNative()
示例代码
var tencentYLH = api.require("tencentYLH");
tencentYLH.closeNative();
可用性
Android系统
可提供的1.0.0及更高版本
adjustNative
调整原生信息流广告的位置(模板渲染)
adjustNative({params}, callback(ret, err))
params
tag:
- 类型:数字
- 描述:(必填)指定要调整位置广告位的标记(在openNative中打开广告时,设置的tag)。
- 默认值:无
rect:
- 类型:对象
- 描述:调整的广告新位置
内部字段
{
x:0, //(选填)起始位置的x坐标,默认0
y:0, //(选填)起始位置的y坐标,默认0
w:0, //(选填)广告的宽度,默认为(屏幕宽度-2*x)即居中显示。
}
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
option: (值如下)
"adjust"-广告位置调整成功
posId: "8863364436303842593" //当前广告位
adInfo: { //广告的相关信息
title: "..." //广告标题
desc: "..." //广告描述
patternType: "0" //广告类型,请参考优量汇sdk文档
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
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
下载、展示、下载并展示激励视频
openRewardVideo({params}, callback(ret, err))
如果没有下载视频,直接展示将会失败。正常的流程是:先下载视频,监听到视频已经缓存videoCached后,再展示视频。如果开发者想省事,可以直接使用downloadShow,下载后即可马上展示视频。
params
appId:
- 类型:字符串
- 描述:(必填)腾讯优量汇(原广点通)申请的应用appId
- 默认值:无
posId:
- 类型:字符串
- 描述:(必填)腾讯优量汇(原广点通)申请的广告位id
- 默认值:无
option:
- 类型:字符串
- 描述:(必填)download-下载视频, show-展示视频, downloadShow-下载并展示视频。如果没有下载视频,直接展示将会失败。正常的流程是:先下载视频,监听到视频已经缓存videoCached后,再展示视频。如果开发者想省事,可以直接使用downloadShow,下载后即可马上展示视频。
- 默认值:无
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
option: (值如下)
"videoLoad"-激励视频加载成功,准备缓存视频
"videoCached"-激励视频缓存成功(如果是download下载激励视频,到此步停止)
"videoShow"-激励视频开始展示
"videoExpose"-激励视频曝光
"videoComplete"-激励视频播放完成
"videoReward"-激励视频奖励,开发者监听到这里,就可以给用户进行积分奖励。
"videoOnclick"-激励视频播放结束后,广告按钮被点击
"videoClose"-激励视频页面被关闭
posId: "8863364436303842593" //当前广告位
}
err:
- 类型:JSON 对象
- 内部字段:
{
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及更高版本