您可以利用視覺化的方式,或透過 Perfetto 以 SQL 查詢分析 Protected Audience 競價。廣告技術可以運用 Perfetto 進行分析,評估 Protected Audience 競價的成效,包括:
- 出價和評分指令碼的 CPU 作業時間
- HTTP 要求 (例如鍵/值服務) 的延遲時間
- 冷快取與熱快取的效能影響比較
- 自訂目標對像人數多寡
- 信號組合較大與較小
- 以下兩種方式的比較:對每位自訂目標對象採取不同的出價邏輯指令碼,與對所有出價皆使用相同的指令碼
設定
複製 Perfetto 與 Privacy Sandbox 存放區。
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
在 Android Studio 中,從
privacy-sandbox-samples/Fledge/FledgeKotlin
目錄開啟 Protected Audience 範例應用程式。在測試裝置或模擬器上建構及安裝範例應用程式。
進行競價並錄製 Perfetto 追蹤記錄
- 設定及部署測試 HTTPS 端點。請記下代管端點的網址,因為 Protected Audience 範例應用程式需要這項資訊才能執行。
以指定的測試端點網址啟動範例應用程式。將
<test-endpoint-url>
替換為您在上一個步驟中記下的代管端點網址。adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
切換「Shoes CA」按鈕,確保至少有 1 位自訂目標對象已啟用。
Protected Audience 試用版應用程式 。使用 Privacy Sandbox 開發人員工具 GitHub 存放區中的 trace_config.textproto 檔案錄製追蹤記錄:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
輕觸「Run Ad Selection」按鈕,等待競價結果產生。競價完成後,輸出內容會顯示類似「Would display ad from
http://example.com/bidding/render_shoes
」的訊息。在終端機中終止
record_android_trace
程式 (按下 CTRL + C 鍵) 以完成追蹤記錄。Perfetto UI 會在瀏覽器中開啟,並載入追蹤資料。
在 Perfetto 中以視覺化方式探索追蹤記錄
使用 UI 頂端的網址列搜尋「RunOnDeviceAdSelection」。按下 Enter 鍵即可完成搜尋並顯示結果:
Perfetto 中的單一買家 Protected Audience 競價。 按一下追蹤記錄即可進行檢查,取得執行作業延遲時間等詳細資料。
檢查追蹤記錄區隔。
Protected Audience 專用的追蹤記錄區隔
Protected Audience 競價程序相當複雜,Perfetto 追蹤記錄會擷取許多不同的區隔。下表說明每個追蹤記錄區隔代表的意義。
時間 | 區隔 | 說明 | 頻率 |
---|---|---|---|
競價前 | RunOnDeviceAdSelection |
競價端對端 | 每次競價 |
出價 (買方) | FilterContextualAds |
針對內容相關廣告執行應用程式安裝和展示頻率上限篩選功能 | 每次競價 |
GetBuyersCustomAudience |
從資料庫載入買家的自訂目標對象 | 每位買家 | |
FilterCustomAudiences |
針對自訂目標對象執行應用程式安裝和展示頻率上限篩選功能 | 每次競價 | |
GetTrustedBiddingSignals |
載入買家的出價信號 | 每位買家 | |
RunBiddingPerCustomAudience |
單一自訂目標對象的廣告出價 | 每位自訂目標對象 | |
GetBuyerDecisionLogic |
從網路或資料庫 (如果已快取的話) 載入買家的 JavaScript | 每位自訂目標對象 | |
RunBidding |
為買家執行 JavaScript | 每位買家 | |
GenerateBids |
為自訂目標對象執行 JavaScript | 每位自訂目標對象 | |
評分 (賣方) | GetTrustedScoringSignals |
載入賣家的評分信號 | 每位賣家 |
RunAdScoring |
為評分執行 JavaScript | 每次競價 | |
ScoreAd |
為廣告執行 JavaScript | 每個廣告 | |
GetAdSelectionLogic |
載入賣家的廣告選擇邏輯 | 每次競價 | |
RunAdOutcomeSelection |
最終篩選 | 每次競價 | |
競價後 | PersistOnDeviceAdSelection |
將競價結果寫入資料庫 | 每次競價 |
查詢平均的執行作業延遲時間
Perfetto 可以利用 SQL 查詢,準確評估特定追蹤記錄中的活動情況。
本節說明如何評估 JavaScript 執行作業的平均延遲時間。
- 在 Perfetto 中,前往左側導覽窗格中的「Query (SQL)」。
輸入下列查詢:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
執行查詢並檢查結果。
SQL 查詢結果 (以奈秒為單位)。