搜索
推广与变现
游戏联运
广告联盟
应用联运
推广与变现/广告联盟/操作指南/广告接入/快应用广告接入说明
快应用广告接入说明更新时间: 2024-10-10 16:56:00

一、文档更新日志

更新日期更新日志
2024年9月9日banner广告(横幅广告)、插屏广告、激励视频广告增加点击事件回调
2024年7月18日第七部分增加错误码:300601、300441、300701、300702、300703
2023年12月5日12月31日前原生广告2.0(自渲染2.0)请接入关闭按钮(Ad 组件的 closeBtnPosition 属性)和广告logo(ad-clickable-area组件的 type=logo),否则会强制展示关闭按钮和广告 logo,影响展示效果,详见第四部分
2023年10月24日- 原生广告2.0 ad-clickable-area 组件新增type属性,支持click、logo类型【重要:logo类型需要重新接入,详见文档】
- 修复已知问题,合规性及安全性优化
- 原生广告2.0 preloadAd 数据下发新增 hasPrivacy 字段
- 原生广告2.0 Ad 组件新增 closeBtnPosition 属性、adclose 事件
2023年08月31日
- 新增模板广告类型使用说明
- 原生广告2.0 appInfo中增加应用介绍字段

二、广告组件

广告接口和其他接口一样,需要在 manifest.json 中先声明,广告的最小支持版本号为 1052,声明方式:

三、接口声明

