tencentAds

showBanner closeBanner closeInterstitialAD showSplashActivity closeNative showRewardVideoAD

1.1.3更新说明

概述

tencentAds 封装了腾讯广告联盟的SDK,实现了横幅、插屏、开屏等主流样式。使用之前须从腾讯广告联盟申请开发者账号并创建应用,获取 APPID 和 对应的广告位id。

使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:

  • 名称:tencentAds
  • 参数:APPID、BannerPosID、InterteristalPosID、SplashPosID、APPID_ios、BannerPosID_ios、InterteristalPosID_ios、SplashPosID_ios
  • 配置示例:
  1. //上述非必须权限,开发者视情况自行添加;
  2. <permission name="location" />
  3. //上述非必须权限,开发者视情况自行添加;
  4. <feature name="tencentAds">
  5. <param name="APPID" value="1105817983"/>
  6. <param name="BannerPosID" value="3040460631118415"/> <!--banner2.0-->
  7. <param name="InterteristalPosID" value="4030069601412496"/><!--插屏2.0-->
  8. <param name="SplashPosID" value="8050224168345383"/>
  9. <param name="APPID_ios" value="1105344611"/>
  10. <param name="BannerPosID_ios" value="1080958885885321"/><!--banner2.0-->
  11. <param name="InterteristalPosID_ios" value="1050652855580392"/><!--插屏2.0-->
  12. <param name="SplashPosID_ios" value="9040714184494018"/>
  13. </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))

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 滚动

callback(ret,err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status:true/false/onclick/close
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. NSLocalizedDescription: "相关错误信息" //错误信息
  3. }

示例代码

  1. var tencentAds = api.require('tencentAds');
  2. tencentAds.showBanner({
  3. x: 0,
  4. y: 0,
  5. refresh: 30,
  6. fixedOn: api.frameName,
  7. fixed: true
  8. },function(ret,err){
  9. alert("ret: " + JSON.stringify(ret) + "\nerr: " + JSON.stringify(err));
  10. });

可用性

iOS系统,Android系统

可提供的1.1.3及更高版本

refreshBanner

refreshBanner()

示例代码

  1. var tencentAds = api.require('tencentAds');
  2. tencentAds.refreshBanner();

可用性

Android系统,ios系统

可提供的1.1.3及更高版本

closeBanner

closeBanner()

关闭横幅广告

示例代码

  1. var tencentAds = api.require('tencentAds');

可用性

iOS系统,Android系统

可提供的1.0.9及更高版本

showInterstitialAD

模块内部已经实现插屏广告的预载

params

PopupWindow:

  • 类型:boolean对象
  • 内部字段:true/false,默认true(无遮罩)
  • 备注:此参数仅支持安卓,IOS传入无效,IOS默认有遮罩

showInterstitialAD(callback(ret,err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status:true/false/onclick/close
  3. }

err:

  • 类型:JSON对象
  • 内部字段:

示例代码

  1. var tencentAds = api.require('tencentAds');
  2. tencentAds.showInterstitialAD(
  3. PopupWindow:false
  4. function(ret,err){
  5. alert("ret: " + JSON.stringify(ret) + "\nerr: " + JSON.stringify(err));
  6. });

可用性

iOS系统,Android系统

可提供的1.1.3及更高版本

closeInterstitialAD

关闭插屏广告

closeInterstitialAD()

  1. 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对象
  • 内部字段:
  1. {
  2. status: true/false/onclick/close
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. NSLocalizedDescription: "相关错误信息" //错误信息
  3. }

示例代码

  1. var tencentAds = api.require('tencentAds');
  2. tencentAds.showSplash(
  3. {
  4. splashlogo : 'widget://res/logo.jpg',//(可选项)字符串类型;开屏广告下方的logo图片,传入后广告会自动适配屏幕大小;不传则不显示,,暂只支持widget路经。
  5. splashholderimg : 'widget://image/splash.png'//(可选项)字符串类型;开屏广告的占位图片,要求高度不小于400,否则广告将无法展示;不传显示为透明背景。暂只支持widget路经。
  6. },
  7. function(reterr){
  8. alert("ret: " + JSON.stringify(ret) + "\nerr: " + JSON.stringify(err));
  9. });

可用性

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对象
  • 内部字段:
  1. {
  2. status: true/false/onclick/close
  3. }

err:

  • 类型:JSON对象
  1. {
  2. NSLocalizedDescription: "相关错误信息" //错误信息
  3. }

示例代码

可用性

iOS系统,Android系统

备注:ipad设备不支持开平广告接口,调用此接口会返回status:false,错误信息“设备不支持”

可提供的1.1.3及更高版本

showNative

showNative({params},callback(ret))

params

x:

  • 类型:数字类型
  • 描述:(可选项)模块左上角的 x 坐标(相对于所属的 Window 或 Frame)
  • 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和安卓不再支持高度的返回

  1. {
  2. id:1,//数字类型;广告模块的id
  3. playstatus:0/1/2/3 //视频模板广告的播放过程中返回的播放状态值
  4. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. NSLocalizedDescription: "相关错误信息" //错误信息
  3. }
  1. var tencentAds = api.require('tencentAds');
  2. tencentAds.showNative({
  3. NativeId : '4070330317832946',
  4. x : 0,
  5. y : 0,
  6. w : api.frameWidth,
  7. videoMuted:true,
  8. detailPageVideoMuted:false,
  9. fixedOn : api.frameName,
  10. fixed : false
  11. }, function(ret, err) {
  12. alert("ret: " + JSON.stringify(ret) + "\err: " + JSON.stringify(err));
  13. });

可用性

iOS系统,Android系统

可提供的1.1.3及更高版本

closeNative

closeNative()

关闭横幅广告

id :

  • 数组类型
  • 描述:需要关闭的原生模块id
  • 备注:如不传此值,默认移除全部的原生模块且showNative回调中不返回close信息;

    1. id:[1,2,3]

示例代码

  1. var tencentAds = api.require('tencentAds');
  2. tencentAds.closeNative({
  3. id:[1,2,3]
  4. });

可用性

iOS系统,Android系统

可提供的1.1.3及更高版本

loadRewardVideoAD

loadRewardVideoAD()

预加载激励视频广告

params

rewardVideoID:

  • 广告位id值

volumeOn:

  • 类型:布尔
  • 描述:(可选项)激励视频广告是否开启声音
  • 默认值:false(静音播放)

callback(ret,err)

ret:

  • 类型:JSON对象
  • 备注:返回overdue为激励视频已过期,需要开发者自行重新预加载广告
  • 内部字段:

    1. {
    2. status: load/false/onclick/close/show/overdue
    3. }

    err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. NSLocalizedDescription: "相关错误信息" //错误信息
  3. }

示例代码

可用性

iOS系统,Android系统

可提供的1.1.3及更高版本

showRewardVideoAD

showRewardVideoAD()

展示已经预加载的激励视频广告

示例代码

  1. var tencentAds = api.require('tencentAds');
  2. tencentAds.showRewardVideoAD();

可用性

备注:请再预加载广告返回load后,在调用此接口,否则无响应

可提供的1.1.3及更高版本

SDK错误码

  1. 4XX 初始化错误
  2. 403/404/405/406/4XX 网络错误
  3. 500 广告位错误:建议检查广告位是否正确