菜单

SDK接入说明

SDK使用流程

 

在您将SDK集成到项目之前,建议首先阅读文档中的流程图,并结合我们的SDK Demo示例,了解SDK以及广告使用流程,这将大大减少您集成SDK的时间

Step1: 安装广告模块

在快应用项目根目录下安装广告模块

// vivo、oppo、小米、荣耀 等
npm install @topon/quick-app-sdk -S

针对华为快应用可使用华为包

// 仅支持华为
npm install @topon/quick-app-sdk-hw -S

Step2: 下载快应用广告demo,拷贝广告页面

  1. 下载TopOn SDK 快应用广告demo压缩文件。【点击下载】,优量汇Demo需要另行下载【点击下载
  2. 解压后,将UnionAd、TopOn文件夹拷贝到您的快应用项目src/路径下
  3. 在您的项目manifest.json文件中配置page信息
// 路径和页面配置
"router": {
    "pages": {
        "UnionAd/AdPage": {    // 开屏广告页面
            "component": "index"
        },
        "UnionAd/AdLanding": {   // 广告落地页
            "component": "index"
        },
        "UnionAd/AdReward": {    // 激励视频广告
            "component": "index"
        },
        "TopOn/AdLanding": { // TopOn Adx 广告落地页
            "component": "index"
        },
        "TopOn/AdReward": { // TopOn Adx 激励视频广告
            "component": "index"
        },
    }
},
"display": {
    "pages": {
        "UnionAd/AdPage": {
            "fullScreen": true,
            "titleBar": false,
            "statusBarImmersive": true,
            "menu": false,
            "menuBarData": {
                "menuBar": false
            }
        },
        "UnionAd/AdReward": {
            "fullScreen": true,
            "titleBar": false,
            "statusBarImmersive": true,
            "menu": false,
            "menuBarData": {
                "menuBar": false
            }
        },
        "UnionAd/AdLanding": {
            "fullScreen": true,
            "titleBar": false,
            "statusBarImmersive": true,
            "menu": false,
            "menuBarData": {
                "menuBar": false
            }
        },
        "TopOn/AdLanding": {
            "fullScreen": true,
            "titleBar": false,
            "statusBarImmersive": true,
            "menuBarData": {
                "menuBar": false
            }
        },
        "TopOn/AdReward": {
          "fullScreen": true,
          "titleBar": false,
          "statusBarImmersive": true,
          "menuBarData": {
            "menuBar": false
          }
        }
    }
}

Step3: 添加接口权限

在您的项目中manifest.json文件中features属性中添加权限声明代码:

// 权限配置
"features": [
    {"name": "system.prompt"},
    {"name": "system.network"},
    {"name": "system.router"},
    {"name": "system.fetch"},
    {"name": "system.webview"},
    {"name": "system.request"},
    {"name": "system.device"},
    {"name": "system.package"},
    {"name": "system.storage"},
    {"name": "service.account"},
    {"name": "system.file"},
    {"name": "system.animate"}
]

Step4: 引入广告代码

在快应用入口文件app.ux中注册SDK

初始化SDK参数项详见:TOPON_AD_SDK参数说明

<script>
import TOPON_AD_SDK from '@topon/quick-app-sdk/app.js'

export default {
    onCreate() {
        this.instance = null
        try {
            this.instance = new TOPON_AD_SDK({
                app: this, // 必传
                appId: 'xxx', // 必传
                appKey: 'yyy', // 必传
                channelId: 'zzz', // 可选
                subChannelId: 'kkkk' // 可选
            });
        } catch (error) {
            console.log('error', error);
        }
    },
    onShow() {
        this.instance.onShow()
    },
    onHide() {
        this.instance.onHide()
    },
    onDestroy() {
        this.instance.onDestroy()
    }
}
</script>

Step5: 组件挂载 & 注册回调函数

在使用广告组件的页面引入广告组件

