tencentAds
来自于:开发者立即使用
showBanner refreshBanner closeBanner showInterstitialAD closeInterstitialAD showSplash showSplashActivity showNative closeNative loadRewardVideoAD showRewardVideoAD
1.1.3更新说明
1.新增激励视频广告;
2.sdk更新值最新版本(安卓SDK版本:4.150.1020,ios SDK版本:4.11.3);
3.showNative新增videoMuted/detailPageVideoMuted参数;
4.修复安卓端showSplashActivity部分参数不返回问题;
5.去掉ios端showNative的height回调;
6.修复安卓端closeNative的逻辑错误问题;
7.去掉安卓模块内权限的自动申请,开发者可以视情况自己添加;
8.修复iOS 端原生广告一个页面展示多个广告的重叠问题;
9.原生模板广告中h(模块高度修改为必选项,请开发这根据所选模板自行计算传入,参数过小超出部分会被裁剪)
概述
tencentAds 封装了腾讯广告联盟的SDK,实现了横幅、插屏、开屏等主流样式。使用之前须从腾讯广告联盟申请开发者账号并创建应用,获取 APPID 和 对应的广告位id。
使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
- 名称:tencentAds
- 参数:APPID、BannerPosID、InterteristalPosID、SplashPosID、APPID_ios、BannerPosID_ios、InterteristalPosID_ios、SplashPosID_ios
- 配置示例:
<permission name="readPhoneState"/>
//上述非必须权限,开发者视情况自行添加;
<permission name="location" />
//上述非必须权限,开发者视情况自行添加;
<feature name="tencentAds">
<param name="APPID" value="1105817983"/>
<param name="BannerPosID" value="3040460631118415"/> <!--banner2.0-->
<param name="InterteristalPosID" value="4030069601412496"/><!--插屏2.0-->
<param name="SplashPosID" value="8050224168345383"/>
<param name="APPID_ios" value="1105344611"/>
<param name="BannerPosID_ios" value="1080958885885321"/><!--banner2.0-->
<param name="InterteristalPosID_ios" value="1050652855580392"/><!--插屏2.0-->
<param name="SplashPosID_ios" value="9040714184494018"/>
</feature>
字段描述:
APPID: 在腾讯广告联盟中注册的安卓应用id。
BannerPosID: 安卓应用对应的横幅(banner)广告位id。
InterteristalPosID:安卓应用对应的插屏广告位id。
SplashPosID:安卓应用对应的开屏广告位id。
APPID_ios:在腾讯广告联盟中注册的IOS应用id。
BannerPosID_ios:IOS应用对应的横幅(banner)广告位id。。
InterteristalPosID_ios IOS应用对应的插屏广告位id
SplashPosID_ios:IOS应用对应的开屏广告位id。
showBanner
打开横幅广告
showBanner({params},callback(ret,err))
params
x:
- 类型:数字类型
- 描述:(可选项)模块左上角的 x 坐标(相对于所属的 Window 或 Frame)
- 默认值:0
y:
- 类型:数字类型
- 描述:(可选项)模块左上角的 y 坐标(相对于所属的 Window 或 Frame)
- 默认值:0
w:
- 类型:数字类型
- 描述:(可选项)模块的宽度;页面从x位置开始自动充满所属的 Window 或 Frame 的宽度
- 默认值:自适应
- 备注:宽度值不能小于300,否则曝光不成功,导致无法计费。
备注
依据官方给出的要求,宽高比为固定的6.4/1,请开发者自行计算模块的高度
refresh:
- 类型:字符串类型
- 描述:(可选项)横幅刷新时间
- 默认值:30
- 取值范围:0或30-120(0表示不刷新)
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块添加到指定window或frame
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
callback(ret,err)
ret:
- 类型:JSON对象
- 内部字段:
{
status:true/false/onclick/close
}
err:
- 类型:JSON对象
- 内部字段:
{
NSLocalizedDescription: "相关错误信息" //错误信息
}
示例代码
var tencentAds = api.require('tencentAds');
tencentAds.showBanner({
x: 0,
y: 0,
refresh: 30,
fixedOn: api.frameName,
fixed: true
},function(ret,err){
alert("ret: " + JSON.stringify(ret) + "\nerr: " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
refreshBanner
refreshBanner()
示例代码
var tencentAds = api.require('tencentAds');
tencentAds.refreshBanner();
可用性
Android系统,ios系统
可提供的1.1.3及更高版本
closeBanner
closeBanner()
关闭横幅广告
示例代码
var tencentAds = api.require('tencentAds');
tencentAds.closeBanner();
可用性
iOS系统,Android系统
可提供的1.0.9及更高版本
showInterstitialAD
展示插屏广告,有/无遮罩(可选)
模块内部已经实现插屏广告的预载
params
PopupWindow:
- 类型:boolean对象
- 内部字段:true/false,默认true(无遮罩)
- 备注:此参数仅支持安卓,IOS传入无效,IOS默认有遮罩
showInterstitialAD(callback(ret,err))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status:true/false/onclick/close
}
err:
- 类型:JSON对象
- 内部字段:
{
NSLocalizedDescription: "相关错误信息" //错误信息:
}
示例代码
var tencentAds = api.require('tencentAds');
tencentAds.showInterstitialAD(
PopupWindow:false
function(ret,err){
alert("ret: " + JSON.stringify(ret) + "\nerr: " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
closeInterstitialAD
关闭插屏广告
closeInterstitialAD()
tencentAds.closeInterstitialAD();
可用性
Android系统
可提供的1.1.3及更高版本
备注:此接口的回调在showInterstitialAD中返回,ios调用此接口无效
showSplash
展示开屏广告
showSplash({params},callback(ret))
params
y:
- 类型:(可选项)数字类型
- 描述:(可选项)模块据顶部的距离。
- 默认值:0
- 备注:如果您的app使用沉浸样式,您可能需要使用此参数,可传入设备状态栏高度,此参数暂仅支持安卓,ios传入无效。
splashlogo:
- 类型:字符串类型
- 描述:(可选项)开屏广告下方的logo图片,暂仅支持widget路径
- 默认值:无(不传则不显示)
- 备注:安卓设备在拉取广告过程中显示logo,ios则在广告拉取成功后才会显示logo
splashholderimg:
- 类型:字符串类型
- 描述:(可选项)开屏广告的占位图片,暂仅支持widget路径
- 默认值:无(不传则显示透明背景)
callback(ret,err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true/false/onclick/close
}
err:
- 类型:JSON对象
- 内部字段:
{
NSLocalizedDescription: "相关错误信息" //错误信息
}
示例代码
var tencentAds = api.require('tencentAds');
tencentAds.showSplash(
{
splashlogo : 'widget://res/logo.jpg',//(可选项)字符串类型;开屏广告下方的logo图片,传入后广告会自动适配屏幕大小;不传则不显示,,暂只支持widget路经。
splashholderimg : 'widget://image/splash.png'//(可选项)字符串类型;开屏广告的占位图片,要求高度不小于400,否则广告将无法展示;不传显示为透明背景。暂只支持widget路经。
},
function(ret,err){
alert("ret: " + JSON.stringify(ret) + "\nerr: " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
备注:ipad设备不支持开平广告接口,调用此接口会返回status:”false”,错误信息“设备不支持”
可提供的1.1.3及更高版本
showSplashActivity
以单独的Activity展示开屏广告
showSplashActivity({params},callback(ret))
params
splashlogo:
- 类型:字符串类型
- 描述:(可选项)开屏广告下方的logo图片,暂仅支持widget路径
- 默认值:无(不传则不显示)
- 备注:安卓设备在拉取广告过程中显示logo,ios则在广告拉取成功后才会显示logo
splashholderimg:
- 类型:字符串类型
- 描述:(可选项)开屏广告的占位图片,暂仅支持widget路径
- 默认值:无(不传则显示透明背景)
callback(ret,err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true/false/onclick/close
}
err:
- 类型:JSON对象
- 内部字段:
{
NSLocalizedDescription: "相关错误信息" //错误信息
}
示例代码
var tencentAds = api.require('tencentAds');
tencentAds.showSplashActivity(
{
splashlogo : 'widget://res/logo.jpg',//(可选项)字符串类型;开屏广告下方的logo图片,传入后广告会自动适配屏幕大小;不传则不显示,,暂只支持widget路经。
splashholderimg : 'widget://image/splash.png'//(可选项)字符串类型;开屏广告的占位图片,要求高度不小于400,否则广告将无法展示;不传显示为透明背景。暂只支持widget路经。
},
function(ret,err){
alert("ret: " + JSON.stringify(ret) + "\nerr: " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
备注:ipad设备不支持开平广告接口,调用此接口会返回status:false,错误信息“设备不支持”
可提供的1.1.3及更高版本
showNative
showNative({params},callback(ret))
params
x:
- 类型:数字类型
- 描述:(可选项)模块左上角的 x 坐标(相对于所属的 Window 或 Frame)
备注:默认值:0
y:
类型:数字类型
- 描述:(可选项)模块左上角的 y 坐标(相对于所属的 Window 或 Frame)
- 备注:默认值:0
w:
- 类型:数字类型
- 描述:(可选项)页面从x位置开始自动充满所属的 Window 或 Frame 的宽度
- 备注:默认值:自适应
h:
- 类型:数字类型
- 描述:(必选项)模块的高度;
- 备注:默认值:100
- 说明:请开发者依据自己所选用的模板广告尺寸自行计算后传入,传入参数过小广告部分会被裁减,ios端过大会遮盖页面其他ui部分。
NativeId:
- 类型:字符串类型
- 描述:原生广告的广告位ID
- 备注:支持官方全部模板广告位,包括视频模板广告
videoMuted:
- 类型:布尔
- 描述:(可选项)模版视频播放时是否静音
- 默认值:true(静音播放)
detailPageVideoMuted:
- 类型:布尔
- 描述:(可选项)模版视频详情页是否静音播放
- 默认值:false(静音播放)
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块添加到指定window或frame
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
callback(ret,err)
ret:
- 类型:JSON对象
内部字段:
备注:ios和安卓不再支持高度的返回
{
status: true/false/onclick/close,
id:1,//数字类型;广告模块的id
playstatus:0/1/2/3 //视频模板广告的播放过程中返回的播放状态值
}
err:
- 类型:JSON对象
- 内部字段:
{
NSLocalizedDescription: "相关错误信息" //错误信息
}
示例代码
var tencentAds = api.require('tencentAds');
tencentAds.showNative({
NativeId : '4070330317832946',
x : 0,
y : 0,
w : api.frameWidth,
videoMuted:true,
detailPageVideoMuted:false,
fixedOn : api.frameName,
fixed : false
}, function(ret, err) {
alert("ret: " + JSON.stringify(ret) + "\err: " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
closeNative
closeNative()
关闭横幅广告
id :
- 数组类型
- 描述:需要关闭的原生模块id
备注:如不传此值,默认移除全部的原生模块且showNative回调中不返回close信息;
id:[1,2,3]
示例代码
var tencentAds = api.require('tencentAds');
tencentAds.closeNative({
id:[1,2,3]
});
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
loadRewardVideoAD
loadRewardVideoAD()
预加载激励视频广告
params
rewardVideoID:
- 广告位id值
volumeOn:
- 类型:布尔
- 描述:(可选项)激励视频广告是否开启声音
- 默认值:false(静音播放)
callback(ret,err)
ret:
- 类型:JSON对象
- 备注:返回overdue为激励视频已过期,需要开发者自行重新预加载广告
内部字段:
{
status: load/false/onclick/close/show/overdue
}
err:
- 类型:JSON对象
- 内部字段:
{
NSLocalizedDescription: "相关错误信息" //错误信息
}
示例代码
var tencentAds = api.require('tencentAds');
tencentAds.loadRewardVideoAD({
volumeOn:false,
rewardVideoID:"6040295592058680"
},function(ret, err) {
alert("ret: " + JSON.stringify(ret) + "\err: " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
showRewardVideoAD
showRewardVideoAD()
展示已经预加载的激励视频广告
示例代码
var tencentAds = api.require('tencentAds');
tencentAds.showRewardVideoAD();
可用性
备注:请再预加载广告返回load后,在调用此接口,否则无响应;
iOS系统,Android系统
可提供的1.1.3及更高版本
SDK错误码
- 4XX 初始化错误
- 403/404/405/406/4XX 网络错误
- 500 广告位错误:建议检查广告位是否正确
- 501 无广告返回:建议重新请求广告