יצירת פרופיל במכרז של קהל מוגן

ניתן לנתח מכרזים של Protected Audience API (ויזואלית או לפי שאילתת SQL עם Perfetto. טכנולוגיות הפרסום יכולות להשתמש בפרופילים עם Perfetto כדי למדוד את הביצועים של מכרזי Protected Audience, כולל:

  • בידינג וזמן עיבוד של סקריפט דירוג
  • זמן אחזור של בקשות HTTP כמו שירות מפתח/ערך
  • ההשפעה על הביצועים של מטמון קר לעומת מטמון חם
  • יותר לעומת פחות קהלים בהתאמה אישית
  • קבוצות של אותות גדולים יותר לעומת קבוצות קטנות יותר
  • סקריפטים לוגיים של בידינג שונים לכל קהל בהתאמה אישית בהשוואה לשימוש אותו סקריפט עבור כל הצעות המחיר

הגדרה

  1. שכפול המאגרים של Perfetto ושל 'ארגז החול לפרטיות'.

    git clone https://android.googlesource.com/platform/external/perfetto
    git clone https://github.com/android/privacy-sandbox-samples
    
  2. ב-Android Studio, פותחים את האפליקציה לדוגמה של Protected Audience דרך ספריית privacy-sandbox-samples/Fledge/FledgeKotlin.

  3. יוצרים ומתקינים את האפליקציה לדוגמה במכשיר הבדיקה או באמולטור.

הפעלת מכרז ומעקב אחרי נתוני Perfetto

  1. מגדירים ופורסים נקודות קצה (endpoints) של HTTPS לבדיקה. חשוב לשים לב לכתובת ה-URL של נקודות קצה מתארחות, כי הן נדרשות לאפליקציית ההדגמה של Protected Audience מותאמת אישית.
  2. מפעילים את אפליקציית ההדגמה ומציינים כתובת URL של נקודת הקצה לבדיקה. החלפה <test-endpoint-url> בכתובת URL מתארחת של נקודת קצה שתיעדתם לשלב הקודם.

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
      -e baseUrl "<test-endpoint-url>"
    
  3. החלפת המצב של "Shoes CA" כדי להבטיח שיש לפחות קהל פעיל אחד בהתאמה אישית.

    צילום מסך של אפליקציית ההדגמה. ה-CA של הנעליים במצב מופעל.
    אפליקציית ההדגמה 'Protected Audience'.
  4. מקליטים מעקב באמצעות הקובץ trace_config.textproto ממאגר GitHub של ארגז החול לפרטיות:

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
    
  5. מקישים על 'הפעלת בחירת מודעות' ולהמתין לתוצאות המכרז. כאשר עם סיום המכרז, הפלט יציג הודעה כגון "אפשרות להצגה מודעה מ-http://example.com/bidding/render_shoes".

  6. במסוף, סוגרים (CTRL+C) את התוכנית record_android_trace כדי לסיים את המעקב. ממשק המשתמש של Perfetto ייפתח בדפדפן עם נתוני המעקב טעינת הנתונים.

סיור חזותי של עקבות ב-Perfetto

  1. חיפוש של RunOnDeviceAdSelection בסרגל הכתובות שבחלק העליון של הדף ממשק המשתמש. מקישים על Enter כדי להשלים את החיפוש ולהציג את התוצאות:

    ממשק המשתמש של Perfetto שבוחן את המכרז של Protected Audience. מסלולים כמו RunOnDeviceAdSelection ו-RunBidding מוצגים.
    מכרז בשילוב עם Protected Audience לקונה יחיד ב-Perfetto.
  2. לוחצים על מעקב כדי לבדוק אותו. פרטים כמו זמן האחזור של הביצוע זמינות כאן.

    ממשק המשתמש של Perfetto בודק מקטע מעקב. פרטי זמן האחזור מוצגים.
    בדיקת מקטע מעקב.

פלחי מעקב ספציפיים לקהל מוגנים

המכרז של 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.

  1. ב-Perfetto, עוברים לקטע Query (SQL) בחלונית הניווט שמימין.
  2. צריך להזין את השאילתה הבאה:

    SELECT AVG(dur)
    FROM slice
    WHERE slice.name GLOB 'FetchPayload';
    
  3. מריצים את השאילתה ובודקים את התוצאות.

    תוצאות של שאילתות SQL. זמן האחזור הממוצע הוא 1,769,688 ננו-שניות.
    שאילתת SQL מובילה לננו-שניות.