行動版 Topics API 總覽

瞭解 Android 上的 Topics API,以及導入該 API 的步驟。您也可以直接開始實作主題

Topics API 的運作方式

您可以使用 Topics API,根據使用者的活動,觀察並提供他們感興趣的主題。接著,Topics API 就能讓 API 呼叫端 (例如廣告技術平台) 存取使用者感興趣的主題,但不會揭露使用者活動的其他資訊。

核心概念

  • 「主題」是人類可讀形式的使用者興趣主題,並屬於 主題分類
  • 呼叫端是指向 Topics API 發出要求,以觀察或存取使用者興趣的實體,例如應用程式、第三方 SDK、網站或服務。
  • 如果呼叫端在過去三個週期內,曾經從與某個主題相關聯的網頁或應用程式發出 Topics API 要求,即表示呼叫端「觀察」了該主題。
  • 「週期」是主題計算作業的時間長度,預設為一週。
  • 分類法是類別的階層清單,例如 /Arts & Entertainment/Music & Audio/Soul & R&B/Business & Industrial/Business Services/Corporate Events 等類別。
  • 系統會使用分類器模型擷取主題,該模型會將使用者活動對應至零個或多個主題。

Topics API 流程核心步驟

Topics API 生命週期有三個主要步驟:

  • 觀察使用者活動,例如使用者造訪網頁 https://cats.example/tabby/index.html 或下載應用程式 cats 時。
  • 從使用者活動推導主題,例如 /Pets & Animals/Pets/Cats
  • 存取使用者先前觀察到的主題,例如做為選取相關廣告 (例如貓食促銷活動) 的信號。

觀察主題

呼叫端只能存取「觀察」過的主題。當呼叫端從與該主題相關聯的內容發出 Topics API 要求時,即表示該呼叫端觀察了該主題。為了說明這個概念,請參考以下簡化的範例。

  • 假設有兩個 Topics API 呼叫端:AB
  • 有兩種情境:
    • Greenhouse,例如與主題 Home & Garden 相關聯的應用程式 Greenhouse 或網站 greenhouse.example。
    • 網球練習,例如與主題 Sports/Tennis 相關聯的應用程式「網球練習」或網站 tennis.example。
  • 呼叫端 AB 都位於 Greenhouse 的內容中。
  • 在「網球練習」情境中,只有呼叫端 B 會出現。
  • 為了簡化說明,我們假設在第 1 個時段之前,系統並未觀察到任何使用者主題。
  • 使用者造訪 Greenhouse 應用程式,呼叫端 AB 發出 Topics API 呼叫,記錄使用者造訪該網頁或應用程式 (如要瞭解如何呼叫 Topics API,請參閱「後續步驟」中建議的導入指南)。這項記錄 (主機名稱或應用程式資料) 稍後會用於衍生出感興趣的主題。Topics API 稍後會將主題 Home & Garden 標示為由呼叫端 AB 觀察到。
  • 使用者造訪「網球練習」應用程式。只有呼叫端 B 會傳送 Topics API 要求。Topics API 稍後會將主題 Sports/Tennis 標示為呼叫端 B 觀察到的主題。
  • 週期結束時,Topics API 會重新整理使用者最感興趣的主題,並根據使用者活動判斷觀察到這些主題的呼叫端。
  • 稍後,當呼叫端 B 發出另一個 Topics API 呼叫時,它可以在回應陣列中取得 Home & GardenSports/Tennis 主題 (或有 5% 機率取得隨機主題),以便為此使用者提供服務。
  • 呼叫端 A 從未觀察到主題 Sports/Tennis,因此只能存取主題 Home & Garden。也就是說,第三方只能在特定情境 (應用程式或網站) 中瞭解使用者感興趣的主題。
圖表顯示,只有在呼叫端在情境中出現時,Topics API 才會將主題標示為觀察到。
Topics API 會標示出只有在這些主題內容中出現的呼叫端觀察到的話題。呼叫端只能存取觀察過的主題。

衍生主題

Topics 會從使用者活動中找出感興趣的主題。系統會從預先定義的開放原始碼分類中選取主題。每個週期,Topics 都會重新整理使用者最感興趣的五個主題,以及在該週期內觀察到這些主題的呼叫端。主題分類器模型會根據使用者活動推斷主題,包括網頁造訪的網域名稱,以及 Android 上的應用程式資訊

