Skip to content

ad · 广告

ts
import { AdDomain } from '@hfyidu/api/ad'

广告领域负责广告位列表拉取与广告事件(曝光/点击等)上报,服务前缀 adPlay

用例总览

用例说明请求方式
AdDomain.cases.list获取广告位列表GET adPlay/list
AdDomain.cases.event广告事件上报POST adPlay/event

此外 AdDomain 实例还提供一个便捷方法 onAdReport,对 event 用例做了一层上报类型校验。

list · 获取广告位列表

ts
const { data } = await AdDomain.cases.list.run({
  provider_code: 'csj',
})

console.log(data) // AdListDto[]

请求参数 AdListQueryParams

字段类型必填说明
provider_codestring广告平台代码

响应 AdListDto[]

AdListDto

字段类型后台原始字段说明
idIdentitynumber | stringid广告位分组 ID,必填
adLocationAdLocationDto[]ad_location该分组下的广告位置列表,默认 []

AdLocationDto

字段类型后台原始字段说明
idIdentityid广告位置 ID,必填
codeAdUnitTypecode广告位置编码,默认 AdUnitType.OTHER
playListPlayListDto[]play_list该位置下可播放的广告素材列表,默认 []

PlayListDto

字段类型后台原始字段说明
idIdentityid广告素材 ID,必填
adIdstringad_id广告 ID,必填
adExtstringad_ext广告扩展参数,默认 ''
adTypeAdShowTypead_type广告展示类型,默认 AdShowType.BANNER
adProviderIdIdentityad_provider_id广告平台侧 ID,必填
adLocationIdIdentityad_location_id关联的广告位置 ID,必填
locationInfoLocationInfoDto广告位置附加信息,默认新建一个 LocationInfoDto 实例

LocationInfoDto(不可变,@Freeze

字段类型说明
codeAdUnitType广告位置编码,默认 AdUnitType.OTHER

event · 广告事件上报

ts
await AdDomain.cases.event.run({
  page: 'novel_read',
  ad_provider_id: '1001',
  ad_provider_code: 'csj',
  ad_type: AdShowType.REWARDED_VIDEO,
  ad_id: 'ad_xxx',
  ad_ext: '',
  ad_location_id: '2001',
  event: AdEventType.SHOW,
})

请求参数 AdEventBodyParams

字段类型必填说明
pagestring上报所在页面标识
ad_provider_idstring广告平台侧 ID
ad_provider_codestring广告平台代码
ad_typeAdShowType广告展示类型
ad_idstring广告 ID
ad_extstring广告扩展参数
ad_location_idstring广告位置 ID
eventAdEventType上报的事件类型

响应

无格式化 DTO,直接透传后台原始返回。

onAdReport · 广告上报便捷方法

AdDomain 实例方法,在调用 event 用例之前先校验 ad_type 是否属于允许上报的展示类型(BANNER / INTERSTITIAL / NATIVE / REWARDED_VIDEO / TEMPLATE),不属于则直接跳过、不发起请求:

ts
const ad = new AdDomain()
await ad.onAdReport(params) // 内部会做类型校验后再决定是否调用 event 用例

枚举

AdShowType 广告展示类型

枚举成员valuecode说明
BANNER1banner横幅
INTERSTITIAL2interstitial插屏
NATIVE3native原生
REWARDED_VIDEO4rewardedVideo激励
APP_START5appStart开屏广告
VIDEO6video视频广告
APP_LIST7appList应用榜单
APP_BOX8appBox互推盒子
APP_BOX_BANNER9appBoxBanner互推盒子横划榜单广告
TEMPLATE10template模板

AdEventType 广告事件类型

枚举成员valuecode说明
PULL1pull拉取
SHOW2show展示
CLICK3click点击
ERROR4error异常
VIDEO_FINISH5videoFinish视频结束

AdUnitType 广告位编码

枚举成员valuecode说明
OPEN0open开屏广告
RF1readFooter阅读器页脚
RC2readCenter阅读器文中(前)
SF3signFooter签到页脚
SPF4signPopupFooter签到弹窗
SR5signReward签到双倍激励
TBF6turntableFooter抽奖底部广告
TBPF7turntablePopupFooter抽奖通用弹窗
TBR8turntableReward抽奖双倍激励
ATC9activityCenter福利通用原生
ATBR10activityBtnReward福利领取激励
VUR11videoUnlockReward短剧解锁激励
GN12generalNative通用原生广告
GR13generalReward通用激励广告
VF14videoFooter播放器页脚
RR15readReward阅读器激励
GI16generalInsert通用插屏广告
GTP17templatead通用模板广告(上图下文)
GVTP18templatead通用视频模板广告
GBANNER19generalBanner通用横幅广告
EXIT20appExit应用退出弹窗
BCOVER21bookCover书架封面模仿广告
VCOVER22videoCover短剧封面模仿广告
RQ23readQuit阅读器退出弹窗
VQ24videoQuit播放器退出弹窗
GPN25generalPopupNative通用弹窗广告
RC226readCenter2阅读器文中(后)
OTHER-1other其他(未按要求配置的广告类型)

内部工具包 · 未开源授权,仅限公司内部授权团队使用