快应用 广告
接口声明
{"name":"service.ad"}
导入模块
import ad from '@service.ad'
或 const ad = require('@service.ad')
接口定义
ad.getProvider()
获取服务提供商。
参数:
无
返回值:
字符串,服务提供商的代号,如厂商的英文品牌名称,假如无此服务则返回空字符串
示例:
console.log(ad.getProvider())
注意:广告的尺寸比例,无需通过接口进行配置,但各厂商的尺寸不同,开发的时候需要进行区分
banner广告
ad.createBannerAd(object)
创建 Banner 广告组件,如果已经创建过 Banner 广告组件,则返回已创建的广告组件
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
adUnitId | string | 是 | Banner 广告位标识 |
style | Object | 否 | Banner 广告组件的样式 |
代码示例:
let bannerAd = ad.createBannerAd({
adUnitId: 'xxx',
style:{
left:0,
top: 800,
width:1080
}
})
style的结构
属性 | 类型 | 是否必填 | 说明 |
---|---|---|---|
left | number | 否 | banner 广告组件的左上角横坐标 |
top | number | 否 | banner 广告组件的左上角纵坐标 |
width | number | 否 | banner 广告组件的宽度 |
height | number | 否 | banner 广告组件的高度 |
style说明
Banner 广告组件的尺寸会根据开发者设置的宽度,即 style.width 进行等比缩放,缩放的范围是 designWidth * 50% 到 屏幕宽度。 开发者在创建 BannerAd 时设置宽高,也可以在创建后设置,如:
bannerAd.style.width = 1000
当 style.width 小于 designWidth 50% 时,会取作 designWidth 50%。 当 style.width 大于屏幕宽度时,会取作屏幕宽度。 在组件内部会以此值为基准,根据 Banner 广告的标准尺寸,进行缩放。 每当缩放发生且缩放后的尺寸不同时,通过 BannerAd.onResize() 注册的回调函数就会执行。回调函数的参数是一个包含 BannerAd 缩放后的宽和高的对象。BannerAd 的 style.realWidth 和 style.realHeight 到经过缩放后的宽和高。
bannerAd.onResize(res => {
console.log(res.width, res.height)
console.log(bannerAd.style.realWidth, bannerAd.style.realHeight)
})
Banner广告不设置位置,默认在屏幕底部。
返回值
Banner广告组件
Promise bannerAd.show()
加载展示 banner 广告,出错的时候回调 onError,分为加载和展示两个阶段,加载成功回调 onLoad
返回值
Promise
banner 广告显示操作的结果
Promise bannerAd.hide()
隐藏 banner 广告
返回值
Promise
banner 广告隐藏操作的结果
bannerAd.onError(function callback)
监听 banner 广告错误事件
代码示例:
bannerAd.onError((err)=>{
console.log(err)
})
err:Object错误参数,其他广告类型相同
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
errMsg | string | 是 | 错误信息 |
errCode | number | 是 | 错误码 |
bannerAd.offError(function callback)
移除 banner 广告错误监听
bannerAd.onLoad(function callback)
监听 banner 广告加载事件,多个素材,每次加载新素材,都会进入这个回调
bannerAd.offLoad(function callback)
移除 banner 广告展示监听
bannerAd.onClose(function callback)
监听 banner 广告关闭事件
bannerAd.offClose(function callback)
移除 banner 关闭回调
bannerAd.onResize(function callback)
监听 banner 广告尺寸变化事件
参数
function callback
banner 广告尺寸变化事件的回调函数
回调参数
Object res:
属性 | 类型 | 说明 |
---|---|---|
width | number | 缩放后的宽度 |
height | number | 缩放后的高度 |
bannerAd.offResize(function callback)
取消监听 banner 广告尺寸变化事件
参数
function callback
banner 广告尺寸变化事件的回调函数,可以为空
bannerAd.destroy()
销毁 banner 广告
插屏广告
ad.createInterstitialAd(object)
创建插屏广告组件,同一个 adUnitId,如果已经创建,并且未 destroy,会复用之前的对象,创建后会加载广告素材,素材创建后会自动拉取
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
adUnitId | string | 是 | 插屏广告位标识 |
代码示例:
let interstitialAd = ad.createInterstitialAd({
adUnitId: 'xxx'
})
返回值
插屏广告组件
interstitialAd.show()
插屏广告组件默认是隐藏的,调用 show 方法展示广告。
返回值
Promise
插屏广告显示操作的结果。
interstitialAd.onLoad(function callback)
监听视频广告加载成功事件
代码示例:
interstitialAd.onLoad(()=> {
console.log("插屏广告加载成功");
interstitialAd.show();
})
interstitialAd.offLoad(function callback)
移除插屏广告加载成功监听
interstitialAd.onClose(function callback)
监听插屏广告隐藏事件
interstitialAd.offClose(function callback)
移除插屏广告隐藏监听
interstitialAd.onError(function callback)
监听插屏广告出错事件
代码示例:
interstitialAd.onError((err)=> {
console.log(err);
})
interstitialAd.offError(function callback)
移除插屏广告出错监听
interstitialAd.destroy()
销毁插屏广告组件
原生广告
ad.createNativeAd(object)
创建 native 广告组件,如果已经创建过 native 广告组件,则返回已创建的广告组件
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
adUnitId | string | 是 | 原生广告位标识 |
代码示例:
let nativeAd = ad.createNativeAd({
adUnitId: 'xxx'
})
返回值
原生广告组件
nativeAd.load()
拉取广告数据,成功回调 onLoad,失败回调 onError
nativeAd.reportAdShow()
上报广告曝光,一个广告只有一次上报有效,adId 为 load 方法获取的广告数据的 adId 字段
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
adId | string | 是 | 广告信息标识,由 load 接口返回 |
代码示例:
nativeAd.reportAdShow({
adId: "xxx"
})
nativeAd.reportAdClick()
上报广告点击,一个广告只有一次上报有效,adId 为 load 方法获取的广告数据的 adId 字段
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
adId | string | 是 | 广告信息标识,由 load 接口返回 |
代码示例:
nativeAd.reportAdClick({
adId: "xxx"
})
nativeAd.onLoad(function callback)
设置广告加载成功回调
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
adList | Array | 是 | 广告详细信息 |
返回广告数据 adList 是一个 Array 对象,其中 item 数据格式为:
参数 | 类型 | 说明 |
---|---|---|
adId | string | 广告标识,用来上报曝光与点击 |
title | string | 广告标题 |
desc | string | 广告描述 |
icon | string | 推广应用的Icon图标 |
imgUrlList | Array | 广告图片 |
logoUrl | string | “广告”标签图片 |
clickBtnTxt | string | 点击按钮文本描述 |
creativeType | number | 获取广告类型,取值说明:0:无 1:纯文字 2:图片 3:图文混合 4:视频 |
interactionType | number | 获取广告点击之后的交互类型,取值说明: 0:无 1:浏览类 2:下载类 3:浏览器(下载中间页广告) 4:打开应用首页 5:打开应用详情页 |
代码示例:
nativeAd.onLoad(function(res) {
console.log("原生广告加载" , res.adList)
})
nativeAd.offLoad(function callback)
移除原生广告加载成功监听
nativeAd.onError(function callback)
监听原生广告错误事件
代码示例:
nativeAd.onError((err)=>{
console.log(err)
})
nativeAd.offError(function callback)
移除原生广告错误监听
nativeAd.destroy()
销毁原生广告
激励视频广告
激励视频广告组件是由客户端原生的图片、文本、视频控件组成的,层级最高,会覆盖在普通组件上,该方法返回的是一个单例,该实例仅对当前页面有效,不允许跨页面使用。
ad.createRewardedVideoAd(object)
创建激励视频广告组件,该广告页面单例,不允许跨页面使用。
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
adUnitId | string | 是 | 激励视频广告位标识 |
代码示例:
let rewardedVideoAd = ad.createRewardedVideoAd({
adUnitId: 'xxx'
})
返回值
激励视频广告组件
rewardedVideoAd.load()
加载激励视频广告。
返回值
Promise
激励视频广告显示操作的结果。
rewardedVideoAd.show()
显示激励视频广告。激励视频广告将从屏幕下方推入。
返回值
Promise
激励视频广告显示操作的结果。
rewardedVideoAd.onLoad(function callback)
监听激励视频广告加载事件。
参数
function callback
激励视频广告加载事件的回调函数
rewardedVideoAd.offLoad(function callback)
取消监听激励视频广告加载事件
参数
function callback
激励视频广告加载事件的回调函数
rewardedVideoAd.onClose(function callback)
监听用户点击关闭广告 按钮的事件
参数
function callback
参数 | 类型 | 说明 |
---|---|---|
isEnded | boolean | 视频是否是在用户完整观看的情况下被关闭的 |
rewardedVideoAd.offClose(function callback)
取消监听用户点击关闭广告
按钮的事件
参数
function callback
用户点击关闭广告
按钮的事件的回调函数
rewardedVideoAd.onError(function callback)
监听激励视频错误事件。
参数
function callback
激励视频错误事件的回调函数
rewardedVideoAd.offError(function callback)
取消监听激励视频广告错误
参数
function callback
激励视频错误事件的回调函数
错误码信息
错误码是通过onError获取到的错误信息。errCode返回值如下表:
代码 | 异常情况 |
---|---|
1000 | 后端错误,调用失败 |
1001 | 参数错误 |
1002 | 广告单元无效 |
1003 | 内部错误 |
1004 | 无合适的广告 |
1005 | 广告组件审核中 |
1006 | 广告组件被驳回 |
1007 | 广告能力被封禁 |
1008 | 广告位的广告能力已关闭 |
1009 | 广告加载超时 |
1100 | 过于频繁调用相关的API |
1101 | 广告在加载后,长时间没有展示,广告信息已过期 |
1102 | 调用了不支持的方法 |
1103 | 环境监测失败,如应用无权限等 |
1104 | 网络错误 |
1105 | 广告未加载成功 |
1106 | 广告展示失败 |
2000 | 未知错误 |
后台运行限制
禁止使用。 后台运行详细用法参见 后台运行脚本。
支持明细
厂商 | 支持 | 备注 |
---|---|---|
小米 | 1062+ | 暂不支持原生广告 小米移动广告联盟 |
中兴 | no | - |
华为 | no | - |
金立 | no | - |
联想 | no | - |
魅族 | no | - |
努比亚 | no | - |
OPPO | 1044+ | 激励视频广告1060+ OPPO 营销平台 |
vivo | 1052+ | 激励视频广告1061+ vivo 流量联盟平台 |
一加 | - | - |
预览版 | no | 预览版不提供广告接口 |