<import name='topon-ad' src="@topon/quick-app-sdk/placement"></import>
<template>
  <div>
    <topon-ad
      id="topon-ad-{{placementId}}"
      placement-id="{{placementId}}"
      @ad-load="handleAdLoad"
      @ad-show="handleAdShow"
      @ad-close="handleAdClose"
      @ad-click="handleAdClick"
      @ad-error="handleAdError"
    >
    </topon-ad>

    <input
      class="btn"
      type="button"
      value="加载/刷新广告"
      onclick="handleLoadAd"
    />

    <input
      class="btn"
      type="button"
      value="isReady"
      onclick="handleCheckAdReady"
    />

    <input
      class="btn"
      type="button"
      value="获取广告"
      onclick="handleGetAd"
    />

    <input
      class="btn"
      type="button"
      value="展示广告"
      onclick="handleDisplayAd"
    />
  </div>
</template>

<script>

export default {
  private: {
    loaded: false,
    placementId: 'b63213b896cf20'
  },

  public: {
    placement: null
  },

  onReady() {},


  // 广告源Load成功回调
  handleAdLoad(e) {
    this.loaded = true
  },

  // 检查广告是否ready
  handleCheckAdReady() {
    const placement = this.getSdkElement()
    return placement.isReady()
  },

  // 广告Show成功回调
  handleAdShow(e) {
    console.log('广告展示回调', e)
  },

  // 广告Close成功回调
  handleAdClose(e) {
    console.log('广告关闭回调', e)
  },

  // 广告点击回调
  handleAdClick(e) {
    console.log('广告点击回调', e)
  },

  // 广告错误回调
  handleAdError(e) {
    console.log('广告加载错误回调', e)
  },

  /**
   * 展示广告,注意自渲染广告时不支持该API
   * 注意:确保在广告组件加载完成后调用
   **/ 
  handleDisplayAd() {
    const isReady = this.handleCheckAdReady()
    // 先检查广告是否ready
    if (!isReady) return
    const currentAd = this.handleGetAd()
    const placement = this.getSdkElement()
    // 展示非自渲染的广告
    if (!currentAd.isSelfRendering) {
      placement.show()
    }
  },

  // load广告
  handleLoadAd() {
    const placement = this.getSdkElement()
    placement.load()
  },

  // 获取广告
  handleGetAd() {
    if (!this.loaded) {
      console.log('请等待加载完成后再获取数据')
      return
    }
    const placement = this.getSdkElement()
    const currentAd = placement.getAd()
    return currentAd
  },

  // 上报ad.show
  handleReportShow() {
    const placement = this.getSdkElement()
    placement.reportShow()
  },

  // 上报ad.click
  handleReportClick() {
    const placement = this.getSdkElement()
    placement.reportClick()
  },

  // 获取广告组件实例
  getSdkElement() {
    return this.$child(`topon-ad-${this.placementId}`)
  }
}
</script>

TOPON_AD_SDK参数说明

参数名 类型 是否必传 默认值 说明
appId String Y none 在 Taku 配置的应用 id
appKey String Y none 在 Taku 上的用户 appkey
channelId String N none 渠道 ID
subChannelId String N none 子渠道 ID
setChannel Function N none 设置渠道 ID 方法
setSubChannel Function N none 设置子渠道 ID 方法
setCustomParam Function N none 设置App维度自定义规则方法
setPlacementCustomParam Function N none 设置Placement维度自定义规则方法
config Object N none 配置项

TOPON_ON_SDK 配置项config支持详情

参数名 类型 是否必穿 默认值 备注
device String N '0'

'1' 获取设备信息(需用户授权)
'0' 不获取设备信息

startup String N '0' '1' 在setChannel时上报启动次数(不管有没有Channel一定要调用)
'0' 在SDK初始化时马上上报启动次数
ylhAppId String N none 优量汇App ID,集成优量汇时必填,

1、下载优量会最新demo(需向优量汇申请权限),

2、将demo解压后将 YlhAds 文件夹拷贝到您的快应用项目src目录下。同时在manifes.json文件中配置Page信息