呼叫端存取使用者感興趣的主題

API 只會傳回呼叫端在最近三個週期內觀察到的主題。系統最多會向呼叫端傳回三個主題,每個最近的三個週期各一個 (如果呼叫端觀察到該週期的主題)。呼叫端可使用傳回的主題補充任何脈絡資訊,也可以將這些主題結合,為使用者尋找更相關的廣告。

訓練週期

Topics API 必須確保提供的興趣主題保持最新狀態。系統會根據使用者在「訓練週期」內 (目前建議長度為一週) 的活動,推測使用者的偏好主題。每位使用者都有自己的 epoch (epoch 為「每位使用者」),且初始開始時間為隨機。

在每個週期中,Topics API 會計算使用者最感興趣的五個主題,並判斷哪些呼叫端使用裝置端資訊觀察這些主題。系統會在每個訓練週期內推測出使用者的五大偏好,並從中隨機選出一項做為該週期的主題。為進一步強化隱私權,並確保所有主題都能呈現,系統會從興趣分類中隨機選取主題,機率為 5%。

實際執行 Android 主題

Android 上的 Topics API 支援通常用於多個應用程式的第三方廣告 SDK。Topics 不必仰賴跨應用程式 ID,而是根據使用者的應用程式使用情形,為呼叫端提供概略的興趣廣告主題。這些主題可在要顯示廣告的應用程式中補充相關的脈絡資訊,也可以彼此結合使用,為使用者選擇適當的廣告。

在 Topics API 的情況下,買方和廣告主取決於賣方。賣方在發布商應用程式中擁有廣泛的曝光率,並觀察使用者的主題,然後與買方分享這些主題,協助他們選擇更相關的廣告。如要取得主題,賣方應用程式和 SDK 必須至少在 1 個訓練週期中成為 Topics API 的觀察者,藉此建立足跡。

請參閱 Topics API 導入指南中的程式碼範例,瞭解如何針對按照興趣顯示的廣告主題設定擷取功能。

依業務類型整合主題

使用 Topics API 啟用 IBA (按照興趣顯示廣告) 功能。請根據廣告技術業務類型,按照步驟整合 Topics API,並準備好推出服務。

針對所有廣告技術

  • 查看主題分類,並提供意見回饋
  • 試用 Topics API 範例應用程式,瞭解裝置端分類器傳回哪些主題資料。
  • 更新應用程式和 SDK 流程以開始呼叫 Topics API。
  • 更新通訊協定,開始在廣告請求中傳送主題。
  • 透過 Privacy Sandbox 註冊廣告技術

針對賣家廣告技術

  • 成為觀察器以建立 Topics API 足跡。Topics API 提供新的信號,因此您必須更新 SDK 才能開始呼叫 Topics API。如要持續擷取主題,SDK 必須在每週期至少從發布商應用程式呼叫 API 一次。廣告請求最多需要四個週期 (三個主題) 才能隨著廣告請求傳送。
  • 在廣告請求中加入 Topics API 資訊。針對每個廣告請求,開始與買方合作夥伴共用 Topics API 資料。Topics API 計劃補充其他信號 (例如比對內容訊號),協助找出適合特定訪客的廣告。
  • 透過通訊協定與您與買方合作夥伴分享主題。Topics API 需要每個 SDK 與下游合作夥伴合作,彼此同意 Topics API 資料的共用方式。

針對買方廣告技術

  • 與賣方合作夥伴聯絡,確認他們觀察主題及建立足跡的計畫。如要接收主題,賣方供應商必須至少在每個週期中呼叫 Topics API 一次。
  • 透過通訊協定接收來自賣方合作夥伴的主題。「主題」是新的信號,會在廣告請求中由賣方合作夥伴分享。買方消費者必須確保與上游合作夥伴合作,說明主題的分享方式。
  • 將出價和最佳化模型納入主題。Topics API 應該補充其他信號 (例如比對內容),協助找出適當的訪客廣告。

API 如何推斷應用程式的主題

在 Android 裝置上,Topics API 會使用分類器模型,根據應用程式資訊來推斷應用程式的主題。在目前的實作中,Topics 會使用應用程式和套件名稱,將感興趣的主題指派給應用程式,但日後可能會擴充至包含應用程式說明等其他資訊。

