

简体中文
应用内展示的广告组件,可用于banner、信息流或视频前贴。
视频前贴广告展现场景非常灵活,可以当做普通信息流使用,也可以搭配video
标签,做贴片广告使用。
平台差异说明
App | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 抖音小程序 | QQ小程序 | 快应用 | 360小程序 | 快手小程序 | 京东小程序 |
---|---|---|---|---|---|---|---|---|---|---|
√(4.81+) | x | x | x | x | x | x | x | x | x | x |
vue3 H5暂不支持
开通配置广告
属性说明
属性名 | 类型 | 默认值 | 说明 | 平台差异 |
---|---|---|---|---|
adpid | String | uni-ad 广告位id,在uni-ad官网申请广告位 | ||
data | Object | 可选 | 广告数据,通过 plus.ad.getAds (参考示例代码),优先级高于adpid | App |
@load | EventHandle | 广告加载成功的回调 | ||
@error | EventHandle | 广告加载失败的回调,event.detail = {errCode: } | ||
@close | EventHandle | 广告关闭的回调 |
条件编译示例
<!-- #ifdef MP-WEIXIN -->
<ad unit-id=""></ad>
<!-- #endif -->
<!-- #ifndef MP-WEIXIN -->
<ad adpid=""></ad>
<!-- #endif -->
注意
<ad>
组件是原生组件,在webview页面会有层级问题,同时无法在<swiper>
、<scroll-view>
组件中使用。但app-nvue、微信小程序新版和头条小程序新版支持同层渲染,所以没有层级问题。而app-vue、QQ小程序等平台则有层级问题。详见:原生组件<list>
组件中使用 <ad>
时,必须指定宽度属性<ad width="750rpx" />
,因为 <list>
有自动的内存回收机制,不在屏幕范围的组件不被创建,组件内部无法获取大小<recycle-list>
组件内不支持嵌套 <ad>
示例:
<template>
<view class="content">
<!-- adpid="1597617406" 此广告位标识仅在HBuilderX标准基座中有效,仅用于测试 -->
<!-- 广告后台申请的广告位(adpid)需要自定义基座/云打包/本地打包后生效 -->
<view class="ad-view">
<ad adpid="1597617406" @load="onload" @close="onclose" @error="onerror" style="width: 100%;height: 100%;"></ad>
</view>
</view>
</template>
<script>
export default {
data() {
return {
title: 'ad'
}
},
methods: {
onload(e) {
console.log("onload");
},
onclose(e) {
console.log("onclose: " + e.detail);
},
onerror(e) {
console.log("onerror: " + e.detail.errCode + " message:: " + e.detail.errMsg);
}
}
}
</script>
<style>
.content {
background-color: #DBDBDB;
padding: 10px;
}
.ad-view {
background-color: #FFFFFF;
width: 100%;
height:300px;
margin-bottom: 10px;
}
</style>
api的方式(仅App平台支持),不推荐使用这种调用方式,调用比较复杂,且不跨平台,开发者还需要手动处理缓存逻辑
<template>
<view class="content">
<view class="ad-view">
<ad style="width: 100%;height: 100%;" :data="adData"></ad>
</view>
</view>
</template>
<script>
export default {
data() {
return {
title: 'ad',
adData: {}
}
},
onReady: function (e) {
this.getAdData()
},
methods: {
getAdData: function (e) {
// 仅APP平台支持
plus.ad.getAds({
adpid: '1597617406', // 替换为自己申请获取的广告位标识,此广告位标识仅在HBuilderX标准基座中有效,仅用于测试
count: 1, // 广告数量,默认 3
width: 300 // 根据宽度获取合适的广告(单位px)
},
(res) => {
// 注意: 广告数据只能使用一次
this.adData = res.ads[0];
console.log(this.adData);
},
(err) => {
console.log(err);
}
)
}
}
}
</script>
<style>
.content {
background-color: #DBDBDB;
padding: 10px;
}
.ad-view {
background-color: #FFFFFF;
width: 100%;
height: 300px;
margin-bottom: 10px;
}
</style>
激励视频广告 文档地址:https://uniapp.dcloud.io/uni-ad/ad-rewarded-video
全屏视频广告 文档地址:https://uniapp.dcloud.io/uni-ad/ad-fullscreen-video
插屏广告 文档地址:https://uniapp.dcloud.io/uni-ad/ad-interstitial
注意
错误码