ניתן לנתח מכרזים של Protected Audience API (ויזואלית או לפי שאילתת SQL עם Perfetto. טכנולוגיות הפרסום יכולות להשתמש בפרופילים עם Perfetto כדי למדוד את הביצועים של מכרזי Protected Audience, כולל:
- בידינג וזמן עיבוד של סקריפט דירוג
- זמן אחזור של בקשות HTTP כמו שירות מפתח/ערך
- ההשפעה על הביצועים של מטמון קר לעומת מטמון חם
- יותר לעומת פחות קהלים בהתאמה אישית
- קבוצות של אותות גדולים יותר לעומת קבוצות קטנות יותר
- סקריפטים לוגיים של בידינג שונים לכל קהל בהתאמה אישית בהשוואה לשימוש אותו סקריפט עבור כל הצעות המחיר
הגדרה
שכפול המאגרים של Perfetto ושל 'ארגז החול לפרטיות'.
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
ב-Android Studio, פותחים את האפליקציה לדוגמה של Protected Audience דרך ספריית
privacy-sandbox-samples/Fledge/FledgeKotlin
.יוצרים ומתקינים את האפליקציה לדוגמה במכשיר הבדיקה או באמולטור.
הפעלת מכרז ומעקב אחרי נתוני Perfetto
- מגדירים ופורסים נקודות קצה (endpoints) של HTTPS לבדיקה. חשוב לשים לב לכתובת ה-URL של נקודות קצה מתארחות, כי הן נדרשות לאפליקציית ההדגמה של Protected Audience מותאמת אישית.
מפעילים את אפליקציית ההדגמה ומציינים כתובת URL של נקודת הקצה לבדיקה. החלפה
<test-endpoint-url>
בכתובת URL מתארחת של נקודת קצה שתיעדתם לשלב הקודם.adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
החלפת המצב של "Shoes CA" כדי להבטיח שיש לפחות קהל פעיל אחד בהתאמה אישית.
מקליטים מעקב באמצעות הקובץ trace_config.textproto ממאגר GitHub של ארגז החול לפרטיות:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
מקישים על 'הפעלת בחירת מודעות' ולהמתין לתוצאות המכרז. כאשר עם סיום המכרז, הפלט יציג הודעה כגון "אפשרות להצגה מודעה מ-
http://example.com/bidding/render_shoes
".במסוף, סוגרים (CTRL+C) את התוכנית
record_android_trace
כדי לסיים את המעקב. ממשק המשתמש של Perfetto ייפתח בדפדפן עם נתוני המעקב טעינת הנתונים.
סיור חזותי של עקבות ב-Perfetto
חיפוש של RunOnDeviceAdSelection בסרגל הכתובות שבחלק העליון של הדף ממשק המשתמש. מקישים על Enter כדי להשלים את החיפוש ולהציג את התוצאות:
לוחצים על מעקב כדי לבדוק אותו. פרטים כמו זמן האחזור של הביצוע זמינות כאן.
פלחי מעקב ספציפיים לקהל מוגנים
המכרז של 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';
מריצים את השאילתה ובודקים את התוצאות.