ad常见问题我要提意见
AD模块实现uni-AD广告联盟功能,聚合目前国内流行的广告平台广点通(腾讯)、穿山甲(今日头条)、360广告等,支持信息流、Banner等广告。
HBuilderX2.5.3+版本开始支持,uni-AD申请开通请登录uni-AD广告联盟
注意:HBuilderX2.8+版本Android平台更新穿山甲(今日头条)广告SDK后不再支持x86类型CPU,无法运行到x86类型cpu的模拟器。
方法:
- createAdView: 创建广告控件
- createFullScreenVideoAd: 创建全屏视频广告
- createInterstitialAd: 创建插屏广告
- createRewardedVideoAd: 创建激励视频广告
- getAds: 获取信息流广告数据
- getPersonalizedAd: 获取是否开启个性化推荐广告
- releaseAdData: 释放广告数据
- setPersonalizedAd: 设置是否开启个性化推荐广告
- showContentPage: 显示内容联盟页面
对象:
- AdData: 信息流广告数据对象
- AdView: 广告控件对象
- AdViewStyles: 广告原生控件样式
- AdsOptions: 获取信息流广告的参数
- ContentOptions: 内容联盟的参数
- FullScreenVideoAd: 全屏视频广告对象
- FullScreenVideoAdStyles: 创建全屏视频广告对象的参数
- InterstitialAd: 插屏广告对象
- InterstitialAdStyles: 创建插屏广告对象的参数
- RewardedVideoAd: 激励视频广告对象
- RewardedVideoAdStyles: 创建激励视频广告对象的参数
- RewardVideoAdUrlCallbackDatas: 激励视频服务器回调数据
回调方法:
- GetAdsSuccessCallback: 获取信息流广告成功回调函数
- ADViewRenderingCallback: 监听广告渲染完成事件回调函数
- ADviewDislikedCallback: 监听点击关闭广告事件回调函数
- VideoAdCloseCallback: 监听关闭全屏或激励视频广告事件回调函数
- AdCloseCallback: 监听关闭广告事件回调函数
- AdSuccessCallback: 广告操作成功回调函数
- AdErrorCallback: 广告操作错误回调函数
权限:
5+功能模块(permissions)
{
// ...
"permissions":{
// ...
"Ad": {
"description": "uni-Ad广告"
}
}
}
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'
});
}
createFullScreenVideoAd
创建全屏视频广告
FullScreenVideoAd plus.ad.createFullScreenVideoAd(styles);
说明:
HBuilderX2.9.5+版本支持。 创建全屏视频视频广告对象后不会自动加载显示,需要调用load方法才会加载; 加载完成后需要调用show方法显示全屏视频广告。 完成显示后需要调用destroy方法释放原生资源。
参数:
- styles: ( FullScreenVideoAdStyles ) 必选 全屏视频广告样式
返回值:
FullScreenVideoAd : 全屏视频广告对象
示例:
var adFull = null;
function fullVideoAd(){
if(adFull){
console.log('正在加载全屏视频广告');
return;
}
console.log('#全屏视频广告#');
adFull = plus.ad.createFullScreenVideoAd({adpid:'1507000611'}); //1507000611是HBuilder测试基座使用的广告位,正式环境下请使用在uni-AD后台申请的
adFull.onLoad(function(){
console.log('加载成功')
adFull.show();
});
adFull.onError(function(e){
console.log('加载失败: '+JSON.stringify(e));
adFull.destroy();
adFull = null;
});
adFull.onClose(function(e){
if(e.isEnded){
console.log('全屏视频播放完成');
plus.nativeUI.toast('全屏视频播放完成');
//这里实现完成全屏视频逻辑
}else{
console.log('全屏视频未播放完成关闭!')
}
adFull.destroy();
adFull = null;
});
adFull.load();
}
createInterstitialAd
创建插屏广告
InterstitialAd plus.ad.createInterstitialAd(styles);
说明:
创建插屏广告对象后不会自动加载显示,需要调用load方法才会加载; 加载完成后需要调用show方法显示插屏广告。 完成显示后需要调用destroy方法释放原生资源。
HBuilderX3.1.10+版本支持。
参数:
- styles: ( InterstitialAdStyles ) 必选 插屏广告样式
返回值:
InterstitialAd : 插屏广告对象
示例:
var adInter = null;
function fullVideoAd(){
if(adInter){
console.log('正在加载插屏广告');
return;
}
console.log('#插屏广告#');
adInter = plus.ad.createInterstitialAd({adpid:'1111111113'}); //1111111113是HBuilder测试基座使用的广告位,正式环境下请使用在uni-AD后台申请的广告位
adInter.onLoad(function(){
console.log('加载成功')
adInter.show();
});
adInter.onError(function(e){
console.log('加载失败: '+JSON.stringify(e));
adInter.destroy();
adInter = null;
});
adInter.onClose(function(e){
console.log('插屏广告被关闭');
adInter.destroy();
adInter = null;
});
adInter.load();
}
createRewardedVideoAd
创建激励视频广告
RewardedVideoAd plus.ad.createRewardedVideoAd(styles);
说明:
HBuilderX2.5.11+版本支持。 创建激励视频视频广告对象后不会自动加载显示,需要调用load方法才会加载; 广告加载完成后需要调用show方法显示激励视频。 完成显示后需要调用destroy方法释放原生资源。
参数:
- styles: ( RewardedVideoAdStyles ) 必选 激励视频广告样式
返回值:
RewardedVideoAd : 视频激励广告对象
示例:
var adReward = null;
function rewardedVideoAd(){
if(adReward){
console.log('正在加载激励视频广告');
return;
}
console.log('#视频激励广告#');
adReward = plus.ad.createRewardedVideoAd({adpid:'1507000689'});
adReward.onLoad(function(){
console.log('加载成功')
adReward.show();
});
adReward.onError(function(e){
console.log('加载失败: '+JSON.stringify(e));
adReward.destroy();
adReward = null;
});
adReward.onClose(function(e){
if(e.isEnded){
console.log('激励视频播放完成');
plus.nativeUI.toast('激励视频播放完成');
//这里实现完成激励视频逻辑
}else{
console.log('激励视频未播放完成关闭!')
}
adReward.destroy();
adReward = null;
});
adReward.load();
}
getAds
获取信息流广告数据
void plus.ad.getAds(options, successCB, errorCB);
参数:
- options: ( AdsOptions ) 必选 获取广告参数
- 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));
});
}
getPersonalizedAd
获取是否开启个性化推荐广告
Boolean plus.ad.getPersonalizedAd();
说明:
开通uni-AD后,获取增强广告是否开启个性化推荐功能。
注意:HBuilderX3.3.2+版本新增支持。
参数:
无
返回值:
Boolean : 是否开启个性化推荐广告,true表示开启,false表示关闭。
releaseAdData
释放广告数据
void plus.ad.releaseAdData(data);
说明:
通过plus.ad.getAds方法获取广告数据后,如果不绑定的广告控件中,则需要调用此方法释放广告数据。
参数:
- data: ( AdData ) 必选 要释放的广告数据对象
返回值:
void : 无
setPersonalizedAd
设置是否开启个性化推荐广告
void plus.ad.setPersonalizedAd(enable);
说明:
开通uni-AD后,开启或关闭增强广告的个性化推荐功能。
注意:HBuilderX3.3.2+版本新增支持,默认为开启。
参数:
- enable: ( Boolean ) 必选 是否开启个性化推荐广告 可取值: true – 表示开启个性化推荐广告; false – 表示关闭个性化推荐广告。
返回值:
void : 无
showContentPage
显示内容联盟页面
void plus.ad.showContentPage(options, successCB, errorCB);
说明:
全屏显示视频内容联盟,目前仅支持快手内容联盟。
注意:HBuilderX3.1.5+版本支持,必须勾选快手内容联盟SDK才能使用。
参数:
- options: ( ContentOptions ) 必选 内容联盟参数
- successCB: ( AdSuccessCallback ) 可选 显示内容联盟页面成功回调
- errorCB: ( AdErrorCallback ) 可选 显示内容联盟页面失败回调
- -5001 – 广告位标识adpid为空,请传入有效的adpid
- -5002 – 无效的广告位标识adpid,请使用正确的adpid
- -5003 – 未开通广告,请在广告平台申请并确保已审核通过
- -5004 – 无广告模块,打包时请配置要使用的广告模块
- -5007 – 无法获取广告配置数据,请稍后重试
- -5050 – 当前环境没有快手内容联盟SDK
- -5051 – 广告加载异常,请联系商务解决
- -5100 – 其他错误,聚合广告商内部错误
返回值:
无
示例:
//显示内容联盟
function showContent() {
plus.ad.showContentPage({
adpid:'1111111112' // 注意:正式发布时需要修改为项目在uni-AD后台申请的adpid
}, function(){
console.log('显示内容联盟成功!');
}, function(e){
console.log('显示内容联盟失败:’+JSON.stringify(e));
});
}
AdData
信息流广告数据对象
属性:
- description: 广告描述信息
- provider: 广告提供商标识
- showMode: 广告显示类型
- title: 广告标题
description
广告描述信息
说明:
String 类型 只读属性 可选属性
注意:部分广告商可能不返回此数据。
provider
广告提供商标识
说明:
String 类型 只读属性
包括以下值:
- “360” – 表示广告由360广告联盟提供
- “csj” – 表示广告由今日头条穿山甲广告联盟提供
- “gdt” – 表示广告由腾讯广点通广告联盟提供
- “ks” – 表示广告由快手广告联盟提供
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从plus.nativeObj.View继承, 用于渲染显示广告的原生控件,目前仅支持“模板渲染”模式,暂不支持“自定义渲染”模式。
使用广告控件步骤:
- 创建广告控件AdView,添加到Webview中,高度设置为”0px”,此时不显示
- 获取广告数据,将广告数据绑定到AdView上并开始渲染
- 监听广告渲染事件,广告渲染成功后更新AdView的位置及高度,显示广告
注意:广告控件创建后需添加到Webview窗口中才能显示,关闭广告。
方法:
- renderingBind: 绑定广告数据并渲染
- setRenderingListener: 监听广告渲染完成事件
- setDislikeListener: 监听点击关闭广告事件
- setAdClickedListener: 监听点击广告事件
示例:
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 : 无
setAdClickedListener
监听点击广告事件
void adview.setAdClickedListener(callback);
说明:
“模板渲染”模式下有效,用户点击广告跳转到落地页面时触发。
注意:HBuilderX3.0.0+版本支持。
参数:
- callback: ( AdSuccessCallback ) 必选 监听点击广告的回调函数
返回值:
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 类型 )信息流广告位标识 在uni-AD平台新建广告位后可得到。
- width: (String 类型 )信息流广告将要显示的宽度 支持像素值(如”100px”)、百分比(如”50%”)。默认值为”100%”。 注:此值用于向广告平台匹配合适的信息流广告,建议传入广告展现时真实的宽度。
- count: (Number 类型 )获取信息流广告的数目 默认值为3。 注:真实返回的广告数目可能小于此值,如填充率不够时会发生此情况。
ContentOptions
内容联盟的参数
属性:
- adpid: (String 类型 )信息流广告位标识 在uni-AD平台新建内容联盟广告位后可得到。
- background: (String 类型 )内容联盟背景颜色 格式为”#RRGGBB”,默认值为”#000000″。
FullScreenVideoAd
全屏视频广告对象
interface plus.ad.FullScreenVideoAd {
// Methods
function void destroy();
function String getProvider();
function void load();
function void offAdClicked(callback);
function void offClose(callback);
function void offError(callback);
function void offLoad(callback);
function void onAdClicked(callback);
function void onClose(callback);
function void onError(callback);
function void onLoad(callback);
function void show();
}
说明:
用于管理全屏视频广告对象,调用plus.ad.createFullScreenVideoAd方法创建。 需先调用load加载视频广告,加载完成后调用show显示,全屏视频广告使用原生控件渲染显示,显示层级较高。
HBuilderX2.9.5+版本支持。
方法:
- destroy: 销毁全屏视频广告对象
- getProvider: 广告提供商标识
- load: 加载全屏视频广告
- offAdClicked: 取消监听用户点击广告的事件
- offClose: 取消监听用户点击“关闭广告”按钮的事件
- offError: 取消监听全屏视频错误事件
- offLoad: 取消监听全屏视频广告加载事件
- onAdClicked: 监听用户点击广告的事件
- onClose: 监听用户点击“关闭广告”按钮的事件
- onError: 监听全屏视频错误事件
- onLoad: 监听全屏视频广告加载事件
- show: 显示全屏视频广告
示例:
var adFull = null;
function fullVideoAd(){
if(adFull){
console.log('正在加载全屏视频广告');
return;
}
console.log('#全屏视频广告#');
adFull = plus.ad.createFullScreenVideoAd({adpid:'1507000611'}); //1507000611是HBuilder测试基座使用的广告位,正式环境下请使用在uni-AD后台申请的
adFull.onLoad(function(){
console.log('加载成功')
adFull.show();
});
adFull.onError(function(e){
console.log('加载失败: '+JSON.stringify(e));
adFull.destroy();
adFull = null;
});
adFull.onClose(function(e){
if(e.isEnded){
console.log('全屏视频播放完成');
plus.nativeUI.toast('全屏视频播放完成');
//这里实现完成全屏视频逻辑
}else{
console.log('全屏视频未播放完成关闭!')
}
adFull.destroy();
adFull = null;
});
adFull.load();
}
destroy
销毁全屏视频广告对象
void adFull.destroy();
说明:
释放原生层资源。
参数:
无
返回值:
void : 无
getProvider
广告提供商标识
参数:
无
返回值:
String
包括以下值:
- “360” – 表示广告由360广告联盟提供
- “csj” – 表示广告由今日头条穿山甲广告联盟提供
- “gdt” – 表示广告由腾讯广点通广告联盟提供
- “ks” – 表示广告由快手广告联盟提供
load
加载全屏视频广告
void adFull.load();
说明:
全屏视频广告加载完成会触发onLoad设置的监听回调。
注意:广告加载成功后,长时间不显示可能会过期,因此不建议预加载广告
- 广点通 – 有效时间大概为0.5小时,过期后显示(show)会触发错误回调,错误码为-5008
- 穿山甲 – 有效时间大概为1小时,过期后依然可以显示,但不会算收益
参数:
无
返回值:
void : 无
offAdClicked
取消监听用户点击广告的事件
void adFull.offAdClicked(callback);
说明:
取消后用户点击全屏视频广告打开落地页时不再触发回调。
注意:HBuilderX3.0.0+版本支持。
参数:
- callback: ( AdSuccessCallback ) 必选 监听广告点击的回调函数
返回值:
void : 无
offClose
取消监听用户点击“关闭广告”按钮的事件
void adFull.offClose(callback);
参数:
- callback: ( VideoAdCloseCallback ) 必选 监听广告关闭的回调函数
返回值:
void : 无
offError
取消监听全屏视频错误事件
void adFull.offError(callback);
参数:
- callback: ( AdErrorCallback ) 必选 监听广告错误的回调函数
返回值:
void : 无
offLoad
取消监听全屏视频广告加载事件
void adFull.offLoad(callback);
参数:
- callback: ( AdSuccessCallback ) 必选 监听广告加载完成的回调函数
返回值:
void : 无
onAdClicked
监听用户点击广告的事件
void adFull.onAdClicked(callback);
说明:
用户点击全屏视频广告打开落地页时触发回调。
注意:HBuilderX3.0.0+版本支持。
参数:
- callback: ( AdSuccessCallback ) 必选 监听点击广告的回调函数
返回值:
void : 无
onClose
监听用户点击“关闭广告”按钮的事件
void adFull.onClose(callback);
说明:
用户点击全屏视频广告页面中的“关闭广告”按钮时触发,回调参数为JSON对象,包括以下属性:
- isEnded – Boolean类型,
可通过回调参数的isEnded属性判断视频是否是在用户完整观看的情况下被关闭的。
参数:
- callback: ( VideoAdCloseCallback ) 必选 监听关闭视频广告的回调函数 全屏视频广告关闭时触发,可通过回调函数参数的isEnded属性判断视频广告是否播放完成。
返回值:
void : 无
示例:
var adFull = plus.ad.createFullScreenVideoAd({adpid:'1507000611'}); //1507000611是HBuilder测试基座使用的广告位,正式环境下请使用在uni-AD后台申请的
//监听广告关闭事件
adFull.onClose(function(e){
if(e.isEnded){
console.log('全屏视频广告播放完成');
plus.nativeUI.toast('全屏视频广告播放完成');
//这里实现完成全屏视频逻辑
}else{
console.log('全屏视频未播放完成关闭!')
}
adFull.destroy();
adFull = null;
});
onError
监听全屏视频错误事件
void adFull.onError(callback);
说明:
全屏视频广告加载或显示失败时触发。
参数:
- callback: ( AdErrorCallback ) 必选 监听广告错误的回调函数 全屏视频广告发生错误时触发,可通过回调函数参数的code、message属性获取详细错误信息。
返回值:
void : 无
示例:
var adFull = plus.ad.createFullScreenVideoAd({adpid:'1507000611'}); //1507000611是HBuilder测试基座使用的广告位,正式环境下请使用在uni-AD后台申请的
// 监听广告错误事件
adFull.onError(function(e){
console.log('加载失败: '+JSON.stringify(e));
adFull.destroy();
adFull = null;
});
onLoad
监听全屏视频广告加载事件
void adFull.onLoad(callback);
说明:
全屏视频广告加载完成时触发。
参数:
- callback: ( AdSuccessCallback ) 必选 监听视频广告加载完成的回调函数 全屏视频广告加载完成时触发。
返回值:
void : 无
示例:
var adFull = plus.ad.createFullScreenVideoAd({adpid:'1507000611'}); //1507000611是HBuilder测试基座使用的广告位,正式环境下请使用在uni-AD后台申请的
//监听广告加载完成事件
adFull.onLoad(function(){
console.log('加载成功')
adFull.show();
});
adFull.load();
show
显示全屏视频广告
void adFull.show();
说明:
显示全屏视频广告。
参数:
无
返回值:
void : 无
FullScreenVideoAdStyles
创建全屏视频广告对象的参数
属性:
- adpid: (String 类型 )全屏视频广告位标识 在uni-AD平台新建全屏视频类型广告位后可得到。
InterstitialAd
插屏广告对象
interface plus.ad.InterstitialAd {
// Methods
function void destroy();
function String getProvider();
function void load();
function void offAdClicked(callback);
function void offClose(callback);
function void offError(callback);
function void offLoad(callback);
function void onAdClicked(callback);
function void onClose(callback);
function void onError(callback);
function void onLoad(callback);
function void show();
}
说明:
用于管理插屏广告对象,调用plus.ad.createInterstitialAd方法创建。 需先调用load加载视频广告,加载完成后调用show显示,插屏广告使用原生控件渲染显示,显示层级较高。
HBuilderX3.1.10+版本支持。
方法:
- destroy: 销毁插屏广告对象
- getProvider: 广告提供商标识
- load: 加载插屏广告
- offAdClicked: 取消监听用户点击广告的事件
- offClose: 取消监听用户点击“关闭广告”按钮的事件
- offError: 取消监听插屏错误事件
- offLoad: 取消监听插屏广告加载事件
- onAdClicked: 监听用户点击广告的事件
- onClose: 监听用户关闭广告事件
- onError: 监听插屏广告错误事件
- onLoad: 监听插屏广告加载事件
- show: 显示插屏广告
示例:
var adInter = null;
function fullVideoAd(){
if(adInter){
console.log('正在加载插屏广告');
return;
}
console.log('#插屏广告#');
adInter = plus.ad.createInterstitialAd({adpid:'1111111113'}); //1111111113是HBuilder测试基座使用的广告位,正式环境下请使用在uni-AD后台申请的广告位
adInter.onLoad(function(){
console.log('加载成功')
adInter.show();
});
adInter.onError(function(e){
console.log('加载失败: '+JSON.stringify(e));
adInter.destroy();
adInter = null;
});
adInter.onClose(function(e){
console.log('插屏广告被关闭');
adInter.destroy();
adInter = null;
});
adInter.load();
}
destroy
销毁插屏广告对象
void adInter.destroy();
说明:
释放原生层资源。
参数:
无
返回值:
void : 无
getProvider
广告提供商标识
参数:
无
返回值:
String
包括以下值:
- “360” – 表示广告由360广告联盟提供
- “csj” – 表示广告由今日头条穿山甲广告联盟提供
- “gdt” – 表示广告由腾讯广点通广告联盟提供
- “ks” – 表示广告由快手广告联盟提供
load
加载插屏广告
void adInter.load();
说明:
插屏广告加载完成会触发onLoad设置的监听回调。
注意:广告加载成功后,长时间不显示可能会过期,因此不建议预加载广告
参数:
无
返回值:
void : 无
offAdClicked
取消监听用户点击广告的事件
void adInter.offAdClicked(callback);
说明:
取消后用户点击插屏广告打开落地页时不再触发回调事件。
参数:
- callback: ( AdSuccessCallback ) 必选 监听广告点击的回调函数
返回值:
void : 无
offClose
取消监听用户点击“关闭广告”按钮的事件
void adInter.offClose(callback);
参数:
- callback: ( AdCloseCallback ) 必选 监听广告关闭的回调函数
返回值:
void : 无
offError
取消监听插屏错误事件
void adInter.offError(callback);
参数:
- callback: ( AdErrorCallback ) 必选 监听广告错误的回调函数
返回值:
void : 无
offLoad
取消监听插屏广告加载事件
void adInter.offLoad(callback);
参数:
- callback: ( AdSuccessCallback ) 必选 监听广告加载完成的回调函数
返回值:
void : 无
onAdClicked
监听用户点击广告的事件
void adInter.onAdClicked(callback);
说明:
用户点击插屏广告打开落地页时触发回调。
参数:
- callback: ( AdSuccessCallback ) 必选 监听点击广告的回调函数
返回值:
void : 无
onClose
监听用户关闭广告事件
void adInter.onClose(callback);
参数:
- callback: ( AdCloseCallback ) 必选 监听关闭插屏广告的回调函数 用户关闭插屏广告时触发。
返回值:
void : 无
onError
监听插屏广告错误事件
void adInter.onError(callback);
参数:
- callback: ( AdErrorCallback ) 必选 监听广告错误的回调函数 插屏广告加载或显示失败时触发,可通过回调函数参数的code、message属性获取详细错误信息。
返回值:
void : 无
onLoad
监听插屏广告加载事件
void adInter.onLoad(callback);
参数:
- callback: ( AdSuccessCallback ) 必选 监听插屏广告加载完成的回调函数 插屏广告加载完成时触发。
返回值:
void : 无
show
显示插屏广告
void adInter.show();
说明:
显示插屏广告。
参数:
无
返回值:
void : 无
InterstitialAdStyles
创建插屏广告对象的参数
属性:
- adpid: (String 类型 )插屏广告位标识 在uni-AD平台新建广告位后可得到。
- videoMuted: (Boolean 类型 )视频广告时是否静音 可取值:
- true – 视频类型广告静音
- false – 视频类型广告不静音
默认值为true,即默认为静音。
RewardedVideoAd
激励视频广告对象
interface plus.ad.RewardedVideoAd {
// Methods
function void destroy();
function String getProvider();
function void load();
function void offAdClicked(callback);
function void offClose(callback);
function void offError(callback);
function void offLoad(callback);
function void onAdClicked(callback);
function void onClose(callback);
function void onError(callback);
function void onLoad(callback);
function void show();
}
说明:
用于管理激励视频广告对象,调用plus.ad.createRewardedVideoAd方法创建。 需先调用load加载视频广告,加载完成后调用show显示,激励视频广告使用原生控件渲染显示,显示层级较高。
HBuilderX2.5.11+版本支持。
方法:
- destroy: 销毁激励视频广告对象
- getProvider: 广告提供商标识
- load: 加载激励视频广告
- offAdClicked: 取消监听用户点击广告的事件
- offClose: 取消监听用户点击“关闭广告”按钮的事件
- offError: 取消监听激励视频广告错误事件
- offLoad: 取消监听激励视频广告加载事件
- offVerify: 取消监听激励视频服务器回调校验事件
- onAdClicked: 监听用户点击广告的事件
- onClose: 监听用户点击“关闭广告”按钮的事件
- onError: 监听激励视频错误事件
- onLoad: 监听激励视频广告加载事件
- onVerify: 监听激励视频广告服务器回调校验事件
- show: 显示激励视频广告
示例:
var adReward = null;
function rewardedVideoAd(){
if(adReward){
console.log('正在加载激励视频广告');
return;
}
console.log('#视频激励广告#');
adReward = plus.ad.createRewardedVideoAd({adpid:'1507000689'});
adReward.onLoad(function(){
console.log('加载成功')
adReward.show();
});
adReward.onError(function(e){
console.log('加载失败: '+JSON.stringify(e));
adReward.destroy();
adReward = null;
});
adReward.onClose(function(e){
if(e.isEnded){
console.log('激励视广告频播放完成');
plus.nativeUI.toast('激励视频广告播放完成');
//这里实现完成激励视频广告逻辑
}else{
console.log('激励视频未播放完成关闭!')
}
adReward.destroy();
adReward = null;
});
adReward.load();
}
destroy
销毁激励视频广告对象
void adReward.destroy();
说明:
释放原生层资源。
参数:
无
返回值:
void : 无
getProvider
广告提供商标识
参数:
无
返回值:
String
包括以下值:
- “360” – 表示广告由360广告联盟提供
- “csj” – 表示广告由今日头条穿山甲广告联盟提供
- “gdt” – 表示广告由腾讯广点通广告联盟提供
- “ks” – 表示广告由快手广告联盟提供
load
加载激励视频广告
void adReward.load();
说明:
激励视频广告加载完成会触发onLoad设置的监听回调。
注意:广告加载成功后,长时间不显示可能会过期,因此不建议预加载广告
- 广点通 – 有效时间大概为0.5小时,过期后显示(show)会触发错误回调,错误码为-5008
- 穿山甲 – 有效时间大概为1小时,过期后依然可以显示,但不会算收益
参数:
无
返回值:
void : 无
offAdClicked
取消监听用户点击广告的事件
void adReward.offAdClicked(callback);
说明:
取消后用户点击激励视频广告打开落地页时不再触发回调。
注意:HBuilderX3.0.0+版本支持。
参数:
- callback: ( AdSuccessCallback ) 必选 监听点击广告的回调函数
返回值:
void : 无
offClose
取消监听用户点击“关闭广告”按钮的事件
void adReward.offClose(callback);
参数:
- callback: ( VideoAdCloseCallback ) 必选 监听广告关闭的回调函数
返回值:
void : 无
offError
取消监听激励视频广告错误事件
void adReward.offError(callback);
参数:
- callback: ( AdErrorCallback ) 必选 监听广告错误的回调函数
返回值:
void : 无
offLoad
取消监听激励视频广告加载事件
void adReward.offLoad(callback);
参数:
- callback: ( AdSuccessCallback ) 必选 监听广告加载完成的回调函数
返回值:
void : 无
offVerify
取消监听激励视频服务器回调校验事件
void adReward.offVerify(callback);
参数:
- callback: ( AdSuccessCallback ) 必选 监听服务器回调校验的回调函数
返回值:
void : 无
onAdClicked
监听用户点击广告的事件
void adReward.onAdClicked(callback);
说明:
用户点击激励视频广告打开落地页时触发回调。
注意:HBuilderX3.0.0+版本支持。
参数:
- callback: ( AdSuccessCallback ) 必选 监听点击广告的回调函数 点击激励视频广告时触发。
返回值:
void : 无
onClose
监听用户点击“关闭广告”按钮的事件
void adReward.onClose(callback);
说明:
用户点击激励视频广告页面中的“关闭广告”按钮时触发,回调参数为JSON对象,包括以下属性:
- isEnded – Boolean类型,
可通过回调参数的isEnded属性判断视频是否是在用户完整观看的情况下被关闭的。
参数:
- callback: ( VideoAdCloseCallback ) 必选 监听关闭视频广告的回调函数 激励视频广告关闭时触发,可通过回调函数参数的isEnded属性判断视频广告是否播放完成。
返回值:
void : 无
示例:
var adReward = plus.ad.createRewardedVideoAd({adpid:'1507000689'});
//监听广告关闭事件
adReward.onClose(function(e){
if(e.isEnded){
console.log('激励视频播放完成');
plus.nativeUI.toast('激励视频播放完成');
//这里实现完成激励视频逻辑
}else{
console.log('激励视频未播放完成关闭!')
}
adReward.destroy();
adReward = null;
});
onError
监听激励视频错误事件
void adReward.onError(callback);
说明:
激励视频广告加载或显示失败时触发。
参数:
- callback: ( AdErrorCallback ) 必选 监听广告错误的回调函数 激励视频广告发生错误时触发,可通过回调函数参数的code、message属性获取详细错误信息。
返回值:
void : 无
示例:
var adReward = plus.ad.createRewardedVideoAd({adpid:'1507000689'});
// 监听广告错误事件
adReward.onError(function(e){
console.log('加载失败: '+JSON.stringify(e));
adReward.destroy();
adReward = null;
});
onLoad
监听激励视频广告加载事件
void adReward.onLoad(callback);
说明:
激励视频广告加载完成时触发。
参数:
- callback: ( AdSuccessCallback ) 必选 监听视频广告加载完成的回调函数 激励视频广告加载完成时触发。
返回值:
void : 无
示例:
var adReward = plus.ad.createRewardedVideoAd({adpid:'1507000689'});
//监听广告加载完成事件
adReward.onLoad(function(){
console.log('加载成功')
adReward.show();
});
adReward.load();
onVerify
监听激励视频广告服务器回调校验事件
void adReward.onVerify(callback);
说明:
激励视频广告服务器回调校验完成时触发,回调参数为JSON对象,包括以下属性:
- isValid – Boolean类型,服务器回调校验结果,true表示服务器回调校验成功,false表示服务器回调校验失败
注意:HBuilderX2.7.0+版本支持,仅今日头条穿山甲广告支持服务器回调,详情参考:
https://ask.dcloud.net.cn/article/37108
参数:
- callback: ( AdSuccessCallback ) 必选 监听广告服务器回调校验完成的回调函数
返回值:
void : 无
示例:
var adReward = plus.ad.createRewardedVideoAd({adpid:'1507000689'}
urlCallback: {
amount: '6',
name: 'RewardVideoAD1',
userId: 'test111111',
extra: 'testdata'
}
);
adReward.onVerify(function(e){
console.log('服务器回调校验完成');
var valid = e.isValid; //获取校验结果
});
show
显示激励视频广告
void adReward.show();
说明:
全屏显示激励视频广告。
参数:
无
返回值:
void : 无
RewardedVideoAdStyles
创建激励视频广告对象的参数
属性:
- adpid: (String 类型 )激励视频广告位标识 在uni-AD平台新建广告位后可得到。
- urlCallback: (RewardVideoAdUrlCallbackDatas 类型 )激励视频服务器回调数据 HBuilderX2.6.8及以上版本仅今日头条穿山甲的激励视频广告支持服务器回调;
HBuilderX3.1.15及以上版本今日头条穿山甲、腾讯优量汇、快手广告联盟都支持服务器回调。
RewardVideoAdUrlCallbackDatas
激励视频服务器回调数据
说明:
HBuilderX2.6.8及以上版本仅今日头条穿山甲的激励视频广告支持服务器回调;
HBuilderX3.1.15及以上版本今日头条穿山甲、腾讯优量汇、快手广告联盟都支持服务器回调。
详细使用方法参考https://ask.dcloud.net.cn/article/37108。
属性:
- amount: (String 类型 )奖励数量(已废弃) 在uni-AD后台的广告位管理中设置奖励数量。
- extra: (String 类型 )透传参数 应用业务系统中扩展数据,服务器回调时透传。
- name: (String 类型 )奖励名称(已废弃) 在uni-AD后台的广告位管理中设置奖励名称。
- userId: (String 类型 )用户id 应用业务系统中当前用户的标识,服务器回调时透传。
示例:
adReward = plus.ad.createRewardedVideoAd({
adpid: '1507000689', //广告位标识,请修改为应用在uni-AD平台申请的值
urlCallback: {
amount: '6', //奖励数量
name: 'RewardVideoAD1', //奖励名称
userId: 'test111111', //修改为应用业务系统中的用户标识
extra: 'testdata' //根据需求传入自定义参数
}
});
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 : 无
VideoAdCloseCallback
监听关闭全屏或激励视频广告事件回调函数
void onClose( Event event ){
// Code here
var isEnded = event.isEnded; // 视频是否是在用户完整观看的情况下被关闭的
}
说明:
用户点击关闭广告时触发。
参数:
- event: ( Event ) 可选 关闭全屏或激励视频广告的信息 event包含以下参数: isEnded – Boolean类型,视频是否是在用户完整观看的情况下被关闭的。
返回值:
void : 无
AdCloseCallback
监听关闭广告事件回调函数
void onClose( Event event ){
// Code here
}
说明:
用户点击关闭广告时触发。
参数:
无
返回值:
void : 无
AdSuccessCallback
广告操作成功回调函数
void onSuccess(){
// Code here
}
参数:
无
返回值:
void : 无
AdErrorCallback
广告操作错误回调函数
void onError(error){
// Handle the error
var code = error.code; // 错误编码
var message = error.message; // 错误描述信息
}
说明:
激励视频广告错误码定义:
- “-5001” – 广告位标识adpid为空,请传入有效的adpid
- “-5002” – 无效的广告位标识adpid,请使用正确的adpid
- “-5003” – 未开通广告,请在广告平台申请并确保已审核通过
- “-5004” – 无广告模块,打包时请配置要使用的广告模块
- “-5005” – 广告加载失败,请稍后重试
- “-5006” – 广告未加载完成无法播放,请加载完成后再调show播放
- “-5007” – 无法获取广告配置数据,请尝试重试
- “-5008” – 广告已过期,请重新加载广告。HBuilderX2.8.1+版本支持
- “-5100” – 其他错误,聚合广告商内部错误
参数:
- error: ( Exception ) 可选 广告操作的错误信息 可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。
返回值:
void : 无