tencentAds

init

showBanner

refreshBanner

closeBanner

showInterstitialAD

closeInterstitialAD

showSplash

showSplashActivity

loadNative

showNative

loadRewardVideoAD

showRewardVideoAD

1.3.5更新说明

1.安卓SDK更新至4.561.1431;IOS更新至4.14.60;
2.优化原生广告加载逻辑,具体请参考文档;

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例(模块tencentAds论坛帖链接),示例中包含示例代码、知识点讲解、注意事项等,供您参考。

模块tencentAds论坛帖地址:https://community.yonyou.com/thread-136529-1-1.html

概述

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="IsManualInt" value="false" />
   <param name="usedDownConfirm" value="false"/><!--二次确认-->
   <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>
  • 字段描述:

    IsManualInt:是否手动初始化,默认为false。为false时自动完成初始化工作;

  • usedDownConfirm:是否开启广告二次确认下载,默认为不开启.

    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。

init

手动初始化SDK,仅当IsManualInt配置为true时使用,为false或不填时无需调用此方法。 init(callback(ret,err))

callback(ret,err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status:
           onStartSuccess/sdk启动成功
           onStartFailed/sdk启动失败
}

err:

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

showBanner

打开横幅广告

showBanner({params},callback(ret,err))

params

x:

  • 类型:数字类型
  • 描述:(可选项)模块左上角的 x 坐标(相对于所属的 Window 或 Frame)
  • 默认值:0

y:

  • 类型:数字类型
  • 描述:(可选项)模块左上角的 y 坐标(相对于所属的 Window 或 Frame)
  • 默认值:0

w:

  • 类型:数字类型
  • 描述:(可选项)模块的宽度;页面从x位置开始自动充满所属的 Window 或 Frame 的宽度
  • 默认值:自适应
  • 备注:宽度值不能小于300,否则曝光不成功,导致无法计费。

h:

依据官方给出的要求,宽高比为固定的6.4/1,请开发者自行计算模块的高度

BannerPosID:

  • 类型:字符串类型
  • 描述:横幅广告的广告位ID
  • 默认值:无,如果不传此值,则使用config中的横幅广告ID

refresh:

  • 类型:字符串类型
  • 描述:(可选项)横幅刷新时间
  • 默认值:30
  • 取值范围:0或30-120(0表示不刷新)

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定window或frame
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

callback(ret,err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status:
           onADShow/
           onNoAD/
           onADClick/
           onADClose/
           onADExposure/
}

err:

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

示例代码

