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

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

  • זמן מעבד (CPU) של סקריפט ובידינג
  • זמן אחזור של בקשות 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. הגדרה ופריסה של נקודות קצה לבדיקה של HTTPS שימו לב לכתובת ה-URL של נקודות הקצה המתארחות, כי הן נדרשות כדי שאפליקציית ההדגמה של Protected Audience תפעל.
  2. מפעילים את אפליקציית ההדגמה ומציינים את כתובת ה-URL של נקודת הקצה לבדיקה. מחליפים את <test-endpoint-url> בכתובת URL מתארחת של נקודת קצה (endpoint) שרשמתם בשלב הקודם.

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

    צילום מסך של אפליקציית ההדגמה. ה-CA של הנעליים מופעל.
    אפליקציית הדגמה של Protected Audience API.
  4. מקליטים מעקב באמצעות הקובץ trace_config.textproto ממאגר DevTools של ארגז החול לפרטיות ב-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 API היא תהליך מורכב, ותרשים פרפטו כולל פלחים שונים ושונים. הטבלה הזו מתעדת מה מייצג כל קטע מעקב.

שעה פילוח תיאור תדר
לפני המכרז 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. זמן האחזור הממוצע הוא 17693688 ננו שניות.
    שאילתת SQL מפיקה תוצאות בננו-שניות.