ad
AD模块实现uni-AD广告联盟功能,聚合目前国内流行的广告平台广点通(腾讯)、穿山甲(今日头条)、360广告等,支持信息流、Banner等广告。
方法:
- createAdView: 创建广告控件
- getAds: 获取信息流广告数据
- releaseAdData: 释放广告数据
对象:
- AdData: 信息流广告数据对象
- AdView: 广告控件对象
- AdViewStyles: 广告原生控件样式
- AdsOptions: 获取信息流广告的参数
回调方法:
- GetAdsSuccessCallback: 获取信息流广告成功回调函数
- ADViewRenderingCallback: 监听广告渲染完成事件回调函数
- ADviewDislikedCallback: 监听点击关闭广告事件回调函数
- AdSuccessCallback: 广告操作成功回调函数
- AdErrorCallback: 广告操作错误回调函数
权限:
5+功能模块(permissions)
{
// ...
"permissions":{
// ...
"Ad": {
"description": "UniAd广告"
}
}
}
createAdView
创建广告控件
AdView plus.ad.createAdView(styles);
说明:
创建广告控件后不会自动显示,需要将控件添加Webview窗口中才能显示;广告控件不会自动渲染广告内容,需要调用renderingBind方法绑定广告数据才会渲染;完成显示后需要调用close方法关闭广告控件,释放原生资源。
参数:
- styles: (AdViewStyles)必选 广告控件样式
返回值:
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: (AdErrorCallback)必选 获取信息流广告数据失败回调
返回值:
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
释放广告数据
void plus.ad.releaseAdData(data);
说明:
通过plus.ad.getAds方法获取广告数据后,如果不绑定的广告控件中,则需要调用此方法释放广告数据。
参数:
- data: (AdData)可选 要释放的广告数据对象
返回值:
void: 无
AdData
信息流广告数据对象
属性:
- description: 广告描述信息
- showMode: 广告显示类型
- 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,添加到Webview中,高度设置为"0px",此时不显示
- 获取广告数据,将广告数据绑定到AdView上并开始渲染
- 监听广告渲染事件,广告渲染成功后更新AdView的高度,显示广告注意:广告控件创建后需添加到Webview窗口中才能显示,关闭广告。
方法:
- renderingBind: 绑定广告数据并渲染
- setRenderingListener: 监听广告渲染完成事件
- setDislikeListener: 监听点击关闭广告事件
示例:
var adView = null;
//创建并渲染广告
function doCreateAd(){
adView = plus.ad.createAdView({
top:adDom.offsetTop+'px',
left:'0px',
width:'100%',
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: (ADViewRenderingCallback)必选 监听广告渲染完成的回调函数
返回值:
void: 无
setDislikeListener
监听点击关闭广告事件
void adview.setDislikeListener(callback);
说明:
“模板渲染”模式下有效,用户点击“关闭广告”按钮时触发。注意:用户点击此按钮并不会关闭广告控件,需要调用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"。
position: _(String类型)_AdView控件在Webview窗口的布局模式可取值:"static" - 静态布局模式,如果页面存在滚动条则随窗口内容滚动;"absolute" - 绝对布局模式,如果页面存在滚动条不随窗口内容滚动;默认值为"static"。
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 onError(error){
// Handle the error
var code = error.code; // 错误编码
var message = error.message; // 错误描述信息
}
说明:
获取信息流广告数据失败时触发。
参数:
- error: (Exception)可选 广告操作的错误信息可通过error.code(Number类型)获取错误编码;可通过error.message(String类型)获取错误描述信息。
返回值:
void: 无