优量汇demo,
preload Object N none 预请求
preload.placementStrategy Array N none 预请求广告位ID ex: placementStrategy: [plid1, plid2]

设置渠道

通过配置设置渠道

在初始化TOPON_AD_SDK时,channelId和subChannelId是可选参数,请开发者根据需要决定是否传入。

另外,若不在初始化时传入channelId和subChannelId,也可以在初始化后的适合时机调用TOPON_AD_SDK提供的setChannel方法和setSubChannel方法分别设置渠道ID和子渠道ID。

通过接口设置渠道

在快应用入口文件app.ux中注册SDK

<script>
import TOPON_AD_SDK from '@topon/quick-app-sdk/app.js'

export default {
    onCreate() {
        try {
            const instance = new TOPON_AD_SDK({
                app: this, // 必传
                appId: 'xxx', // 必传
                appKey: 'yyy', // 必传
            });
            this.$def.topon_sdk_instance = instance
        } catch (error) {
            console.log('error', error);
        }
    }
}
</script>

在快应用页面设置渠道ID

<script>

export default {
    onInit() {
      this.handleSetChannel('1234')
      this.handleSetSubChannel('34567')
    },

    // 设置渠道ID
    handleSetChannel(value) {
      this.$app.$def.topon_sdk_instance.setChannel(value);
    },

    // 设置子渠道ID
    handleSetSubChannel(value) {
      this.$app.$def.topon_sdk_instance.setSubChannel(value);
    }
}
</script>

设置自定义规则

<script>

export default {
    onInit() {
      this.handleSetCustomParam({"name": "xxxx"})
      this.handleSetPlacementCustomParam({"key": "value"})
    },

    // 设置App维度自定义规则
    handleSetCustomParam(value) {
      this.$app.$def.topon_sdk_instance.setCustomParam(value);
    },

    // 设置Placement维度自定义规则
    handleSetPlacementCustomParam(value) {
      this.$app.$def.topon_sdk_instance.setPlacementCustomParam(value);
    }
}
</script>

AD组件API说明

API 类型 是否必传 默认值 说明
placementId String Y none 在 Taku 配置的广告位 id
config Object N {timeout: 0, entry: '/', style: {}, filter: { nwFirmIds: [], unitIds: []} } 广告位相关配置
load Function this.$child('topon-ad').load() none 重新加载广告
isReady Function this.$child('topon-ad').isReady() none 广告是否已填充
在getAd之前使用
getAd Function this.$child('topon-ad').getAd() none 获取广告素材
show Function this.$child('topon-ad').show() none 展示广告
reportShow Function this.$child('topon-ad').reportShow() none 上报 AD.SHOW
reportClick Function this.$child('topon-ad').reportClick() none 上报 AD.CLICK
ad-load Function N none 广告 load 成功回调
Taku JS SDK >= 4.0.15 版本不再返回广告源相关信息
ad-show Function N none 广告调用 show 成功回调
ad-click Function N none 广告点击成功回调
ad-close Function N none 广告关闭回调
ad-error Function N none 广告错误回调
ad-unit-bidding-attempt Function N none 竞价广告源开始竞价回调
ad-unit-bidding-filled Function N none 竞价广告源竞价成功回调
ad-unit-bidding-fail Function N none 竞价广告源竞价失败回调
ad-unit-load-attempt Function N none 广告源开始加载回调
ad-unit-load-filled Function N none 广告源广告填充回调
ad-unit-load-fail Function N none 广告源填充失败回调

广告源维度事件回调信息

参数 类型 说明 备注
ecpm Number ecpm价格(美元) 竞价广告源 仅填充成功时返回常规广告源 返回瀑布流eCPM
cyEcpm Number ecpm价格(对应Taku后台配置的币种) 竞价广告源 仅填充成功时返回常规广告源 返回瀑布流eCPM
unitId Number 广告源ID  
nwFirmId Number 广告平台ID  
nwUnitId String 代码位ID 三方广告id
format Number 广告类型  
abTestId Number AB测试ID 具体AB测试ID可以从AB测试页面查询
segmentId Number 流量分组ID  
requestId String Taku JS SDK生成的reqeust id  
isHeaderBidding Number 是否头部竞价 是否为头部竞价的广告源,1:是,0:否
unitLevel Number 获取 广告源的eCPM层级(对应开发者后台聚合管理页面的优先级),头部竞价广告源默认为0  
unitIndex Number 最终的WF排序  
error Object 错误信息 仅失败时返回
error.code Number 错误码 仅失败时返回
error.msg String 错误信息 仅失败时返回

