baiduAd

立即使用

概述

baiduAD 封装了百度公司的常青藤广告联盟 SDK。模块支持横幅广告、开屏广告、视频贴片广告,激励及全屏视频等广告展现形式。使用本模块需要到百度MSSP平台去生成应用,并获取应用id,代码位id等参数。

使用此模块之前需先配置 config.xml 文件(如在初始化函数中配置可忽略此操作),配置完毕,需通过云端编译生效,配置方法如下:

  • 名称:baiduAd
  • 参数:appId(应用的Id)
  • 配置示例:

  <!-- Android 配置方法 -->
  <meta-data name="BaiduMobAd_APP_ID" value="6536447"/>

  <!-- iOS 配置方法 -->
  <feature name="baiduAd">
    <param name="ios_appId" value="ccb60059"/>
  </feature>

模块接口

initModule

初始化模块。使用模块前必须实现本方法,否则广告功能无法正常使用

initModule({params},callback(ret))

params

appsid:

  • 类型:字符串类型
  • 描述:(可选项)应用 appsid
  • 注意:传入此参数等同于在 config.xml 文件中配置

appName:

  • 类型:字符串类型
  • 描述:(可选项)app 名称

callback(ret)

  • 类型:JSON对象
  • 内部字段:
{
    "status":"true"            //布尔类型;模块初始化成功时返回此字段
}

示例代码