{"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 广告尺寸变化事件的回调函数

bannerAd.onClick(function callback) 1300+

监听 banner 广告点击事件

bannerAd.offClick(function callback) 1300+

移除 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.onClick(function callback) 1300+

监听插屏广告点击事件

interstitialAd.offClick(function callback) 1300+

移除插屏广告点击回调
interstitialAd.destroy()
销毁插屏广告组件

八、原生-自渲染1.0(原生广告)

注意:新接入的开发者请使用原生自渲染2.0,原生自渲染1.0在1103+版本后逐步放弃支持。
原生自渲染1.0(原生广告)将返回相应的广告素材,由开发者负责素材渲染。
原生自渲染1.0(原生广告)的每个广告位曝光都必须带有米盟广告logo,请开发者务必将该米盟广告logo渲染展示到广告内。
下载米盟广告Logo地址:https://kpan.mioffice.cn/webfolder/ext/f66uBquzcoQ%40?n=0.07417165969068606
密码:867c

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()
销毁原生广告

九、原生-自渲染2.0(原生广告2.0,最小支持引擎版本1103+)

原生自渲染2.0之后使用 adad-clickable-area 组件来进行广告渲染,获取数据方式也有 所改变,需要使用 preloadAd 接口预加载广告数据。
原生自渲染2.0的每个广告位曝光都必须带有米盟广告logo,请开发者务必将该米盟广告logo渲染展示到广告内。
下载米盟广告Logo地址:https://kpan.mioffice.cn/webfolder/ext/f66uBquzcoQ%40?n=0.07417165969068606
密码:867c

注意:在11030301以下版本快应用框架不支持“原生自渲染2.0”。请开发者做好兼容处理,在11030301以下版本请使用“原生自渲染1.0”。
https://doc.quickapp.cn/features/system/device.html#devicehost1070
var device = require('@system.device')          
var host = device.host
var package = host.package
var versionCode = host.versionCode
if (versionCode >= 11030201){
//使用原生广告2.0接口
} else {
//使用原来的原生广告接口
}

ad.preloadAd(object)
在快应用环境下,支持通过调用 ad.preloadAd 接口,提前加载广告数据,在后续创建对应广告 标签 ad ad-clickable-area 时,可直接使用预加载的广告数据,省去创建广告标签时拉取广告的耗时。
该方法会异步回调结果。

注意:当前接口限制使得preloadAd接口每次只会返回一条数据,如需在列表中使用多条数据,可以多次调用preloadAd接口并在本地缓存每次的广告结果。 为了避免本地缓存广告数量限制对应用的影响,本地缓存数量最好不超过6条。

参数

参数类型是否必填说明
adUnitIdstring广告位id,原生信息流广告位标识
typestring广告单元所属广告位类型。目前仅支持:native:原生自渲染广告
adCountNumber预期返回的广告条 当该参数不填时,预加载不会返回广告数据,
adCountNumber否则需使用load事件加载数据。 取值范围为1-3条,仅允许传入1、 2、3三个正整数之一,其他数据则报错不通过

success返回值:

参数类型说明
adListArray广告详细信息的对象,原生信息流广告时返回,数据格式如下表

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

参数 类型 说明
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:打开应用详情⻚
hasPrivacyboolean是否具备隐私交互组件能力,取值说明:true,广告素材有隐私交互能力,否则没有
appInfo object App信息,下载类广告会返回

注意:
creativeType字段暂时不可用。
interactionType字段在小米侧无需判断。
hasPrivacy 在 11060002 版本及以上才支持。

App信息 appInfo 参数列表:

参数 类型 说明
appName string 应用名称
appVersion string 应用版本
appSize float 应用大小,单位KB
developer string 开发者公司名称
privacyUrl string 隐私政策链接
permissionUrl string 应用权限链接
introductionUrlstring应用介绍链接

ad.preloadAd({
adUnitId: this.adUnitid,//原生信息流2.0广告位标识
adCount: this.adCount,//预期返回的数据条数:取值范围1-3,其他数据则报错 type: 'native',//所属广告位类型 success: (data) => {
success: (data) => { prompt.showToast({
console.log(data, '预加载成功')//
prompt.showToast({
message: `预加载成功`
})
//存储预加载数据 this.preloadData = data.adList//一次成功返回有1-3个数据,参照对应的adCount数(小 概率情况下小于 adCount 数)
},
fail: function (err, code) {
console.log(err, code, '预加载失败')
prompt.showToast({
message: `预加载失败${JSON.stringify(err)}`
})
}
})

ad组件

广告组件,用于加载原生广告。

注意:
1.ad组件内部需要添加div方可布局使用,否则广告内容会叠加到一起。
2.广告组件内部不要放置可点击元素,否则有可能误触发广告点击。

子组件
支持。
属性
支持通用属性

除此之外还支持如下属性。

名称类型默认值必填描述
adidString填入preloadAd方法获取的广告数据中的 adId 字段, 通过该属 性将组件指定为 ad 接口返回的对应原生自渲染2.0广告素材的展示容器
closeBtnPositionStringright- top"配置关闭按钮的显示位置,取值范围:
left-top:左上角
right-top:右上角
left-bottom:左下角
right-bottom:右下角"

注意:
1. ad组件内部需要添加div方可布局使用,否则广告内容会叠加到一起。
2. ad组件内部不要放置可点击元素,否则有可能误触发广告点击。
3. 不允许ad组件、popup组件作为ad组件的子组件。
4. ad组件不能过小,不能被遮挡,否则会影响广告展示。
5. 如未设置adid,则不会回调事件。
6. closeBtnPosition 属性在 11060002 版本及以上才支持。
7. 11060002 版本及以上会强制展示关闭按钮,请开发者做好兼容处理,11060002 版本及以上移除自己实现的关闭按钮,根据 closeBtnPosition 属性调整位置,11060002 版本以下自己实现关闭按钮。

样式
支持通用样式
事件
不支持通用事件,支持如下事件。

名称参数描述
adclick广告组件内可响应广告点击动作区域被点击
adshow广告组件曝光回调
error{ errCode: Number, errMsg: String}广告素材加载失败时或者内部错误时触发
adclose系统自带的关闭按钮被点击时触发,此时广告视图被移除
注意:adclose回调时,开发者应将对应广告组件(推荐ad组件或ad组件的父组件)使用if条件语句删除。

ad-clickable-area 组件
ad 组件子组件,用于展示广告的可点击区域。当 ad-clickable-area 作为非 ad 组件子组件时,效果等同 div 组件。

注意:当前只有ad组件内部需要使用ad-clickable-area组件,其他容器内不要使用此组件。

子组件
type 为 click 时支持子组件,type 为logo时,不支持子组件。
属性
支持通用属性

名称类型默认值必填描述
typeclick | logoclick"组件类型
click:图文素材点击区域,支持子组件,点击后跳转至相应的落地页;
logo:广告标识区域,不支持子组件
注意:
1、type 属性在 11060002 版本及以上才支持。
2、所有原生广告必须通过 type 为 logo 展示广告标识,如不设置会默认添加在左上角位置,logo 标识宽高固定为78*36,开发者可以自行调整摆放位置;

样式
支持通用样式

当 type 为 logo 时:

名称类型默认值必填描述
logoStylenumber0广告标识样式。取值范围:0,1
0:为灰底
1:为黑底

事件
不支持事件

原生广告2.0 示例代码

  <template>     
<div class="doc-page">
<div class="ad-container" if="{{this.hasAdList===true}}">
<ad
adid="{{adList.adId}}"
class="ad-native"
type="native"
show="{{!!adList.adId}}"
onadclick="adClick"
onadshow="adShow"
@error="error">
<div class="ad-native">
<ad-clickable-area class="ad-image">
<image src="{{this.adList.imgUrlList[0]}}"></image>
</ad-clickable-area>
<ad-clickable-area class="ad-image">
<text class="page-title">{{adList.title}}</text>
</ad-clickable-area>
</div>
</ad>
</div>
</template>

<style>
.ad-native {
width: 100%;
flex-direction: column;
flex-wrap: wrap;
height: 100%;
}

.ad-image {
width: 100%;
flex-direction: column;
height: 40%;
}

.doc-page {
flex: 1;
flex-direction: column;
align-items: center;
}

.page-title-wrap {
padding-top: 50px;
padding-bottom: 80px;
justify-content: center;
}
.page-title {
padding-top: 30px;

padding-bottom: 30px;
padding-left: 40px;
padding-right: 40px;
border-color: #bbbbbb;
color: #bbbbbb;
border-bottom-width: 2px;
}

.item-container {
width: 100%;
}
.ad-container {
width: 100%;
height: 100%;
}
</style>
<script>
/**
* 标识:测试用例
* @desc ad接口 */

import ad from '@service.ad'
import prompt from '@system.prompt'

export default {
private: {
adList: {},
hasAdList: false,
shouldShow: false,
params: {
adUnitId: 'da11b7e8c582ee7d1acf16a627ea6b34'
}
},

onInit() {
this.$page.setTitleBar({
text: '原生广告2.0'
})
// 创建实例 this.preloadAd()
},
adShow(evt) {
console.log('adShow: ', evt)
prompt.showToast({

message: `广告展示回调事件成功触发`
})
},
adClick(evt) {
console.log('adClick: ', evt)
prompt.showToast({
message: `广告点击回调事件成功触发`
})
},

preloadAd() {
ad.preloadAd({
adUnitId: "da11b7e8c582ee7d1acf16a627ea6b34",
adCount: 1,
type: "native",
success: (data) => {
console.log(JSON.stringify(data), 'charles预加载成功')

this.adList = data.adList[0]
this.hasAdList = true
console.log(JSON.stringify(this.adList) + "charles", this.adList.adId)
},

fail: function (err, code) {
console.log(err, code, 'charles 预加载失败')
prompt.showToast({
message: `预加载失败${JSON.stringify(err)}`
})
}
})
}
}
</script>

十、激励视频广告 1070+ (最小支持引擎版本1070+

激励视频广告组件是由客户端原生的图片、文本、视频控件组成的,层级最高,会覆盖在普通组件 上,该方法返回的是一个单例,该实例仅对当前⻚面有效,不允许跨⻚面使用。
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
激励视频错误事件的回调函数

rewardedVideoAd.onClick(function callback) 1300+

监听激励视频广告点击事件

参数

function callback

用户点击事件回调函数

rewardedVideoAd.offClick(function callback) 1300+

移除激励视频广告点击回调

参数

function callback

用户点击事件回调函数

rewardedVideoAd.destroy()
销毁激励视频广告组件

十一、原生-模板广告 (模板广告,最小支持引擎版本1105+)

ad.preloadAd(Object object)

在快应用环境下,支持通过调用 ad.preloadAd 接口,提前加载广告数据,在后续创建对应广告标签 ad-custom 时,会自动使用预加载的广告数据,省去创建广告标签时拉取广告的耗时。该方法会异步回调结果。

参数

参数 类型 必填 说明
adUnitId string 模板广告广告位标识
type string 广告单元所属广告位类型 native:原生自渲染广告,custom: 模板广告

代码示例

ad.preloadAd({ 
adUnitId: this.adunitid,
type: 'custom',
success: (data) => {
console.log(data, '预加载成功')
prompt.showToast({
message: `预加载成功`
})
},
fail: (err, code) => {
console.log(err, code, '预加载失败')
prompt.showToast({
message: `预加载失败${JSON.stringify(err)}`
})
}
})

ad-custom组件

概述

模板广告组件

子组件

不支持

属性

不支持

名称 类型 默认值 是否必填 描述
adunitid string - 在开发者联盟申请的唯一广告位标识id(各厂商id不同)

样式

支持通用样式

事件

不支持通用事件,支持如下事件
注意:1105-1108版本可能存在偶现 show 事件不回调问题,已在1109及以上版本修复

名称 参数 描述
load - 广告加载成功时触发
error { errCode: Number, errMsg: string} 广告加载失败时触发
show - 广告曝光时触发
click - 广告点击时触发
close - 广告关闭时触发

代码示例:

<template> 
<div class="ad-wrap">
<div class="nativeAdContainer">
<ad-custom
class="ad-native"
adunitid="{{ adUnitId }}"
onload="adLoad"
onerror="adError(err,evt)"
onclick="adClick"
onclose="adClose"
onshow="adShow"
>
</ad-custom>
</div>
<list class="list-content" onscroll="handleScroll" id="list">
<!-- 列表元素,属性type值相同时,需要确保渲染中dom结构相同 -->
<list-item type="listItem" class="item item-color" for="{{logList}}">
<text class="txt">{{ $idx }}: {{ $item }}</text>
</list-item>
</list>
</div>
</template>
<script>
import prompt from '@system.prompt'
import ad from '@service.ad'
import device from '@system.device'
import router from '@system.router'
export default {
protected: {
adUnitId: 'xxx'
},
private: {
adList: {},
hasAdList: false,
shouldShow: false,
logList: []
},
async onInit() {
this.$page.setTitleBar({
text: '模板广告'
})
this.adPreloaded()
},
adPreloaded() {
let _this = this
ad.preloadAd({
adUnitId: this.adUnitId,
type: 'custom',
success: (data) => {
console.log(data, '预加载成功')
prompt.showToast({
message: `预加载成功`
})
_this.logList.unshift('模板广告预加载完成' + JSON.stringify(data))
},
fail: (err, code) => {
console.log(err, code, '预加载失败')
_this.logList.unshift('模板广告预加载失败 err: ' + err + ' code: ' + code)
prompt.showToast({
message: `预加载失败${JSON.stringify(err)}`
})
}
})
},
adLoad() {
console.log('adLoad 模板广告加载成功:')
this.logList.unshift('adLoad 模板广告加载成功:')
},
adError(err, evt) {
if (err) {
console.log('adError 模板广告加载出错:', err)
} else if (evt) {
prompt.showToast({
message: '模板广告展示失败:' + evt.errCode + ', errMsg=' + evt.errMsg
})
console.log('adError 模板广告展示失败:', evt.errCode, evt.errMsg)
}
},
adShow(evt) {
console.log('adShow: 模板广告展示回调事件成功触发')
prompt.showToast({
message: `模板广告展示回调事件成功触发`
})
this.logList.unshift('模板广告展示 回调事件成功触发')
},
adClick(evt) {
console.log('adClick: 模板广告点击回调事件成功触发')
prompt.showToast({
message: `模板广告点击回调事件成功触发`
})
this.logList.unshift('模板广告点击 回调事件成功触发')
},
adClose() {
console.log('adClose: 模板广告关闭回调事件成功触发 ')
prompt.showToast({
message: `模板广告关闭回调事件成功触发`
})
},
// 获取设备信息
getDeviceInfo(key) {
return new Promise((resolve, reject) => {
device.getInfo({
success: function (data) {
if (key) {
resolve(data[key])
} else {
resolve(data)
}
},
fail: function (data, code) {
reject(`### device.getInfo fail ### ${code}: ${data}`)
}
})
})
}
}
</script>
<style lang="less">
.ad-wrap {
flex: 1;
flex-direction: column;
}

.nativeAdContainer {
width: 750px;
height: 1010px;
flex-direction: column;
}

.ad-native {
width: 100%;
height: 100%;
}
.list-content {
flex: 1;
padding-left: 60px;
padding-right: 60px;
}

.item {
height: 150px;
align-items: center;
justify-content: center;
margin-bottom: 15px;
}
.item-color {
background-color: #f76160;
}
</style>

十二、错误码信息

错误码是通过onError获取到的错误信息。errCode返回值如下表:

错误码说明排查建议
0广告请求成功,有广告填充
1广告请求成功,无广告填充没有合适的广告返回而导致请求没有填充歌,偶现属于正常情况
100401联盟投放限制过滤调整米盟开发者后台的投放限制策略,如屏蔽关键词、包名等投放限制
300001广告位不存在确认米盟开发者后台上广告位的状态,检查广告位id是否与后台保持一致
300002广告位在米盟SSP被暂停确认米盟开发者后台上广告位的状态
300003upId不存在检查广告位id是否与后台保持一致
300004广告位被加入黑名单广告位处于封禁状态,请及时查看米盟开发者后台提醒
300005应用在米盟SSP被暂停检查应用下广告位全部被暂停
300006应用被加入黑名单广告位处于封禁状态,请及时查看米盟开发者后台提醒
300007应用不存在确认广告位的应用信息是否正确
300009应用未上架确认米盟开发者后台应用状态
300201缺少 clientInfo确认广告请求的clientInfo信息
300202clientInfo 不是合法的 json 格式确认请求中clientInfo的格式是否与接入文档保持一致
300203没有上报 os 信息,或者 os 信息不正确确认请求中deviceInfo的os信息
300204没有上报ip信息确认广告请求的ip信息
300205没有上报connectionType确认广告请求中是否缺失connectionType
300206请求信息校验校验是否填上必要的请求信息
300207没有上报packageName确认广告请求的packageName是否正常上报
300208缺少deviceInfo确认deviceInfo是否为空
300209没有上报userInfo确认广告请求的uerInfo是否正常上报
300210没有上报appInfo确认广告请求的appInfo是否正常上报
300211缺少impRequest确认 广告请求的cilentInfo中的impRequest是否存在
300212没有上报 make 信息确认 广告请求的deviceInfo中的make信息是否正确上报
300215频控限制请求频率过高。避免同一设备在一段时间内高频拉取广告,如在开发测试阶段,可尝试更换测试设备解决
300216设备限制如在开发测试阶段,可尝试更换测试设备解决,如无法自行解决,可联系米盟进行解决
300219SSP平台上应用的包名与广告请求中的包名不一致实际发出广告请求的包名和在米盟开发者后台上应用的包名不匹配,需要检查发出广告的应用的包名,建议去开发者后台确认包名与使用的包名是否一致
300221设备黑名单联系米盟进行排查
300238联盟投放限制过滤调整广告的投放限制策略
300249缺少 ua 字段检查请求中的ua字段是否正确上报
300251缺少 model 字段检查请求中的model字段是否正确上报
300252目标价过滤请适当调整CPM目标价
300407低转化率广告位限流广告位后端转化效果差,因此填充率被限制。需根据广告位的广告数据分析流量转化效率差的具体原因,建议关注转化率、用户留存等数据,提高广告位转化效率。
301003无合适预算联系米盟进行解决
301005自渲染广告样式,返回的广告类型不符合用户需要的广告类型,比如用户在SSP后台勾选需要图片,返回的是视频在米盟开发者后台勾选图片+视频元素,最大化广告位填充
300254非小米设备检查设备是否为小米手机
300411异常设备过滤设备存在异常,请自查流量来源。如在开发测试阶段,可尝试更换测试设备解决
300417快框架低版本过滤升级快框架版本
300418请求异常建议排查请求机制
300419当前流量存在异常,无法填充广告,请自查
300504快应用框架版本>=11030301的用户停止下发原生广告1.0请接入原生广告2.0
1000后端错误,调用失败
1001参数错误
1002广告单元无效
1003内部错误
1004无合适的广告
1005广告组件审核中
1006广告组件被驳回
1007广告能力被封禁
1008广告位的广告能力已关闭
1009广告加载超时
1100过于频繁调用相关的API
1101广告在加载后,⻓时间没有展示,广告信息已过期
1102调用了不支持的方法
1103环境监测失败,如应用无权限等
1104网络错误
1105广告未加载成功
1106广告展示失败
1107后台无法调用广告能力展示广告时当前快应用页面必须在前台且用户可见
2000未知错误
300601请求过于频繁,触发平台填充限制建议减少无效的重复请求或者适当减少瀑布流层级(建议并发请求的广告位ID控制在15个以内)
300441当前SDK版本过低,请及时升级建议升级至最新版本
300701当前流量存在异常,无法填充广告,请自查
300702当前流量存在异常,无法填充广告,请自查
300703当前流量存在异常,无法填充广告,请自查
300442请核对广告位类型

十三、后台运行限制

禁止使用。 后台运行详细用法参⻅后台运行脚本。

上一篇:
下一篇: