SwAdSplash

广告位四要素

  • 使用场景:进站 / 首屏自动弹的开屏广告(web 上开屏 ≈ 进站全屏弹窗;slotKey 例 splash)。数据通常来自 system/info.layers 的图片广告层
  • 业界形态:App-Open / Splash(AdSDK 格式 splash)
  • 表现形态:全屏遮罩 + 单图逐个弹(sequential)或故事流轮播(carousel)+ 倒计时可关
  • 打点事件:adImpression(弹层展示即报,ad_type=splash)/ adClick;自动内置零配置,gate 关闭静默 no-op

⚠️ 业务行为触发(点按钮 / feed 每滑 N 条)的全屏弹窗用 SwAdPopup,不是本组件。选错场景 = 埋点 ad_type / 时机全错,见 广告组件选型。

SwAdSplash 是进站自动弹的开屏广告位组件——onMounted 延迟 delay 后自动弹一次,受 useAdFrequency 频控(默认 'session' 每会话一次)。与 SwAdPopup(业务 ref.open() 触发)共享同一弹窗内核,区别只在自动触发 + frequency 默认 'session' + ad_type=splash。多创意支持顺序展示或故事流轮播。内置曝光 / 点击埋点。

文案 + CTA overlay(opt-in):item 带 title / description / cta / advertiser 任一时,自动在创意图上叠加「标题 + 副文案 + CTA 按钮」浮层(像真广告);只给 image 则保持纯图、不变。CTA 是按钮样的 <span>(整张广告已是链接,点击落 link)。

进站自动弹 + 频控重置

加载中...

Props

名称类型必填默认值说明
itemsSwAdItem[]✓—广告创意数组
slotKeystring✓—广告位键 → ad_slot_key
slotNamestringundefined广告位名 → ad_slot_name
pageKeystringundefined页面键 → page_key
pageNamestringundefined页面名 → page_name
ratiostring'3/4'弹窗创意宽高比
overlaybooleantrue是否显示遮罩
mode'sequential' | 'carousel''sequential'多创意:顺序逐个 / 故事流轮播
delaynumber1000进站延迟弹出(ms)
frequencyAdFrequencyStrategy'session'频控策略('session' 每会话 / 'always' 每次 / 'Nm'·'Nh'·'Nd' 每 N 分·时·天一次)
frequencyKeystringundefined频控存储键(默认用 slotKey)
showAdLabelbooleanundefined「广告」合规角标;不传时跟随全局 swiftConfig.ad.showLabel(默认 true),显式传值始终优先
autoplayDelaynumber3000carousel 模式轮播间隔(ms)
closableAfternumber0倒计时 N 毫秒后才可关闭(防误关,0 = 立即可关)
loopbooleantruecarousel 模式是否循环

Events

名称携带说明
open—弹窗打开
close—弹窗关闭
empty—items 为空(不弹)
impressionitems: SwAdItem[]曝光(自动埋点)
clickitem: SwAdItem点击创意(自动埋点)
error—渲染 / 加载错误

暴露方法(ref)

方法说明
close()手动关闭弹窗(一般倒计时 / ✕ 走组件内部,无需调用)

进站频控 + 故事流

进站自动弹按 frequency 频控('session' 每会话一次 / '7d' 七天一次 / 'always' 每次都弹);mode="carousel" 多创意故事流轮播,配 closableAfter 倒计时防关、autoplayDelay 切换间隔:

<!-- 进站每会话弹一次 -->
<SwAdSplash :items="splashAds" slot-key="splash" />

<!-- 故事流轮播 + 7 天一次 + 4 秒防关;3 秒自动切换、到最后一张停住(loop=false);
     ratio="9/16" 全面屏竖版创意 -->
<SwAdSplash
  :items="splashAds"
  slot-key="splash"
  mode="carousel"
  ratio="9/16"
  :frequency="7"
  :closable-after="4000"
  :autoplay-delay="3000"
  :loop="false"
/>

样式定制 Token

弹窗控件配色经 --sw-ad-popup-* token 覆盖(fallback 即默认媒体语境黑白值;SwAdSplash 共用同一套内核 token):

--sw-ad-popup-overlay-bg(黑 60%) · -topbar-gradient · -pill-bg(白 12%) · -pill-color(白) · -seq-border(白 60%) · -seq-color(白 90%) · -bar-track(白 25%) · -bar-fill(var(--primary),值可填品牌渐变) · -nav-bg(黑 35%) · -nav-color(白)

本组件与 SwAdPopup 共用弹层内核 AdPopupBase —— --sw-ad-popup-* 那套旋钮对本组件同样生效,清单见 SwAdPopup · 样式定制 Token;创意上的标题 / CTA 浮层旋钮 --sw-ad-overlay-* 见 SwAdPreroll · 创意浮层 Token。

注意事项

  • 进站自动弹 —— onMounted 延迟 delay 后自动弹,不需要业务调 open();频控未命中静默不弹。
  • 频控走 useAdFrequency —— 按 frequency 策略自动频控('session' 走 sessionStorage、'Nm'·'Nh'·'Nd' 走 localStorage),不需要业务自己判断。
  • closableAfter > 0 时倒计时内禁止关闭(防误触),到点出现关闭按钮。
  • 埋点内置(ad_type=splash),受 tracker 双重 gate。