API支持情况

不同平台下由于调用、渲染等方式的不同,API支持程度会不同

  1. 对于回调API(“ad-”前缀开头的部分),✗表示在该平台下,该回调不生效
  2. 对于方法API,✗表示该平台下不支持该方法
  3. 为保持一致性,集成时建议回调API尽可能都注册监听函数

原生广告

API vivo oppo 百度 华为 小米 优量汇 备注
placementId 在 taku 注册的广告位
config.timeout 广告位超时时间,毫秒,若不传,开屏广告默认为 5000ms,其他类型广告默认为 300000ms,若无特殊需求,建议不要传入此参数
config.filter

过滤选项(过滤广告平台 or 广告源)

nwFirmIds 广告平台ID(整形数组)
unitIds 广告源ID(整形数组)

config.style 自定义广告样式,参考广告平台配置文档
ad-load 广告 load 成功回调
ad-show 广告调用 show 成功回调,仅在百度平台生效
ad-close 广告关闭回调,仅在百度平台生效
ad-click 广告点击成功回调,仅在百度平台生效
ad-error 广告错误回调
load 重新加载广告
isReady 广告是否 ready
getAd 获取广告素材,在百度平台不生效
show 展示广告,仅在百度平台生效
showAppDetailPage 展示应用详情页{ex: placement.showAppDetailPage()}
getDownloadStatus
获取下载状态(ex:同showAppDetailPage)
getDownloadProgress
获取下载进度(ex:同showAppDetailPage)
subscribeDownloadStatus
监听下载状态变化(ex:同showAppDetailPage)
subscribeDownloadProgress
监听下载进度变化(ex:同showAppDetailPage)
unsubscribeDownloadStatus
取消监听下载状态变化(ex:同showAppDetailPage)
unsubscribeDownloadProgress
取消监听下载进度变化(ex:同showAppDetailPage)
reportShow 自渲染时上报show
reportClick 自渲染时上报click

开屏广告

API vivo oppo 百度 优量汇 备注
placementId 在 taku 注册的广告位
config.timeout 广告位超时时间,毫秒,若不传,开屏广告默认为 5000ms,其他类型广告默认为 300000ms
config.filter

过滤选项(过滤广告平台 or 广告源)

nwFirmIds 广告平台ID(整形数组)
unitIds 广告源ID(整形数组)

config.entry App 首页,如果有使用开屏广告,则必须配置,仅在百度平台生效
config.style 自定义广告样式,参考广告平台配置文档
ad-load 广告 load 成功回调
ad-show 广告调用 show 成功回调,仅在百度平台生效
ad-close 广告关闭回调,仅在百度平台生效
ad-click 广告点击成功回调,仅在百度平台生效
ad-error 广告错误回调
load 重新加载广告
isReady 广告是否 ready
getAd 获取广告素材,在百度平台不生效
show 展示广告,仅在百度平台生效

⚠️注意:

  1. 自渲染广告(isSelfRendering为true)需要使用厂商提供的广告组件渲染(一般为ad组件)
  2. 在广告组件回调事件中需要对接reportShow(广告组件回调展示)、reportClick(广告组件回调回调点击)

激励视频广告

API vivo oppo 百度 华为 小米 优量汇 备注
placementId 在 taku 注册的广告位
config.timeout 广告位超时时间,毫秒,若不传,开屏广告默认为 5000ms,其他类型广告默认为 300000ms
config.filter

过滤选项(过滤广告平台 or 广告源)

nwFirmIds 广告平台ID(整形数组)
unitIds 广告源ID(整形数组)

ad-load 广告 load 成功回调
ad-show 广告调用 show 成功回调
ad-close 广告关闭回调
ad-click 广告点击成功回调,注意激励视频无点击回调
ad-error 广告错误回调
load 重新加载广告
isReady 广告是否 ready
getAd 获取广告素材,激励视频均不支持
show 展示广告

插屏广告

API vivo oppo 百度 说明
placementId 在 taku 注册的广告位
config.timeout 广告位超时时间,毫秒,若不传,开屏广告默认为 5000ms,其他类型广告默认为 300000ms
config.filter

过滤选项(过滤广告平台 or 广告源)

nwFirmIds 广告平台ID(整形数组)
unitIds 广告源ID(整形数组)

ad-load 广告 load 成功回调
ad-show 广告调用 show 成功回调
ad-close 广告关闭回调
ad-click 广告点击成功回调
ad-error 广告错误回调
load 重新加载广告
isReady 广告是否 ready
getAd 获取广告素材,插屏广告均不支持
show 展示广告
百度目前为自动show

Banner广告

API vivo oppo 说明
placementId 在 taku 注册的广告位
config.timeout 广告位超时时间,毫秒,若不传,开屏广告默认为 5000ms,其他类型广告默认为 300000ms
config.filter

过滤选项(过滤广告平台 or 广告源)

nwFirmIds 广告平台ID(整形数组)
unitIds 广告源ID(整形数组)

config.style 样式自定义,具体参数见下表  banner广告config.style配置项
ad-load 广告 load 成功回调
ad-show 广告调用 show 成功回调
ad-close 广告关闭回调
ad-click 广告点击成功回调,注意 Banner 无点击回调
ad-error 广告错误回调
load 重新加载广告
isReady 广告是否 ready
getAd 获取广告素材,Banner 均不支持
show banner 目前为自动 show
hide 隐藏广告

banner广告config.style配置项

属性 类型 是否必填 说明
left number banner 广告组件的左上角横坐标
top number banner 广告组件的左上角纵坐标
width number banner 广告组件的宽度
height number banner 广告组件的高度

Taku ADX

注意:Taku ADX目前仅支持原生(模版渲染)、激励视频

Taku ADX原生广告(>= 4.1.10)

API 是否支持 说明
placementId 在 taku 注册的广告位
config.timeout 广告位超时时间,毫秒,若不传,开屏广告默认为 5000ms,其他类型广告默认为 300000ms
config.filter

过滤选项(过滤广告平台 or 广告源)

nwFirmIds 广告平台ID(整形数组)
unitIds 广告源ID(整形数组)

ad-load 广告 load 成功回调
ad-show 广告调用 show 成功回调
ad-close 广告关闭回调
ad-click 广告点击成功回调
ad-error 广告错误回调
load 重新加载广告
isReady 广告是否 ready
getAd 获取广告素材
show -

Taku ADX激励视频广告(>= 4.1.35)

API 是否支持 说明
placementId 在 taku 注册的广告位
config.timeout 广告位超时时间,毫秒,若不传,开屏广告默认为 5000ms,其他类型广告默认为 300000ms
config.filter

过滤选项(过滤广告平台 or 广告源)

nwFirmIds 广告平台ID(整形数组)
unitIds 广告源ID(整形数组)

ad-load 广告 load 成功回调
ad-show 广告调用 show 成功回调
ad-close 广告关闭回调
ad-click 广告点击成功回调,注意激励视频无点击回调
ad-error 广告错误回调
load 重新加载广告
isReady 广告是否 ready
getAd 获取广告素材
show -

Taku ADX原生广告样式自定义(>= 4.1.17)

支持广告容器、标题、图片、按钮元素的样式自定义, 可通过config字段覆盖广告默认样式。

<import name='topon-ad' src="@topon/quick-app-sdk/placement">
<template>
  <div>
    <topon-ad
      id="topon-ad-{{placementId}}"
      placement-id="{{placementId}}"
      config="{{config}}"
    >
    </topon-ad>
  </div>