var tencentAds = api.require('tencentAds');
tencentAds.showBanner({
       x: 0,
       y: 0,
       BannerPosID:'4080052898050840',
       refresh: 30,
       fixedOn: api.frameName,
       fixed: true
},function(ret,err){
      alert("ret: " + JSON.stringify(ret) + "\nerr: " + JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.1.6及更高版本

refreshBanner

refreshBanner()

示例代码

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

可用性

Android系统

可提供的1.1.5及更高版本

closeBanner

closeBanner()

关闭横幅广告

示例代码

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

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

showInterstitialAD

展示插屏广告,有/无遮罩(可选)

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

params

InterstitialID:

  • 类型:字符串类型
  • 描述:插屏广告的广告位ID
  • 默认值:无,如果不传此值,则使用config中的插屏广告ID

showInterstitialAD(callback(ret,err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
      status:
            onADLoad/
            onNoAD/
            onADClick/
            onADClose/
            onADShow/
}

err:

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

示例代码

var tencentAds = api.require('tencentAds');
tencentAds.showInterstitialAD(
    InterstitialID:'8020259898964453',
    function(ret,err){
       alert("ret: " + JSON.stringify(ret) + "\nerr: " + JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.1.6及更高版本

closeInterstitialAD

关闭插屏广告

closeInterstitialAD()

tencentAds.closeInterstitialAD();

可用性

Android系统

可提供的1.1.6及更高版本

备注:此接口的回调在showInterstitialAD中返回,ios调用此接口无效

showSplash

展示开屏广告

如果您使用手动初始化广告SDK,请在init回调中执行

showSplash({params},callback(ret))

params

y:

  • 类型:(可选项)数字类型
  • 描述:(可选项)模块据顶部的距离。
  • 默认值:0
  • 备注:如果您的app使用沉浸样式,您可能需要使用此参数,可传入设备状态栏高度,此参数暂仅支持安卓,ios传入无效。

splashlogo:

  • 类型:字符串类型
  • 描述:(可选项)开屏广告下方的logo图片,暂仅支持widget路径
  • 默认值:无(不传则不显示)
  • 备注:安卓设备在拉取广告过程中显示logo,ios则在广告拉取成功后才会显示logo
  • image示例

splashholderimg:

  • 类型:字符串类型
  • 描述:(可选项)开屏广告的占位图片,暂仅支持widget路径
  • 默认值:无(不传则显示透明背景)

SplashPosID:

  • 类型:字符串类型
  • 描述:开屏广告的广告位ID
  • 默认值:无,如果不传此值,则使用config中的开屏广告ID

callback(ret,err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  status: 
        onADShow/
        onNoAD/
        onADClick/
        onADClose/
        onADExposure/
}

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.5及更高版本

showSplashActivity

以单独的Activity展示开屏广告

如果您使用手动初始化广告SDK,请在init回调中执行

showSplashActivity({params},callback(ret))

params

splashlogo:

  • 类型:字符串类型
  • 描述:(可选项)开屏广告下方的logo图片,暂仅支持widget路径
  • 默认值:无(不传则不显示)
  • 备注:安卓设备在拉取广告过程中显示logo,ios则在广告拉取成功后才会显示logo
  • image示例

splashholderimg:

  • 类型:字符串类型
  • 描述:(可选项)开屏广告的占位图片,暂仅支持widget路径
  • 默认值:无(不传则显示透明背景)

SplashPosID:

  • 类型:字符串类型
  • 描述:开屏广告的广告位ID
  • 默认值:无,如果不传此值,则使用config中的开屏广告ID

callback(ret,err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  status: 
        onADShow/
        onNoAD/
        onADClick/
        onADClose/
        onADExposure/
}

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.5及更高版本

loadNative

loadNative({params},callback(ret))

params

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: onADLoad/
          onNoAD/
}

err:

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

示例代码

var tencentAds = api.require('tencentAds');
tencentAds.showNative({
                    NativeId : '4070330317832946',
                    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.6及更高版本

showNative

showNative({params})

x:

  • 类型:数字类型
  • 描述:(可选项)模块左上角的 x 坐标(相对于所属的 Window 或 Frame)
  • 备注:默认值:0

y:

  • 类型:数字类型
  • 描述:(可选项)模块左上角的 y 坐标(相对于所属的 Window 或 Frame)
  • 备注:默认值:0

调用方法:您可以首先使用loadNative加载广告,showNative每次调用会检查是否已加载了广告。 showNative返回onNoAd,说明无广告,请调用loadNative加载广告

callback(ret,err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  status: onNoAd/
          onAdClick/
          onAdClose/
          onAdShow
}

err:

  • 类型:JSON对象
  • 内部字段:
{
   NSLocalizedDescription: "相关错误信息"   //错误信息      
}
var tencentAds = api.require('tencentAds');
tencentAds.showNative({
          x: 0,
          y: y,
          fixed: false,
          fixedOn: api.frameName
        },function(ret,err){
                alert("ret: " + JSON.stringify(ret) + "\err: " + JSON.stringify(err));
        });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

loadRewardVideoAD

loadRewardVideoAD()

预加载激励视频广告

params

rewardVideoID:

  • 广告位id值
  • 激励视频请选择“sdk原生渲染注册id”

volumeOn:

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

callback(ret,err)

ret:

  • 类型:JSON对象
  • 备注:返回overdue为激励视频已过期,需要开发者自行重新预加载广告
  • 内部字段:
{
  status: onADLoad/
          onReward/
          onNoAD/
          onADClick/
          onADClose/
          onADShow/
          onADExpose/
          onVideoCached/
          onVideoComplete/
          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.5及更高版本

showRewardVideoAD

showRewardVideoAD()

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

示例代码

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

可用性

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

iOS系统,Android系统

可提供的1.1.5及更高版本

SDK错误码

  1. 4XX 初始化错误
  2. 403/404/405/406/4XX 网络错误
  3. 500 广告位错误:建议检查广告位是否正确
  4. 501 无广告返回:建议重新请求广告
  5. 102006请求广告无返回,请联系优量汇客服
是否仍需要帮助? 请保持联络!
最后更新于 2024/07/22