HTML5+ad

HTML5+ad

ad常见问题我要提意见

AD模块实现uni-AD广告联盟功能,聚合目前国内流行的广告平台广点通(腾讯)、穿山甲(今日头条)、360广告等,支持信息流、Banner等广告。

HBuilderX2.5.3+版本开始支持,uni-AD申请开通请登录uni-AD广告联盟

注意:HBuilderX2.8+版本Android平台更新穿山甲(今日头条)广告SDK后不再支持x86类型CPU,无法运行到x86类型cpu的模拟器。

方法:

对象:

回调方法:

权限:

5+功能模块(permissions)


{
// ...
"permissions":{
	// ...
	"Ad": {
		"description": "uni-Ad广告"
	}
}
}
			

createAdView

创建广告控件


AdView plus.ad.createAdView(styles);
				

说明:

创建广告控件后不会自动显示,需要将控件添加Webview窗口中才能显示; 广告控件不会自动渲染广告内容,需要调用renderingBind方法绑定广告数据才会渲染; 完成显示后需要调用close方法关闭广告控件,释放原生资源。

参数:

返回值:

AdView : 广告控件对象

示例:


var adView = null;
//创建广告控件
function createAdView() {
  adView = plus.ad.createAdView({
    top:adDom.offsetTop+'px',
    left:'0px',
    width:'100%',
    height:'0px',
    position: 'static'
  });
}
				

uni-app使用plus注意事项

createFullScreenVideoAd

创建全屏视频广告


FullScreenVideoAd plus.ad.createFullScreenVideoAd(styles);
				

说明:

HBuilderX2.9.5+版本支持。 创建全屏视频视频广告对象后不会自动加载显示,需要调用load方法才会加载; 加载完成后需要调用show方法显示全屏视频广告。 完成显示后需要调用destroy方法释放原生资源。

参数:

返回值:

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

uni-app使用plus注意事项

createInterstitialAd

创建插屏广告


InterstitialAd plus.ad.createInterstitialAd(styles);
				

说明:

创建插屏广告对象后不会自动加载显示,需要调用load方法才会加载; 加载完成后需要调用show方法显示插屏广告。 完成显示后需要调用destroy方法释放原生资源。
HBuilderX3.1.10+版本支持。

参数:

返回值:

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

uni-app使用plus注意事项

createRewardedVideoAd

创建激励视频广告


RewardedVideoAd plus.ad.createRewardedVideoAd(styles);
				

说明:

HBuilderX2.5.11+版本支持。 创建激励视频视频广告对象后不会自动加载显示,需要调用load方法才会加载; 广告加载完成后需要调用show方法显示激励视频。 完成显示后需要调用destroy方法释放原生资源。

参数:

返回值:

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

uni-app使用plus注意事项

getAds

获取信息流广告数据


void plus.ad.getAds(options, successCB, 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));
  });
}
				

uni-app使用plus注意事项

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

uni-app使用plus注意事项

AdData

信息流广告数据对象

属性:

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窗口中才能显示,关闭广告。

方法:

示例:


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

uni-app使用plus注意事项

renderingBind

绑定广告数据并渲染


void adview.renderingBind(data);
						

说明:

可通过setRenderingListener方法监听广告渲染完成事件。

参数:

  • data: ( AdData ) 必选 要绑定的广告数据 广告数据可通过plus.ad.getAds方法获取。

返回值:

void : 无

setRenderingListener

监听广告渲染完成事件


void adview.setRenderingListener(callback);
						

说明:

“模板渲染”模式下有效,广告控件渲染完成时触发。 回调函数中返回渲染结果,及广告显示需要的宽度及高度信息,此时需动态调整控件的高度确保广告内容正常显示。

参数:

返回值:

void : 无

setDislikeListener

监听点击关闭广告事件


void adview.setDislikeListener(callback);
						

说明:

“模板渲染”模式下有效,用户点击“关闭广告”按钮时触发。 注意:用户点击此按钮并不会关闭广告控件,需要调用ADView的close方法关闭控件,释放原生资源。

参数:

返回值:

void : 无

setAdClickedListener

监听点击广告事件


void adview.setAdClickedListener(callback);
						

说明:

“模板渲染”模式下有效,用户点击广告跳转到落地页面时触发。
注意:HBuilderX3.0.0+版本支持。

参数:

返回值:

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

uni-app使用plus注意事项

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+版本支持。

参数:

返回值:

void : 无

offClose

取消监听用户点击“关闭广告”按钮的事件


void adFull.offClose(callback);
						

参数:

返回值:

void : 无

offError

取消监听全屏视频错误事件


void adFull.offError(callback);
						

参数:

返回值:

void : 无

offLoad

取消监听全屏视频广告加载事件


void adFull.offLoad(callback);
						

参数:

返回值:

void : 无

onAdClicked

监听用户点击广告的事件


void adFull.onAdClicked(callback);
						

说明:

用户点击全屏视频广告打开落地页时触发回调。
注意:HBuilderX3.0.0+版本支持。

参数:

返回值:

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

uni-app使用plus注意事项

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

uni-app使用plus注意事项

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

uni-app使用plus注意事项

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

uni-app使用plus注意事项

destroy

销毁插屏广告对象


void adInter.destroy();
						

说明:

释放原生层资源。

参数:

返回值:

void : 无

getProvider

广告提供商标识

参数:

返回值:

String

包括以下值:

  • “360” – 表示广告由360广告联盟提供
  • “csj” – 表示广告由今日头条穿山甲广告联盟提供
  • “gdt” – 表示广告由腾讯广点通广告联盟提供
  • “ks” – 表示广告由快手广告联盟提供

load

加载插屏广告


void adInter.load();
						

说明:

插屏广告加载完成会触发onLoad设置的监听回调。
注意:广告加载成功后,长时间不显示可能会过期,因此不建议预加载广告

参数:

返回值:

void : 无

offAdClicked

取消监听用户点击广告的事件


void adInter.offAdClicked(callback);
						

说明:

取消后用户点击插屏广告打开落地页时不再触发回调事件。

参数:

返回值:

void : 无

offClose

取消监听用户点击“关闭广告”按钮的事件


void adInter.offClose(callback);
						

参数:

返回值:

void : 无

offError

取消监听插屏错误事件


void adInter.offError(callback);
						

参数:

返回值:

void : 无

offLoad

取消监听插屏广告加载事件


void adInter.offLoad(callback);
						

参数:

返回值:

void : 无

onAdClicked

监听用户点击广告的事件


void adInter.onAdClicked(callback);
						

说明:

用户点击插屏广告打开落地页时触发回调。

参数:

返回值:

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

uni-app使用plus注意事项

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+版本支持。

参数:

返回值:

void : 无

offClose

取消监听用户点击“关闭广告”按钮的事件


void adReward.offClose(callback);
						

参数:

返回值:

void : 无

offError

取消监听激励视频广告错误事件


void adReward.offError(callback);
						

参数:

返回值:

void : 无

offLoad

取消监听激励视频广告加载事件


void adReward.offLoad(callback);
						

参数:

返回值:

void : 无

offVerify

取消监听激励视频服务器回调校验事件


void adReward.offVerify(callback);
						

参数:

返回值:

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

uni-app使用plus注意事项

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

uni-app使用plus注意事项

onLoad

监听激励视频广告加载事件


void adReward.onLoad(callback);
						

说明:

激励视频广告加载完成时触发。

参数:

  • callback: ( AdSuccessCallback ) 必选 监听视频广告加载完成的回调函数 激励视频广告加载完成时触发。

返回值:

void : 无

示例:


var adReward = plus.ad.createRewardedVideoAd({adpid:'1507000689'});
//监听广告加载完成事件
adReward.onLoad(function(){
  console.log('加载成功')
  adReward.show();
});
adReward.load();
						

uni-app使用plus注意事项

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;   //获取校验结果
});
						

uni-app使用plus注意事项

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'                 //根据需求传入自定义参数
    }  
  });
  				

uni-app使用plus注意事项

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 : 无