</template>

<script>

export default {
  data: {
    loaded: false,
    placementId: 'b63213b896cf20',
    config: {
        style: {
            containerStyle: {             // 容器样式
                fontSize: '20px',
                color: 'yellow'
            },
            titleStyle: { color:'red' },  // 标题样式
            imgStyle: {                   // 图片样式
                marginRight: '20px'
            },
            buttonStyle: {                // 按钮样式
                fontSize: '25dp',
                backgroundColor: 'blue'
            },
        }
    }
  },

}
</script>

Taku ADX原生广告模板/样式

注意⚠️⚠️:SDK < 4.1.45的版本仅有默认模板样式,若要应用新的模板样式,请将SDK版本更新至 4.1.45及以上版本

描述 样式
大图(默认)
右图左文(320x50)
左图右文(320x50)
左图右文(320x90)

集成、使用Taku ADX原生广告说明

注意⚠️⚠️:集成、使用Taku Adx 原生广告前请确保完成以下配置:

  1. 下载快应用广告demo压缩文件。点击下载,解压并将UnionAd、TopOn文件夹拷贝到您的快应用项目src/路径下
  2. manifest.json中已配置UnionAd/AdLanding页、TopOn/AdLanding等页面的router、display信息
  3. 详细配置见Step 2

集成、使用Taku ADX激励视频广告说明

注意⚠️⚠️:集成、使用Taku Adx 激励视频广告前请确保将 @taku/quick-app-sdk SDK版本升级到 v4.1.35及以上:

注意⚠️⚠️:集成、使用Taku Adx 激励视频广告前请确保完成以下配置:

  1. 下载快应用广告demo压缩文件。点击下载,解压并将UnionAd、TopOn文件夹拷贝到您的快应用项目src/路径下
  2. manifest.json中已配置UnionAd/AdReward页、TopOn/AdReward等页面的router、display信息
  3. 详细配置见Step 2

getAD

getAd

参数 类型 说明 备注
ecpm Number ecpm价格(美元) -
cyEcpm Number ecpm价格(对应Taku后台配置的币种) -
unitId Number 广告源ID  
nwFirmId Number 广告平台ID 54: Vivo快应用
55: Oppo快应用
56: 百度快应用
60: 华为快应用
61: 小米快应用
62: 华为AGD Pro
63: 荣耀快应用
64: 优量汇快应用
66: Taku Adx
nwUnitId Number 代码位ID -
nwUnitVersion Number 广告源API版本 注意:目前仅Oppo使用
1:API版本1.0
2:API版本2.0
customExt JSONObject 自定义参数 -
format Number 广告类型 -
isHeaderBidding Number 是否头部竞价 是否为头部竞价的广告源,
1:是,0:否
isSelfRendering Boolean 是否自渲染 true:自渲染,false:非自渲染
abTestId Number AB测试ID 具体AB测试ID可以从AB测试页面查询
segmentId Number 流量分组ID -
ad object 广告素材内容 详细结构见下方表格
renderType string 渲染方式

"1":原生自渲染,"2":原生模板 "3": 开发者自渲染(模板),

使用华为模板广告前必读

注意事项

getAd返回的ad结构

getAd中的广告素材数据均在ad字段中,其为一个Object对象【注意:为保持原始性,ad对象中的结构、字段,将会按厂商接口的返回的原始数据原样输出,因此不同厂商,结构字段可能会存在差异

参数 类型 备注
adId String 广告标识,用来上报曝光与点击
title String 广告标题
desc String 广告描述
icon String 推广应用的 Icon 图标
imgUrlList Array 广告图片
logoUrl String “广告”标签图片
clickBtnTxt String 点击按钮文本描述
creativeType number 获取广告类型,取值说明详见下表
interactionType number 获取广告点击之后的交互类型,取值说明: 0:无 1:浏览类 2:下载类 3:浏览器(下载中间页广告) 4:打开应用首页 5:打开应用详情页
price number 价格  单位 分(vivo多价格广告有此字段,其他厂商无)
priceLevel string 多价格标签 (vivo多价格广告有此字段,其他厂商无)

荣耀自渲染ad对象

参考: https://developer.hihonor.com/cn/doc/guides/101290#h1-1704442507119

优量汇自渲染ad对象

参考: https://ylh.qq.com/help_detail.html?cid=3658&pid=10504

厂商creativeType对照表

厂商 creativeType枚举值说明
Vivo 0:无图模式 或 物料规格未知,1:小图模式,2:大图模式,3:组图模式,4:视频,5:竖版视频,6:竖版大图
Oppo 0:无,1:纯文字,2:图片,3:图文混合,4:视频,5:纯图片,6:原生大图
小米 0:无,1:纯文字,2:图片,3:图文混合,4:视频
华为 1:文字,2:大图片,3:大图文,4:GIF,6:视频文,7:小图文,8:三小图文,9:视频,10:图标(文),101:文字带下载按钮,102:大图片带下载按钮,103:大图文带下载按钮,104:GIF 带下载按钮,106:视频文带下载按钮,107:小图文带下载按钮,108:三小图文带下载按钮,110:图标(文)带下载按钮

广告平台自渲染文档

  1. Vivo原生自渲染2.0: https://dev.vivo.com.cn/documentCenter/doc/633#w1-9
  2. Oppo原生自渲染2.0: https://open.oppomobile.com/new/developmentDoc/info?id=11962
  3. Oppo原生自渲染1.0: https://open.oppomobile.com/new/developmentDoc/info?id=11351
  4. 荣耀信息流渲染:  https://developer.hihonor.com/cn/doc/guides/101290#h1-1704442507119

广告组件API及使用流程说明

  1. 组件挂载 & 注册回调函数
  2. 在接到ad-load回调后,调用placement.isReady()判断广告是否Ready
  3. 若placement.isReady()为true,调用placement.getAd()获取广告
  4. placement.getAd()获取广告若是非自渲染(isSelfRendering字段),则调用placement.show()展示广告,若是自渲染则取出物料进行自渲染
  5. 在show掉广告后或者自渲染广告后,可再次调用placement.isReady()判断是否依然有Ready的广告
  6. 若5中的placement.isReady()为true,则可继续调用placement.getAd()获取广告,根据是否自渲染来自渲染广告物料或者展示广告
  7. 若5中的placement.isReady()为false,则说明已经没有Ready的广告,此时应调用placement.load()重新load广告,重复2-6的步骤

错误码信息

错误码是通过adError获取到的错误信息。code返回值如下表

code 异常情况 说明
19000 不支持该平台广告 -
19001 请求广告源超时 短超时,在taku中配置的广告源短超时时间内无响应,则会进入短超时并进行下一个瀑布流请求
19002 Placement超时 Placement超时,整个瀑布流无填充、无响应时在config.timeout时间内将会超时
19003 接口错误 无广告源数据
19004 接口错误 接口服务错误(请检查appKey、appId、placementId是否配置正确)
19005 广告缓存过期 load广告成功后,超过缓存有效期未展示,广告将失效
21000 后端错误,调用失败 -
21001 参数错误 -
21002 广告单元无效 -
21003 内部错误 -
21004 无合适的广告 -
21005 广告组件审核中 -
21006 广告组件被驳回 -
21007 广告能力被封禁 -
21008 广告位的广告能力已关闭 -
21009 广告加载超时 -
21100 过于频繁调用相关的API -
21101 广告在加载后,长时间没有展示,广告信息已过期 -
21102 调用了不支持的方法 -
21103 环境监测失败,如应用无权限等 -
21104 网络错误 -
21105 广告未加载成功 -
21106 广告展示失败 -
22000 未知错误 -

 

厂商错误码对照表

  1. VIVO错误码对照表
  2. OPPO错误码对照表
  3. 小米错误码对照表
  4. 华为错误码对照表
最近修改: 2025-05-30Powered by