codecamp

快应用 广告

接口声明

{"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 广告组件,则返回已创建的广告组件

参数

参数类型是否必填说明
adUnitIdstringBanner 广告位标识
styleObjectBanner 广告组件的样式

代码示例:

let bannerAd = ad.createBannerAd({
    adUnitId: 'xxx',
    style:{
        left:0,
        top: 800,
        width:1080
    }
})

style的结构

属性类型是否必填说明
leftnumberbanner 广告组件的左上角横坐标
topnumberbanner 广告组件的左上角纵坐标
widthnumberbanner 广告组件的宽度
heightnumberbanner 广告组件的高度

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错误参数,其他广告类型相同

参数类型是否必填说明
errMsgstring错误信息
errCodenumber错误码

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:

属性类型说明
widthnumber缩放后的宽度
heightnumber缩放后的高度

bannerAd.offResize(function callback)

取消监听 banner 广告尺寸变化事件

参数

function callback

banner 广告尺寸变化事件的回调函数,可以为空

bannerAd.destroy()

销毁 banner 广告

插屏广告

ad.createInterstitialAd(object)

创建插屏广告组件,同一个 adUnitId,如果已经创建,并且未 destroy,会复用之前的对象,创建后会加载广告素材,素材创建后会自动拉取

参数

参数类型是否必填说明
adUnitIdstring插屏广告位标识

代码示例:

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 广告组件,则返回已创建的广告组件

参数

参数类型是否必填说明
adUnitIdstring原生广告位标识

代码示例:

let nativeAd = ad.createNativeAd({
    adUnitId: 'xxx'
})

返回值

原生广告组件

nativeAd.load()

拉取广告数据,成功回调 onLoad,失败回调 onError

nativeAd.reportAdShow()

上报广告曝光,一个广告只有一次上报有效,adId 为 load 方法获取的广告数据的 adId 字段

参数

参数类型是否必填说明
adIdstring广告信息标识,由 load 接口返回

代码示例:

nativeAd.reportAdShow({
    adId: "xxx"
})

nativeAd.reportAdClick()

上报广告点击,一个广告只有一次上报有效,adId 为 load 方法获取的广告数据的 adId 字段

参数

参数类型是否必填说明
adIdstring广告信息标识,由 load 接口返回

代码示例:

nativeAd.reportAdClick({
    adId: "xxx"
})

nativeAd.onLoad(function callback)

设置广告加载成功回调

参数

参数类型是否必填说明
adListArray广告详细信息

返回广告数据 adList 是一个 Array 对象,其中 item 数据格式为:

参数类型说明
adIdstring广告标识,用来上报曝光与点击
titlestring广告标题
descstring广告描述
iconstring推广应用的Icon图标
imgUrlListArray广告图片
logoUrlstring“广告”标签图片
clickBtnTxtstring点击按钮文本描述
creativeTypenumber获取广告类型,取值说明:0:无 1:纯文字 2:图片 3:图文混合 4:视频
interactionTypenumber获取广告点击之后的交互类型,取值说明: 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)

创建激励视频广告组件,该广告页面单例,不允许跨页面使用。

参数

参数类型是否必填说明
adUnitIdstring激励视频广告位标识

代码示例:

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
参数类型说明
isEndedboolean视频是否是在用户完整观看的情况下被关闭的

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-
OPPO1044+激励视频广告1060+ OPPO 营销平台
vivo1052+激励视频广告1061+ vivo 流量联盟平台
一加--
预览版no预览版不提供广告接口


快应用 健康
快应用 微信支付
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

快应用 参考手册

快应用 安全

快应用 声音音频

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }