search
开发文档
开发文档/小游戏开发/API/平台能力/广告
广告更新时间:2025-12-22 17:00:01

qg.createBannerAd(横幅广告)

基础信息说明

功能概述:创建横幅(Banner)广告实例,支持显示/隐藏/销毁与事件订阅

<!--br {mso-data-placement:same-cell;}--> td {white-space:nowrap;border:0.5pt solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}

项目说明
版本要求
前提条件工程已接入广告服务,平台支持 Banner 广告SSP后台广告位创建指南:小游戏广告SDK接入文档
使用限制
相关教程

参数说明

qg.createBannerAd(option)

属性名类型默认值(如有)必填说明
adUnitIdString-横幅广告位 ID;获取方式详见前提条件中的SSP后台广告位创建
styleObject-初始样式与位置;常见字段:left、top、width、height
adIntervalsNumber-自动刷新间隔(秒),需≥30;该参数不传入时 Banner 广告不会自动刷新
  • 未传 style 时由底层决定默认位置与尺寸(通常默认屏幕底部,尺寸变化通过 onResize 获取)。

style 结构说明

属性名类型默认值(如有)必填说明
leftNumber
横幅广告组件左上角横坐标横幅广告位 ID;获取方式详见前提条件中的SSP后台广告位创建
topNumber横幅广告组件左上角纵坐标
widthNumber横幅广告组件宽度(底层按标准等比缩放)
heightNumber横幅广告组件高度(通常由底层按比例计算)

返回值说明

这是一个同步方法,调用后立即返回 BannerAd 实例。

属性名类型说明
bannerAdBannerAd横幅广告对象

BannerAd 对象方法与属性

名称类型同步/异步说明
show()Function异步(Promise)显示 Banner横幅广告;展示横幅广告,出错的时候回调 onError,分为加载和展示两个阶段,加载成功回调onLoad
hide()Function同步隐藏 Banner横幅广告
destroy()Function同步销毁 Banner 横幅广告对象,释放资源
styleObject只读广告样式对象;样式变化通过 onResize 监听

横幅广告组件的尺寸会根据开发者设置的宽度,即 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)
})

监听/取消监听事件方法

方法名入参说明
onLoadcallback(Function)监听横幅广告加载事件,callback无返回值
offLoadcallback(Function)取消监听加载成功事件
onResizecallback(Function)监听横幅广告尺寸变化事件
offResizecallback(Function)取消监听banner广告尺寸变化事件,callback同onResize的callback一致
onErrorcallback(Function)监听横幅广告错误事件
offErrorcallback(Function)取消监听错误事件
onClosecallback(Function)监听横幅广告关闭事件
offClosecallback(Function)取消监听关闭事件
onClickcallback(Function)监听横幅广告点击事件,1300+
offClickcallback(Function)移除横幅广告点击回调,1300+

回调结果说明

回调成功

回调名触发时机回调参数说明
onLoad加载完成data底层返回(通常为空对象或加载信息),以实际为准
onResize尺寸变化res常含缩放后的 width、height(以底层返回为准)

尺寸缩放与 onResize:

  • Banner广告尺寸会根据开发者设置的宽度进行等比缩放,缩放的范围是 300 到 屏幕宽度;
  • 事件的返回参数中包含真实的宽、高,若宽高不符合需求,可以动态的通过style.width设置改变广告的大小;
  • 注意:如果在 onResize 的回调函数中重设 width 且总是与上一次缩放后的 width 不同,那么可能会导致 onResize 的回调函数一直触发,卡死在 onResize 的回调函数中。

回调失败

  • onError:Banner 加载或展示流程中发生错误,常见回调形态:{ errMsg: string, errCode?: number }(以底层返回为准)。
  • show():Promise 的 reject(err) 为底层 fail 透传的错误对象或字符串。
属性名类型说明
errMsgString错误信息
errCodeNumber错误码

示例代码

// 创建 Banner 广告
const bannerAd = qg.createBannerAd({
adUnitId: 'test-banner-id',
style: { left: 0, top: 0, width: 320 }
})

// 展示与隐藏
bannerAd
.show()
.then(() => console.log('banner 显示成功'))
.catch(err => console.error('banner 显示失败', err))

// 业务需要时隐藏与销毁
bannerAd.hide()
bannerAd.destroy()

注意事项

  • 请在不需要展示时调用 hide(),并在退出场景或页面时调用 destroy() 释放资源。

qg.createInterstitialAd(插屏广告)

基础信息说明

功能概述:创建插屏广告实例,支持展示与事件订阅(加载、错误、关闭、点击)

项目说明
版本要求
前提条件工程已接入广告服务,平台支持插屏广告SSP后台广告位创建指南:小游戏广告SDK接入文档
使用限制
相关教程

参数说明

qg.createInterstitialAd(option)

属性名类型默认值(如有)必填说明
adUnitIdString-插屏广告位ID,获取方式详见前提条件中的SSP后台广告位创建指南

返回值说明

这是一个同步方法,调用后立即返回 InterstitialAd 实例。

属性名类型说明
interstitialAdInterstitialAd插屏广告对象

InterstitialAd 对象方法与属性

名称类型同步/异步说明
show()Function异步(Promise)展示插屏广告;resolve(data) 表示成功,reject(err) 表示失败
destroy()Function同步销毁插屏广告实例

监听/取消监听事件方法

方法名入参说明
onLoadcallback(Function)监听加载成功事件
offLoadcallback(Function)取消监听加载成功事件
onErrorcallback(Function)监听错误事件
offErrorcallback(Function)取消监听错误事件
onClosecallback(Function)监听关闭事件
offClosecallback(Function)取消监听关闭事件
onClickcallback(Function)监听插屏广告点击事件(1300+)
offClickcallback(Function)移除插屏广告点击回调(1300+)

回调结果说明

回调成功

回调名触发时机回调参数说明
onLoad加载完成data底层返回(通常为空对象或加载信息),以实际为准
onClose广告关闭res底层返回关闭信息,以实际为准
onClick广告点击res底层返回点击信息,以实际为准

回调失败

  • onError:加载或展示流程中发生错误,常见回调形态:{ errMsg: string, errCode?: number }。
  • show():Promise 的 reject(err) 为底层 fail 透传的错误对象或字符串。
属性名类型说明
errMsgString错误信息
errCodeNumber错误码

示例代码

// 创建插屏广告
const interstitialAd = qg.createInterstitialAd({ adUnitId: 'test-interstitial-id' })

// 事件订阅
interstitialAd.onLoad(() => {
console.log('插屏加载成功')
})
interstitialAd.onError(err => {
console.error('插屏错误', err)
})
interstitialAd.onClose(res => {
console.log('插屏关闭', res)
})
interstitialAd.onClick(res => {
console.log('插屏点击', res)
})

// 展示
interstitialAd
.show()
.then(() => console.log('插屏展示成功'))
.catch(err => console.error('插屏展示失败', err))

注意事项

  • 失败形态通常通过 onError 或 show() 的 reject(err) 返回,内容依底层实现。

qg.createRewardedVideoAd(激励视频广告)

基础信息说明

功能概述:创建激励视频广告实例,支持展示/加载与事件订阅(加载、错误、关闭、点击)

项目说明
版本要求
前提条件工程已接入广告服务,平台支持激励视频广告SSP后台广告位创建指南:小游戏广告SDK接入文档
使用限制激励视频广告为全局单例,仅对当前页面有效,不允许跨页面使用;激励视频广告组件是由客户端原生的图片、文本、视频控件组成的,层级最高,会覆盖在普通组件上
相关教程

注意:版本兼容与调用选择

  • 激励视频广告 与 激励广告说明:
    • 激励视频广告:面向低版本,能力同本文接口说明。
    • 激励广告(最小支持引擎版本 1307+):在 13070201 以下框架版本不支持“激励广告”,请开发者做好兼容处理,改用“激励视频”。

  • 统一接口:均使用 qg.createRewardedVideoAd(option);若框架版本较低,可能不会下发“激励广告”,请优先按本文的“激励视频广告”说明实现,并在版本判断后再进行调用。

版本判断示例(以平台返回为准):

//请根据以下方法获取到框架版本号之后判断选择调用的广告接口,激励广告/激励视频广告
//低版本调用激励广告接口不会下发广告
qg.getSystemInfo({
success: info => {
//可以获取框架版本前四位,如1307。
console.log(info)
}
})

参数说明

qg.createRewardedVideoAd(option)

属性名类型默认值(如有)必填说明
adUnitIdString-激励视频广告位ID,获取方式详见前提条件中的SSP后台广告位创建指南

返回值说明

这是一个同步方法,调用后立即返回 RewardVideoAd 实例。

属性名类型说明
rewardedVideoAdRewardVideoAd激励视频广告对象

RewardVideoAd 对象方法与属性

名称类型同步/异步说明
show()Function异步(Promise)展示激励视频广告,广告将从屏幕下方推入;resolve(data) 表示成功,reject(err) 表示失败;请勿在onLoad回调中调用show()
load()Function异步(Promise)手动重新拉取广告;resolve(data) 表示成功,reject(err) 表示失败

激励视频广告组件是一个全局单例,多次调用 qg.createRewardedVideoAd() 会复用同一个实例。该实例仅对当前页面有效,不允许跨页面使用。

监听/取消监听事件方法

方法名入参说明
onLoadcallback(Function)监听激励视频广告加载事件
offLoadcallback(Function)取消监听加载成功事件
onErrorcallback(Function)监听激励视频广告错误事件
offErrorcallback(Function)取消监听错误事件
onClosecallback(Function)监听激励视频广告关闭事件
offClosecallback(Function)取消监听关闭事件
onClickcallback(Function)监听激励视频广告点击事件(1300+)
offClickcallback(Function)移除激励视频广告点击回调(1300+)

回调结果说明

回调成功

回调名触发时机回调参数说明
onLoad加载完成data底层返回(通常为空对象或加载信息),以实际为准;callback无返回值
onClose广告关闭res包含 isEnded 字段,表示是否播放完成
onClick广告点击res底层返回点击信息,以实际为准

关闭事件说明(重要):

  • onClose 回调参数中包含 isEnded 字段(类型:boolean),用于判断用户是否完整观看了激励视频广告
  • isEnded 为 true 时表示视频是在用户完整观看的情况下被关闭的,可以发放奖励
  • isEnded 为 false 时表示用户提前关闭了视频,不应发放奖励

发放奖励建议:仅当 isEnded === true 时发放;并结合业务侧二次校验(如服务端验证)提升安全性。

回调失败

  • onError:加载或展示流程中发生错误;常见回调形态:{ errMsg: string, errCode?: number }(以底层返回为准)。
  • show():Promise 的 reject(err) 为底层 fail 透传的错误对象或字符串。
  • load():Promise 的 reject(err) 为底层 fail 透传的错误对象或字符串。
属性名类型说明
errMsgString错误信息
errCodeNumber错误码

示例代码

// 创建激励视频广告
let rewardedVideoAd = qg.createRewardedVideoAd({
adUnitId: 'xxxx'
})

// 事件订阅
rewardedVideoAd.onLoad(() => {
console.log('激励视频加载成功')
// 注意:请勿在onLoad回调中调用show()
})

rewardedVideoAd.onError(err => {
console.error('激励视频错误', err)
// err 包含 errMsg (String) 和 errCode (Number)
})

rewardedVideoAd.onClose(res => {
console.log('激励视频关闭', res)
// res.isEnded 为 boolean 类型,表示视频是否是在用户完整观看的情况下被关闭的
if (res.isEnded) {
console.log('用户完整观看,发放奖励')
// 发放奖励逻辑
} else {
console.log('用户提前关闭,不发放奖励')
}
})

// 1300+ 版本支持
rewardedVideoAd.onClick(res => {
console.log('激励视频点击', res)
})

// 手动加载广告
rewardedVideoAd
.load()
.then(() => console.log('激励视频加载成功'))
.catch(err => console.error('激励视频加载失败', err))

// 展示激励视频广告(广告将从屏幕下方推入)
rewardedVideoAd
.show()
.then(() => console.log('激励视频展示成功'))
.catch(err => console.error('激励视频展示失败', err))

注意事项

  • 请根据 onClose 回调中的 isEnded 字段(boolean 类型)判断是否发放奖励,建议只有 isEnded 为 true 时才发放奖励。

qg.createCustomAd(原生模板广告)

基础信息说明

功能概述:创建原生模板广告实例,支持展示/隐藏、销毁与事件订阅(加载、错误、尺寸变化、关闭、点击、展示);支持通过 style 读写定位与大小。

项目说明
版本要求原生模板(最小支持引擎版本 1110+);versionCode >= 11100001
前提条件工程已接入广告服务,平台支持原生模板广告SSP后台广告位创建指南:小游戏广告SDK接入文档
使用限制原生模板广告组件由客户端原生控件组成,层级最高,会覆盖在普通组件上;请避免同时创建过多实例并在不使用时及时 destroy() 释放资源
相关教程

