إنشاء ملف شخصي لمزاد جمهور محمي

يمكن تحليل مزادات الجمهور المحمي (إما مرئيًا أو باستخدام طلب بحث SQL باستخدام Perfetto. يمكن لتكنولوجيا الإعلان استخدام التحليل مع Perfetto لقياس أداء مزادات الجمهور المحمي، بما في ذلك:

  • عرض الأسعار وتسجيل مدة وحدة المعالجة المركزية (CPU) للنص البرمجي
  • وقت استجابة طلبات HTTP، مثل خدمة المفتاح/القيمة
  • تأثير ذاكرة التخزين المؤقت على البارد في مقابل ذاكرة التخزين المؤقت
  • زيادة شرائح الجمهور المخصّصة مقابل عدد أقل من الجماهير
  • المجموعات الأكبر مقابل مجموعات الإشارات الأصغر
  • النصوص البرمجية المنطقية المختلفة لعروض الأسعار لكل جمهور مخصص مقارنةً باستخدام النص البرمجي نفسه لجميع عروض الأسعار

الإعداد

  1. استنسِخ مستودعات Perfetto وPrivacy Sandbox.

    git clone https://android.googlesource.com/platform/external/perfetto
    git clone https://github.com/android/privacy-sandbox-samples
    
  2. في "استوديو Android"، افتح تطبيق نموذج "جمهور محمي" من الدليل privacy-sandbox-samples/Fledge/FledgeKotlin.

  3. أنشئ نموذج التطبيق وثبِّته على جهاز الاختبار أو المحاكي الذي تستخدمه.

أنشِئ مزادًا، تتبَّع Perfetto

  1. إعداد ونشر نقاط نهاية 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. بدِّل حالة "CA للأحذية" للتأكّد من وجود جمهور مخصّص واحد نشط على الأقل.

    لقطة شاشة للتطبيق التجريبي. تم تبديل CA للأحذية.
    تطبيق Protected Audience Demo
  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 تنظر إلى مزاد الجمهور المحمي. ستظهر مسارات اختبار مثل RunOnDeviceAdSelection وRun Bidding.
    مزاد الجمهور المحمي للمشتري الفردي في Perfetto
  2. انقر على آثار الأنشطة لفحصها. تفاصيل مثل وقت استجابة التنفيذ تتوفر هنا.

    واجهة مستخدم Perfetto تفحص شريحة تتبّع وتكون تفاصيل وقت الاستجابة مرئية.
    فحص جزء التتبّع.

شرائح التتبُّع الخاصة بشرائح الجمهور المحمية

مزاد "الجمهور المحمي" هو عملية معقدة، وهناك العديد من الشرائح المختلفة التي تم الحصول عليها من خلال تتبُّع 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. متوسط وقت الاستجابة هو 17693688 نانو ثانية.
    ينتج عن طلب بحث SQL نانو ثانية.