ad
HBuilderX2.5.3+版本开始支持,uni-AD申请开通请登录- createAdView: 创建广告控件
- : 获取信息流广告数据
- releaseAdData: 释放广告数据
对象:
- : 信息流广告数据对象
- AdView: 广告控件对象
- : 广告原生控件样式
- AdsOptions: 获取信息流广告的参数
回调方法:
- : 监听广告渲染完成事件回调函数
- ADviewDislikedCallback: 监听点击关闭广告事件回调函数
- : 广告操作成功回调函数
- AdErrorCallback: 广告操作错误回调函数
权限:
5+功能模块(permissions)
createAdView
创建广告控件
AdView plus.ad.createAdView(styles);
说明:
创建广告控件后不会自动显示,需要将控件添加Webview窗口中才能显示;广告控件不会自动渲染广告内容,需要调用renderingBind方法绑定广告数据才会渲染;完成显示后需要调用close方法关闭广告控件,释放原生资源。
参数:
- styles: ()必选 广告控件样式
返回值:
AdView: 广告控件对象
示例:
var adView = null;
//创建广告控件
function createAdView() {
adView = plus.ad.createAdView({
top:adDom.offsetTop+'px',
left:'0px',
width:'100%',
height:'0px',
position: 'static'
});
}
getAds
获取信息流广告数据
void plus.ad.getAds(options, successCB, errorCB);
参数:
- options: (String)可选 获取广告参数
- successCB: (GetAdsSuccessCallback)必选 获取信息流广告数据成功回调
- errorCB: ()必选 获取信息流广告数据失败回调
返回值:
void: 无
示例:
//广告控件
var adView = null;
//获取信息流广告数据
function getAds(){
plus.ad.getAds({adpid:'1111111111',width:'100%',count:1}, function(e){
console.log('获取广告成功: '+JSON.stringify(e));
if(!e || !e.ads || e.ads.length<1){
console.log('无广告数据!');
}else{
console.log('开始渲染广告');
adView.renderingBind(e.ads[0]);
}
}, function(e){
console.log('获取广告失败: '+JSON.stringify(e));
});
}
releaseAdData
释放广告数据
说明:
通过plus.ad.getAds方法获取广告数据后,如果不绑定的广告控件中,则需要调用此方法释放广告数据。
参数:
- data: ()可选 要释放的广告数据对象
返回值:
void: 无
AdData
信息流广告数据对象
属性:
- description: 广告描述信息
- : 广告显示类型
- title: 广告标题
description
广告描述信息
String类型 只读属性
showMode
广告显示类型
说明:
String类型 只读属性
可取值: lage - 大图广告; small - 小图广告; multiple - 多图广告; video - 视频广告。
title
说明:
String类型 只读属性
AdView
广告控件对象
interface plus.ad.AdView extends plus.nativeObj.View {
// Methods
function void renderingBind(data);
function void setRenderingListener(ADViewRenderingCallback);
function void setDislikeListener(ADviewDislikedCallback);
}
说明:
AdView从继承,用于渲染显示广告的原生控件,目前仅支持“模板渲染”模式,暂不支持“自定义渲染”模式。使用广告控件步骤:- 创建广告控件AdView,添加到Webview中,高度设置为"0px",此时不显示
- 获取广告数据,将广告数据绑定到AdView上并开始渲染
- 监听广告渲染事件,广告渲染成功后更新AdView的高度,显示广告注意:广告控件创建后需添加到Webview窗口中才能显示,关闭广告。
方法:
- renderingBind: 绑定广告数据并渲染
- : 监听广告渲染完成事件
- setDislikeListener: 监听点击关闭广告事件
示例:
var adView = null;
//创建并渲染广告
function doCreateAd(){
adView = plus.ad.createAdView({
top:adDom.offsetTop+'px',
left:'0px',
height:'0px',
position: 'static'
});
plus.webview.currentWebview().append(adView);
adView.setRenderingListener(function(e){
outLine('渲染广告完成: '+JSON.stringify(e));
if(0 != e.result){
outLine('渲染失败!');
}else{
adView.setStyle({height:e.height+'px'});
adDom.style.height = e.height+'px';
}
});
plus.ad.getAds({adpid:'1111111111',width:'100%',count:1}, function(e){
outLine('获取广告成功: '+JSON.stringify(e));
if(!e || !e.ads || e.ads.length<1){
outLine('无广告数据!');
}else{
outLine('开始渲染广告');
adView.renderingBind(e.ads[0]);
}, function(e){
outLine('获取广告失败: '+JSON.stringify(e));
});
}
renderingBind
绑定广告数据并渲染
void adview.renderingBind(data);
说明:
可通过setRenderingListener方法监听广告渲染完成事件。
参数:
- data: (AdData)必选 要绑定的广告数据广告数据可通过plus.ad.getAds方法获取。
返回值:
void: 无
setRenderingListener
监听广告渲染完成事件
void adview.setRenderingListener(callback);
说明:
“模板渲染”模式下有效,广告控件渲染完成时触发。回调函数中返回渲染结果,及广告显示需要的宽度及高度信息,此时需动态调整控件的高度确保广告内容正常显示。
参数:
- callback: ()必选 监听广告渲染完成的回调函数
返回值:
void: 无
setDislikeListener
监听点击关闭广告事件
说明:
“模板渲染”模式下有效,用户点击“关闭广告”按钮时触发。注意:用户点击此按钮并不会关闭广告控件,需要调用ADView的close方法关闭控件,释放原生资源。
参数:
- callback: (ADviewDislikedCallback)必选 监听关闭广告的回调函数
返回值:
void: 无
AdViewStyles
广告原生控件样式
top: _(String类型)_AdView控件左上角的垂直偏移量可取值:像素值,如"100px";百分比,如"10%",相对于父Webview窗口的高度。默认值为"0px"。
left: _(String类型)_AdView控件左上角的水平偏移量可取值:像素值,如"100px";百分比,如"10%",相对于父Webview窗口的宽度。默认值为"0px"。
width: _(String类型)_AdView控件的宽度可取值:像素值,如"100px";百分比,如"10%",相对于父Webview窗口的宽度。默认值为"100%"。
height: _(String类型)_AdView控件的高度可取值:像素值,如"100px";百分比,如"10%",相对于父Webview窗口的高度。默认值为"0px"。
AdsOptions
获取信息流广告的参数
属性:
adpid: (String类型)信息流广告位标识在UniAD平台新建广告位后可得到。
width: (String类型)信息流广告将要显示的宽度支持像素值(如"100px")、百分比(如"50%")。默认值为"100%"。注:此值用于向广告平台匹配合适的信息流广告,建议传入广告展现时真实的宽度。
cound: (Number类型)获取信息流广告的数目默认值为3。注:真实返回的广告数目可能小于此值,如填充率不够时会发生此情况。
GetAdsSuccessCallback
获取信息流广告成功回调函数
void onSuccess( Event event ){
// Code here
var ads = event.ads; // AdData数组对象,AdData为广告数据对象
}
说明:
获取信息流广告成功时触发,并返回信息流广告数据。
参数:
- event: (Event)可选 获取信息流广告成功的信息可通过event.ads,Array(AdData类型)获取广告数据。
返回值:
void: 无
ADViewRenderingCallback
监听广告渲染完成事件回调函数
void onSuccess( Event event ){
// Code here
var result = event.result; // 广告渲染结果,0表示渲染成功
var width = event.wdith; // 广告渲染需要的宽度,逻辑像素值
var height = event.height; // 广告渲染需要的高度,逻辑像素值
}
说明:
广告渲染完成时触发。
参数:
- event: (Event)可选 广告渲染的信息event包含以下参数:result - Number类型,0表示渲染成功,其它值表示渲染失败;width - Number类型,控件的宽度,逻辑像素值;height - Number类型,控件的高度,逻辑像素值。
返回值:
void: 无
ADviewDislikedCallback
监听点击关闭广告事件回调函数
void onSuccess( Event event ){
// Code here
var value = event.value; // 用户关闭广告的原因
}
说明:
用户点击关闭广告时触发。
参数:
- event: (Event)可选 关闭广告的信息event包含以下参数:value - String类型,不喜欢的原因。
返回值:
void: 无
AdSuccessCallback
广告操作成功回调函数
void onSuccess(){
// Code here
}
参数:
无
返回值:
void: 无
AdErrorCallback
广告操作错误回调函数
说明:
参数:
void: 无