SwAdBanner
廣告位四要素
- 使用場景:頁面頂部 / 中部 / 頁尾 / 播放器周邊的橫幅位(slotKey 例
home_banner)- 業界形態:Banner / Leaderboard(AdSDK 格式
banner/bannerLarge)- 表現形態:全寬圖片,單圖直出 / 多圖自動輪播,可帶「廣告」角標
- 打點事件:
adImpression(IntersectionObserver 進入視窗一次)/adClick;自動內建零組態,gate 關閉靜默 no-op選錯場景 = 埋點
ad_type/ 時機全錯。按場景選元件見 廣告元件選型。
SwAdBanner 是橫幅廣告位元件,屬於 framework 廣告底座的「圖片類」自渲染元件。傳入 items(後端廣告介面回傳的創意陣列)即自動渲染,內建 IntersectionObserver 曝光 + 點擊埋點(走 useAdTrack),業務零代碼。單圖直出、多圖自動輪播。
廣告位優先用
SwAd*元件,不要自己寫廣告元件 + 手搓埋點。完整家族與埋點欄位見 廣告底座與打點。
基礎橫幅(單圖 + 廣告角標)
加载中...
Props
| 名稱 | 類型 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
items | SwAdItem[] | ✓ | — | 廣告創意陣列(後端廣告介面回傳) |
slotKey | string | ✓ | — | 廣告位鍵 → 埋點 ad_slot_key |
slotName | string | undefined | 廣告位名 → ad_slot_name | |
pageKey | string | undefined | 頁面鍵 → page_key | |
pageName | string | undefined | 頁面名 → page_name | |
ratio | string | undefined | 寬高比(如 '640/200'),防 CLS。不傳時跟隨圖片比例 | |
radius | number | string | 0 | 圓角(number=px,string 原樣透傳 SwImage,如 '1.125rem') | |
showAdLabel | boolean | undefined | 「廣告」合規角標;不傳時跟隨全域 swiftConfig.ad.showLabel(預設 true),顯式傳值始終優先 | |
autoplay | boolean | true | 多圖時是否自動輪播 | |
autoplayDelay | number | 4000 | 輪播間隔(ms) |
items的欄位(id/image/title/link/ratio/adType等)見SwAdItem類型,統一定義見 廣告底座與打點。
Events
| 名稱 | 攜帶 | 說明 |
|---|---|---|
load | — | 創意渲染完成 |
empty | — | items 為空 / 無可展示創意 |
impression | items: SwAdItem[] | 廣告位進入視口曝光(自動埋點已上報,此事件供業務額外消費) |
click | item: SwAdItem | 點擊某條創意(自動埋點已上報) |
error | — | 渲染 / 載入錯誤 |
多圖自動輪播
傳入多條 items 時自動輪播,autoplayDelay 控制間隔;不需要輪播傳 :autoplay="false"。
多圖自動輪播
加载中...
單圖模式 + 角標 + 圓角
加载中...
事件總覽(load/impression/click)
加载中...
空資料 @empty(零渲染)
加载中...
<SwAdBanner
:items="banners"
slot-key="home_top_banner"
page-key="home"
ratio="640/200"
:radius="8"
:autoplay-delay="3000"
show-ad-label
/>
注意事項
- 不要手搓埋點 —— 曝光 / 點擊埋點已內建,業務無需自己接
IntersectionObserver或呼叫useTracker。 - 傳
ratio防 CLS —— 廣告圖未載入時用ratio佔位,避免版面跳動。 - 上報受
tracker.enabled+system/info.tracker雙重 gate,設定缺失時靜默不發(元件照常渲染)。