var baiduAD = api.require('baiduAD');
var param = {
    "appsid":"您申请的appsid"
}
baiduAD.initModule(param,function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getSDKVersion

获取SDK版本号

getSDKVersion(callback(ret))

callback(ret)

{
    "version":""        //字符串类型;SDK版本号
}

示例代码

var baiduAD = api.require('baiduAD');
baiduAD.getSDKVersion(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showBannerAd

显示横幅广告

类型特点:横幅广告一般位于 app 底部或顶部,横幅广告会停留在屏幕上,并可在一段时间后自动更新。

适用场景:文章底部,app 底部/顶部,小说底部等。

showBannerAd({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
{
    x: 0,        //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,        //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 300,      //(可选项)数字类型;模块的宽度;页面从x位置开始自动充满所属的 Window 或 Frame 的宽度;默认:300
    h: 300        //(可选项)数字类型;模块的高度;默认:300
}

adId:

  • 类型: 字符串
  • 描述:广告代码位id

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

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

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    "status":false        //布尔类型;广告展示失败时返回此字段
    "msg":""            //字符串类型;广告展示失败时返回此字段
    "code": 1              //数字类型;取值范围0,1,2,3
                        0代表:广告将要展示
                        1代表:广告展示成功
                        2代表:用户点击了广告
                        3代表:用户点击了关闭按钮
}

示例代码

var baiduAd = api.require('baiduAd');
var param = {
    "rect": {
        x: 0,
        y: 0,
        w: 300,
        h: 300
    },
    "adId": '2015347',
    "fixedOn": api.frameName,
    "fixed": true
}
baiduAd.showBannerAd(param,function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeBannerAd

关闭横幅广告

closeBannerAd()

示例代码

var baiduAD = api.require('baiduAD');
baiduAD.closeBannerAd();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showPatchAd

显示贴片广告

类型特点:贴片广告常用于视频组件,用于给视频贴片,在视频预加载,暂停或结束时使用

适用场景:视频组件的自然停顿点,适合投放这类广告

showPatchAd({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
{
    x: 0,    //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,    //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 320,  //(可选项)数字类型;模块的宽度;默认:320
    h: 240   //(可选项)数字类型;模块的高度;默认:240
}

adId:

  • 类型: 字符串
  • 描述:广告代码位id

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

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

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    "status":false        //布尔类型;广告展示失败返回此字段
    "msg":""            //字符串类型;广告展示失败会返回此字段
    "code": 1              //数字类型;取值范围0,1,2,3
                        0代表:广告准备播放
                        1代表:广告展示成功
                        2代表:用户点击了广告
                        3代表:广告展示完毕
}

示例代码

var baiduAD = api.require('baiduAD');
var param = {
    "rect": {
        x: 0,
        y: 0,
        w: 300,
        h: 300
    },
    "adId": '2058633',
    "fixedOn": api.frameName,
    "fixed": true
}
baiduAD.showPatchAd(param,function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closePatchAd

关闭贴片广告

closePatchAd()

示例代码

var baiduAD = api.require('baiduAD');
baiduAD.closePatchAd();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showSplashAd

显示开屏广告

类型特点:开屏广告在 App 启动时展现

showSplashAd({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
{
    x: 0,     //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,     //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 375,   //(可选项)数字类型;模块的宽度;页面从x位置开始自动充满所属的 Window 或 Frame 的宽度;默认:300
    h: 670    //(可选项)数字类型;模块的高度;页面从x位置开始自动充满所属的 Window 或 Frame 的高度;默认:300
}

adId:

  • 类型: 字符串
  • 描述:广告代码位id

canClick:

  • 类型:布尔类型
  • 描述:是否允许点击,默认true

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

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

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    "status":false        //布尔类型;广告展示失败返回此字段
    "msg":""            //字符串类型;广告展示失败会返回此字段,内容为广告展示失败原因
       "code": 1              //数字类型;取值范围1,2,3,4
                        1代表:广告请求成功
                        2代表:广告展示成功
                        3代表:用户点击了广告
                        4代表:广告关闭
}

示例代码

var baiduAD = api.require('baiduAD');
var param = {
    rect: {
        x: 0,
        y: 0,
        w: 300,
        h: 300
    },
    adId: '2058633',
    canClick: true,
    fixedOn: api.frameName,
    fixed: true
}
baiduAD.showSplashAd(param,function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本\

closeSplashAd

关闭开屏广告

removeSplashAd()

示例代码

var baiduAD = api.require('baiduAD');
baiduAD.closeSplashAd();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showIncentiveVideoAd

显示激励视频广告

类型特点:激励视频广告是用户通过观看短视频,获取应用内奖励(免广告,任务奖励,游戏金币)等

适用场景:具体场景由开发者定义

showIncentiveVideoAd({param},callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
{
    x: 0,    //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,    //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 250,  //(可选项)数字类型;模块的宽度;默认:250
    h: 200   //(可选项)数字类型;模块的高度;默认:200
}

adId:

  • 类型: 字符串
  • 描述:广告代码位id

type:

  • 类型:字符串
  • 描述:广告类型,默认pauseVideo
  • 取值范围:
    • 'pauseVideo'
    • 'beforeVideo'
    • 'other' (默认为全屏,此类型下,rect参数无效)

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

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

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    "status":false        //布尔类型;广告展示失败返回此字段
    "msg":""            //字符串类型;广告展示失败会返回此字段,内容为广告展示失败原因
       "code": 1              //数字类型;取值范围0,1,2,3,4,5
                        0代表:广告请求成功
                        1代表:广告展示成功
                        2代表:用户点击了广告
                        3代表:视频物流缓存成功
                        4代表:视频物流缓存失败
                        5代表:广告关闭
}

示例代码

var baiduAD = api.require('baiduAD');
var param = {
    "adId": '2058634',
    "type": 'beforeVideo',
    "fixedOn": api.frameName,
    "fixed": true
}
baiduAD.showIncentiveVideoAd(param,function(ret){
    alert(JSON.stringify(ret));
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeIncentiveVideoAd

关闭激励视频广告

closeIncentiveVideoAd()

示例代码

var baiduAD = api.require('baiduAD');
baiduAD.closeIncentiveVideoAd();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showInterstitialAd

显示模板插屏广告

类型特点:插屏广告自带关闭按钮UI,用户点击直接可以关闭广告

适用场景:在应用停顿点,适合投放这类广告。插屏广告支持图片、视频物料。

showInterstitialAd({param},callback(ret))

params

adId:

  • 类型:字符串类型
  • 描述:广告代码位id

type:

  • 类型:字符串
  • 描述:广告类型,默认pauseVideo
  • 取值范围:
    • 'pauseVideo'
    • 'beforeVideo'
    • 'other' (默认为全屏,此类型下,rect参数无效)

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

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

callback(ret)

{
    "status":false        //布尔类型;广告展示失败返回此字段
    "msg":""            //字符串类型;广告展示失败会返回此字段
    "code":0            //数字类型;取值范围
                        0:广告请求成功
                        1:用户点击广告
}

示例代码

var baiduAD = api.require('baiduAD');
var param = {
    "adId": '2058634',
    "type": 'beforeVideo',
    "fixedOn": api.frameName,
    "fixed": true
}
baiduAD.showInterstitialAd(param,function(ret){
    alert(JSON.stringify(ret));
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showFullVideoAd

展示全屏视频广告

类型特点:适用于用户场景切换情况下触发广告,视频播放5秒后可跳过,被动播放但可主动关闭,兼顾体验与效果

适用场景:多用于休闲娱乐游戏及阅读章节插页等场景

showFullVideoAd({params},callback(ret))

params

adId:

  • 类型:字符串类型
  • 描述:广告代码位id

type:

  • 类型:字符串类型
  • 描述:广告类型,默认pauseVideo
  • 取值范围:
    • 'pauseVideo'
    • 'beforeVideo'
    • 'other' (默认为全屏,此类型下,rect参数无效)

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

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

callback(ret)

{
    "status":fasle            //布尔类型;广告展示失败会返回此字段
    "msg":""                //字符串类型;广告展示失败会返回此字段,内容包含广告展示失败原因
    "code": 1                  //数字类型;取值范围0,1,2,3,4,5
                            1代表:广告展示成功
                            2代表:用户点击了广告
                            3代表:视频物流缓存成功
                            4代表:视频物流缓存失败
                            5代表:广告关闭            
}

示例代码

var baiduAD = api.require('baiduAD');
var param = {
    "adId": '2058634'
}
baiduAD.showFullVideoAd(param,function(ret){
    alert(JSON.stringify(ret));
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeFullVideoAd

关闭全屏视频广告

closeFullVideoAd()

示例代码

var baiduAD = api.require('baiduAD');
baiduAD.closeFullVideoAd();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showCpuInfoAd

显示内容联盟广告

类型特点:内容联盟为内容+广告+推荐一站式输出,实现内容+广告的混合展示,也可根据媒体样式自行渲染

showCpuInfoAd({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
{
    x: 0,    //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,    //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 375,  //(可选项)数字类型;模块的宽度;页面从x位置开始自动充满所属的 Window 或 Frame 的宽度;默认:300
    h: 670   //(可选项)数字类型;模块的高度;页面从x位置开始自动充满所属的 Window 或 Frame 的高度;默认:300
}

appId:

  • 类型: 字符串
  • 描述:应用id

channelId:

  • 类型: 字符串
  • 描述:频道id

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

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

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    "status":false            //布尔类型;广告请求错误时返回此字段
    "msg":""                //字符串类型;广告请求错误时返回此字段
    "position":""            //数字类型;负反馈点击时回调返回此字段
    "reason":""                //字符串类型;负反馈点击回调返回此字段
    "ad1":{                    //该字段为广告联盟内广告内容,根据广告顺序ad数字递增
        "type":""            //字符串类型;内容数据类型
                            //取值范围:
                            //news新闻,image图片,video视频,ad广告
        "author":""            //作者、来源
        "iconUrl":""        //图标url
        "title":""            //标题
        "desc":""            //描述
        "smallImageUrls":""    //小图片的url,多为三图或多图展示使用,内容部分的图片
        "imageUrls":""        //图片url,多为大图展示使用,广告部分的图片,根据图片数量不同展示大图广告/三图广告
        "thumbUrl":""        //视频缩略图(封面图)的url(视频)
    }
}

示例代码

var baiduAd = api.require('baiduAd');
var param = {
    rect: {
        x: 0,
        y: 0,
        w: 'auto',
        h: 'auto'
    },
    appId: 'd77e414',
    channelId: '1001',
    fixedOn: api.frameName,
    fixed: true
}
baiduAd.showCpuInfoAd(param,function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showNativeAd

显示信息流广告

使用信息流优选模板产品,需传入平台【智能优选-优选模板】代码位,若代码位类型不匹配,将影响广告功能

showNativeAd({param},callback(ret))

param

adId:

  • 类型:字符串类型
  • 描述:广告代码位id

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

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

callback(ret)

{
    "status":false        //布尔类型;广告请求失败会返回此字段
    "msg":""            //字符串类型;广告请求失败会返回此字段
    "code":1            //数字类型;用户点击广告
}

示例代码

var baiduAd = api.require('baiduAd');
var param = {
    rect: {
        x: 0,
        y: 0,
        w: 'auto',
        h: 'auto'
    },
    appId: '2058628',
    fixedOn: api.frameName,
    fixed: true
}
baiduAd.showNativeAd(param,function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeNativeAd

关闭信息流广告

closeNativeAd()

示例代码

var baiduAD = api.require('baiduAD');
baiduAD.closeNativeAd();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本