参数说明

qg.createCustomAd(option)

属性名类型默认值(如有)必填说明
adUnitIdString-模板广告位 ID(开放平台申请);旧版官网为必填;当前适配层未强制校验,建议按投放要求传入
styleObject-模板广告组件的样式;常见字段:left、top、width、height(单位:像素,Number 类型)

style 的结构

属性名类型必填说明
leftNumber模板广告组件的左上角横坐标
topNumber模板广告组件的左上角纵坐标
widthNumber模板广告组件的宽度
heightNumber模板广告组件的高度

返回值说明

这是一个同步方法,调用后立即返回 CustomAd 实例。

属性名类型说明
customAdCustomAd原生模板广告对象

CustomAd 对象方法与属性

名称类型同步/异步说明
show()Function异步(Promise)展示原生模板广告;resolve(data) 表示成功,reject(err) 表示失败
hide()Function同步隐藏原生模板广告
destroy()Function同步销毁模板广告对象,避免创建过多造成性能问题
styleObject读写读写广告样式;常见字段:left、top、width、height(单位:像素,Number 类型)
  • 模板广告非全局单例,可按需创建多个实例,但建议控制数量并在不使用时及时销毁。
  • customAd.style 可读写,支持在创建后动态调整尺寸与位置。
  • 当 style.width 大于屏幕宽度时,实际展示将按屏幕宽度进行裁剪或限制。
  • 未设置位置时,模板广告默认在屏幕底部展示(以平台实现为准)。

监听/取消监听事件方法

方法名入参说明
onLoadcallback(Function)监听模板广告加载事件
offLoadcallback(Function)取消监听加载事件
onErrorcallback(Function)监听模板广告错误事件
offErrorcallback(Function)取消监听错误事件
onResizecallback(Function)监听模板广告尺寸变化事件
offResizecallback(Function)取消监听尺寸变化事件
onClosecallback(Function)监听模板广告关闭事件
offClosecallback(Function)取消监听关闭事件
onClickcallback(Function)监听模板广告点击事件
offClickcallback(Function)取消监听点击事件
onShowcallback(Function)监听模板广告展示事件
offShowcallback(Function)取消监听展示事件

回调结果说明

回调成功

回调名触发时机回调参数说明
onLoad加载完成data底层返回(通常为空对象或加载信息),以实际为准;callback 无返回值
onResize样式变化data底层返回尺寸与位置信息(如 width、height、top、left)
onShow展示完成res底层返回展示信息,以实际为准
onClick广告点击res底层返回点击信息,以实际为准
onClose广告关闭res底层返回关闭信息,以实际为准
  • 两个阶段:加载与展示,加载成功会触发 onLoad,展示完成会触发 onShow。
  • 展示结果:调用 show() 返回 Promise,成功 resolve(data),失败 reject(err),失败也会触发 onError 事件。
  • 隐藏广告:调用 hide() 隐藏模板广告。
  • 资源释放:调用 destroy() 销毁实例,释放资源。

回调失败

  • onError:加载或展示流程中发生错误;常见回调形态:{ errMsg: string, errCode?: number }(以底层返回为准)。
  • show():Promise 的 reject(err) 为底层 fail 透传的错误对象或字符串。
属性名类型说明
errMsgString错误信息
errCodeNumber错误码

示例代码

// 创建原生模板广告
const customAd = qg.createCustomAd({
adUnitId: 'xxx',
style: {
left: 0,
top: 800,
width: 1080
}
})

// 事件订阅
customAd.onLoad(() => {
console.log('模板广告加载完成')
})

customAd.onError(err => {
console.error('模板广告错误', err)
// err 包含 errMsg (String) 和 errCode (Number)
})

// 展示模板广告
customAd
.show()
.then(() => console.log('模板广告展示成功'))
.catch(err => console.error('模板广告展示失败', err))

// 隐藏模板广告
customAd.hide()

注意事项

  • 模板广告为原生组件,层级最高,会覆盖在普通组件上。
  • 模板广告非单例,避免同时创建过多实例,及时调用 destroy() 释放资源。
  • 版本要求:原生模板最小支持引擎版本 1110+,versionCode >= 11100001,点击事件 onClick 能力在 1300+ 可用。
上一篇:订阅消息
下一篇:rpk导流到apk
文档内容是否有帮助?
有帮助
无帮助