baiduAd

概述

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

接入提示:

  • 首先需要在百青藤平台注册应用信息,注册通过后下载并集成SDK到您的APP内。
  • 广告产品接入需要先初始化SDK,并填写平台注册生成的应用id。然后根据您的需求接入不同的广告产品,并按照规范渲染各类广告产品。
  • 每一种产品的接入都需要appsid(应用id)和apid(广告位id)。
  • 信息流自渲染广告需要特殊注意调用register方法注册曝光给到SDK,否则无法计费。

使用此插件之前需先配置 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>

其他配置

在 iOS端,插件 SDK 不强制获取任何权限和信息,但是建议在应用打包时配置 定位(使用期间)定位服务(始终)用户追踪权限,可以有效提升ECPM。

在 iOS 端,建议媒体向用户申请IDFA权限授权,在用户授权之前IDFA 将不可用。如果用户拒绝此请求,应用获取到的 IDFA 将自动清零,可能会导致您的广告收入的降低。

插件接口

setHttps

设置是否支持 https

setHttps({params})

params

supportHttps:

  • 类型:布尔
  • 描述:(可选项)是否支持https
  • 默认:false

示例代码

var baiduAD = api.require('baiduAd');
var param = {
    "supportHttps":true
}
baiduAD.setHttps(param,function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS 系统

可提供的 1.1.1 及更高版本

getIDFAStatus

查询获取 idfa 授权状态

getIDFAStatus(callback(ret))

callback(ret)

  • 类型:JSON对象
  • 内部字段:
{
    status: 			//数字类型;取值范围:
                    //0:NotDetermined 
                    //1:Restricted
                    //2:Denied
                    //3:Authorized
}

示例代码

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

可用性

iOS 系统

可提供的 1.1.1 及更高版本

requestIDFAAuth

请求访问 idfa 权限,此时系统会弹框给用户,弹框内提示文字在应用打包时填写。

requestIDFAAuth(callback(ret))

callback(ret)

  • 类型:JSON对象
  • 内部字段:
{
    status: 			//数字类型;取值范围:
                    //-1:iOS14以下系统用户在系统设置里设置 
                    //0:NotDetermined
                    //1:Restricted
                    //2:Denied
                    //3:Authorized
}

示例代码

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

可用性

iOS 系统

可提供的 1.1.1 及更高版本

setBDPermissionEnable

开关新标志能力,如果有监管或隐私要求,可配置是否开启该能力。

setBDPermissionEnable({params})

params

BDPermission:

  • 类型:布尔
  • 描述:(可选项)开关新标志能力
  • 默认:true

示例代码

var baiduAD = api.require('baiduAd');
var param = {
    BDPermission:false
}
baiduAD.setBDPermissionEnable(param);

可用性

iOS系统

可提供的 1.1.1 及更高版本

getBDPermission

获取新标志能力开关状态

getBDPermission(callback(ret))

callback(ret)

  • 类型:JSON对象
  • 内部字段:
{
    BDPermission: 			//布尔类型; 
}

示例代码

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

可用性

iOS 系统

可提供的 1.1.1 及更高版本

initModule

初始化插件,本接口仅支持android端。使用插件前必须实现本方法,否则广告功能无法正常使用

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));
});

可用性

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 对象
  • 描述:(可选项)插件的位置及尺寸,本参数仅支持 Android端
  • 内部字段:
{
    x: 0,    //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,    //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 250,  //(可选项)数字类型;插件的宽度;默认:250
    h: 200   //(可选项)数字类型;插件的高度;默认:200
}

adId:

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

userID:

  • 类型: 字符串
  • 描述:(可选项)userID

type:

  • 类型:字符串
  • 描述:广告类型,默认pauseVideo,本参数仅支持 Android端
  • 取值范围:
    • '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代表:广告关闭
                        6代表:视频开始播放
                        7代表:广告完成播放
                        8代表:成功激励回,调低于30s的视频播放达到90%即会回调,高于30s的视频播放达到27s即会回调
                        9代表:用户点击视频跳过按钮,进入尾帧
}

示例代码

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

关闭激励视频广告,本接口仅支持 Android端

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。本参数iOS端不支持
  • 取值范围:
    • 'pauseVideo'
    • 'beforeVideo'
    • 'other' (默认为全屏,此类型下,rect参数无效)

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)插件添加到指定 frame 的名字(只指 frame,传 window 无效)。本参数iOS端不支持
  • 默认:插件依附于当前 window

fixed:

  • 类型:布尔类型
  • 描述:(可选项)插件是否随所属 window 或 frame 滚动。本参数iOS端不支持
  • 默认值: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

关闭全屏视频广告,iOS不支持本接口

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对象
  • 描述:返回值
{
    code:,               //数字类型;iOS端仅返回此参数,1开始加载,2加载完成,3加载失败
    "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及更高版本

closeCpuInfoAd

关闭内容联盟广告,仅支持iOS端

closeCpuInfoAd()

示例代码

var baiduAD = api.require('baiduAd');
baiduAD.closeCpuInfoAd();

可用性

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

是否仍需要帮助? 请保持联络!
最后更新于 2023/06/2