只需要進行幾個簡單的設定,就能測試並瞭解系統如何根據主機名稱推論主題。
導入狀態
- Topics API 已完成公開討論階段,目前開放 99% 的使用者使用,向上擴充至 100%。
- 如要提供你對 Topics API 的意見,請在 Topics 說明上建立問題,或參與改善網路廣告業務小組討論。解釋中有一些未解決的問題,但仍需進一步定義。
- Privacy Sandbox 時程表提供 Topics API 和其他 Privacy Sandbox 提案的導入時程。
- Topics API:最新更新內容詳細說明 Topics API 和實作方式的變更與改善項目。
Topics API 示範可讓您瞭解如何從主機名稱推斷主題。您只需進行極少設定,就能預覽自己在造訪示範網站時觀察到的主題。
透過示範,示範的是展示 Topics API 的大部分功能,可讓您熟悉 API 的實作方式。
你也可以執行 Topics colab,試用 Topics 分類器模型。
以下影片將示範操作方式。
使用 chrome://flags 或功能旗標進行測試
以單一使用者的身分試用 Topics API 的方法有兩種:您必須使用 Chrome 101 以上版本:
- 啟用
chrome://settings/adPrivacy
下的所有廣告隱私權 API。 使用包含以下標記的指令列執行 Chrome:
--enable-features=BrowsingTopics,BrowsingTopicsParameters:time_period_per_epoch/15s/browsing_topics_max_epoch_introduction_delay/3s,PrivacySandboxAdsAPIsOverride,PrivacySandboxSettings3,OverridePrivacySandboxSettingsLocalTesting
Topics API 示範
Topics 示範說明如何使用其他標記調整設定,例如週期長度。如果您是透過指令列旗標執行 Chrome 以存取 Topics API,請勿設定 chrome://flags
,因為這些設定可能會覆寫指令列設定。
使用旗標執行 Chromium 一文說明如何在執行 Chrome 和其他以 Chromium 為基礎的瀏覽器時,透過指令列設定旗標,不過這僅適用於 Google Chrome。
Topics API 標頭示範
topics-fetch-demo.glitch.me 中的示範說明如何使用 fetch()
要求和回應標頭存取主題,並將主題標示為已觀察。
存取 Sec-Browsing-Topics
要求標頭
API 呼叫端可以從 iframe 中的 document.browsingTopics()
查看使用者的主題,而不是使用 fetch() 要求的 Sec-Browsing-Topics
要求標頭,存取觀察到的主題 (選項參數包含 {browsingTopics: true}
),或是從 XHR 要求 (將 deprecatedBrowsingTopics
屬性設定為 true
) 的相同標頭存取。
例如:
fetch('https://topics-server.glitch.me', {browsingTopics: true})
.then((response) => {
// Process the response
})
在支援 API 的瀏覽器中,fetch()
要求會包含 Sec-Browsing-Topics
標頭,列出觀察到的要求網址主機名稱主題:本例為 topics-server.glitch.me
。
如果在這個主機名稱和該使用者都未觀察到任何主題的情況下,則會納入標頭,但值是空的。也就是說,fetch()
要求上的 Sec-Browsing-Topics
標頭只會納入來源與要求網址的主機名稱相符的呼叫端,針對目前使用者瀏覽器觀察到的主題。這和從 iframe 呼叫 document.browsingTopics()
來查看目前使用者觀察到的主題。
只要網頁具備適當的權限政策、內容安全無虞,且使用者設定允許,要求標頭就會隨要求傳送。系統不會在導覽要求的標頭中提供主題。
Topics 要求標頭如下所示:
Sec-Browsing-Topics: 186;version="chrome.1:1:2206021246";config_version="chrome.1";model_version="2206021246";taxonomy_version="1", 265;version="chrome.1:1:2206021246";config_version="chrome.1";model_version="2206021246";taxonomy_version="1"
以下範例包含主題分類、186 和 265 的兩個主題,以及每個主題的版本資訊。
在 XHR 要求中納入主題標題的功能目前僅開放使用,未來也將停止支援這項功能。
使用 Observe-Browsing-Topics
將主題標示為觀察項目
如果要求包含 Sec-Browsing-Topics
標頭,且對該項要求的回應包含 Observe-Browsing-Topics: ?1
標頭,瀏覽器會將要求標頭中的主題標示為觀察。觀察到的主題可以由 Topics API 計算。此機制是為了與使用 iframe 的 JavaScript API 所提供的功能相符。
下方的螢幕截圖顯示造訪 API 示範網頁上的網站時記錄的主題。
這份清單會顯示您可以透過示範模式造訪的網站,方便您錄下感興趣的主題。如您所見,藝術與螢幕截圖中的娛樂/幽默類別並非其中一個網站的主題,因此這個記錄主題是系統盡可能收錄的 5% 隨機主題。
- pets-animals-pets-cats.glitch.me
- cats-cats-cats-cats.glitch.me
- cats-pets-animals-pets.glitch.me
- cats-feline-meow-purr-whiskers-pet.glitch.
你可以在「chrome://topics-internals
」頁面的「主題狀態」分頁中,查看哪些主題真實,以及哪些主題是隨機出現。這張螢幕截圖顯示不同瀏覽工作階段的範例。
後續步驟
如果您是廣告技術開發人員,請使用 Topics API 進行實驗及參與實驗。如需更詳盡的資源,請參閱開發人員指南。
交流及分享意見回饋
- GitHub:參閱 Topics API 說明工具,以及提出疑問並追蹤 API 存放區中相關問題。
- W3C:前往「改善網路廣告業務群組」討論業界應用實例。
- 公告:加入或查看郵寄清單。
- Privacy Sandbox 開發人員支援:在 Privacy Sandbox 開發人員支援存放區中提問及參與討論。
- Chromium:請回報 Chromium 錯誤,針對目前可在 Chrome 中測試的實作問題提問。