主題分類器

感興趣主題是由分類器模型推斷而來,該模型已根據應用程式公開資訊經過訓練。

  • 使用分類器模型進行推斷,針對特定週期計算主題時,所用的信號組合會保留在裝置上。這組信號可能包括已安裝或最近使用的應用程式,但我們日後可能會進一步加入其他信號。
  • Google 透過 54 萬筆人工標籤和 1,700 萬個機器學習標記的公開應用程式資訊 (從 Google Play 商店等應用程式商店取得) 訓練 V5 模型。這個模型以應用程式名稱和套件名稱做為輸入信號,而且免費開放應用程式開發人員測試及瞭解其應用程式分類的主題。
  • 應用程式可能會對應至多個主題或未對應至任何主題,也可能不會納入使用者的主題記錄。如果某個應用程式對應至分類中的多個主題,系統最多只會為該應用程式選擇使用者最感興趣的 3 個主題。

如要進一步瞭解分類器模型的運作方式,可以使用 Android Topics Classifier Colab 測試不同應用程式資料對分類的影響

分類

系統會從預先定義的開放原始碼分類中選取主題。分類是公開的,因此可能會有變動。您可以使用本頁頂端的意見回饋按鈕提交建議。這個分類會以人工方式進行收錄,確保當中不含敏感主題。這個分類會根據可在 Android 版行動應用程式中顯示的廣告類別進行調整。

Android 主題實務

假設使用者在裝置上安裝了 A、B、C、D、E、F 和 G 這 7 個應用程式,假設應用程式的主題分類和所含的廣告技術 SDK 如下:

應用程式 主題分類 廣告技術 SDK
A T1、T5 ad-sdk1、ad-sdk2
B 罩杯 T2 ad-sdk2
C 罩杯 T3、T6 ad-sdk3、ad-sdk4
D T1、T4 ad-sdk1
E 罩杯 T5 ad-sdk4、ad-sdk5
T6 ad-sdk2、ad-sdk3、ad-sdk4
G T7 ad-sdk2

第 1 週結束時,Topics API 會為這個週期產生使用者最感興趣的 5 個主題。

最感興趣的主題 可瞭解該主題的呼叫端
T1 ad-sdk1、ad-sdk2
T2 ad-sdk2
T3 ad-sdk3、ad-sdk4
T4 ad-sdk1
T5 ad-sdk1、ad-sdk2、ad-sdk4、ad-sdk5

在第二週,如有任何應用程式的呼叫端呼叫 API,則傳回的主題清單只會包含呼叫端位於「可瞭解該主題的呼叫端」中的主題下方顯示該週期的該應用程式版本。

  • 在計算每個呼叫端可用的主題時,所採用的歷史記錄期間為 3 個週期 (即 3 週)。
  • 系統只會使用與透過廣告 SDK 叫用 Topics API 的應用程式相關聯的主題。換句話說,如果應用程式不含任何呼叫 Topics API 的廣告 SDK,與該應用程式相關聯的主題並不會納入廣告 SDK 可存取的主題集區。
  • 應用程式也可以以宣告的方式選擇停用 Topics API。如果主題與選擇停用的應用程式有關,則不會計入每週主題計算結果。我們日後會更新本文件,加入相關的實作詳細資料。

如果應用程式使用資訊不足以讓平台推斷出五個主題,平台可能會考慮其他選項,例如隨機產生剩餘的主題。

傳回的主題加密

已註冊、呼叫 Topics API 的廣告技術平台也必須提供 確保傳回的主題只能讀取 呼叫。

Privacy Sandbox 會從廣告技術提供的端點擷取這些金鑰。建議的最佳做法是定期更新金鑰,但至少每六個月更新一次。

Privacy Sandbox 會要求廣告技術確認在註冊過程中提供的端點是否可用。如要進一步瞭解現有和新註冊的廣告技術需要採取哪些行動,請參閱註冊指南

後續步驟

請查看實作詳細資料和程式碼範例,讓呼叫端觀察及存取主題。
瞭解使用者和開發人員如何根據使用者的偏好和需求,管理及自訂 Topics API。

另請參閱

請參閱我們的資源,進一步瞭解 Android 上的 Topics API。