يمكن تحليل مزادات Protected Audience (إما بصريًا أو باستخدام طلب لغة الاستعلامات البنيوية (SQL) مع Perfetto). يمكن لتكنولوجيات الإعلان استخدام ميزة وضع الملف الشخصي مع Perfetto لقياس أداء مزادات Protected Audience API، بما في ذلك:
- وقت وحدة المعالجة المركزية لنصّ عروض الأسعار ووضع النقاط
- وقت استجابة طلبات HTTP، مثل خدمة إدارة مفاتيح التشفير
- تأثير الأداء في ذاكرة التخزين المؤقت غير النشطة مقارنةً بذاكرة التخزين المؤقت النشطة
- استخدام عدد أكبر من شرائح الجمهور المخصّصة أو عدد أقل منها
- مجموعات الإشارات الأكبر حجمًا مقارنةً بالمجموعات الأصغر
- نصوص برمجية مختلفة لمنطق عروض الأسعار لكل شريحة جمهور مخصّصة مقارنةً باستخدام النص البرمجي نفسه لجميع عروض الأسعار
ضبط إعدادات الجهاز
استنسِخ مستودعَي Perfetto و"مبادرة حماية الخصوصية".
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
في Android Studio، افتح تطبيق Protected Audience Sample من الدليل
privacy-sandbox-samples/Fledge/FledgeKotlin
.أنشئ نموذج التطبيق وثبِّته على الجهاز الاختباري أو المحاكي.
تنفيذ مزاد وإجراء عملية تتبُّع في Perfetto
- إعداد نقاط نهاية 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>"
فعِّل "شريحة الجمهور المخصّصة للأحذية" للتأكّد من أنّ هناك شريحة جمهور مخصّصة واحدة على الأقل نشطة.
تطبيق Protected Audience Demo سجِّل عملية تتبُّع باستخدام ملف 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 انقر على إحدى عمليات التتبّع لفحصها. تتوفّر هنا تفاصيل، مثل وقت استجابة التنفيذ.
فحص جزء من التتبّع
شرائح تتبُّع خاصة بالجمهور المحمي
مزاد 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، انتقِل إلى "طلب البحث (SQL)" في جزء التنقّل الأيمن.
أدخِل طلب البحث التالي:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
نفِّذ طلب البحث وتحقّق من النتائج.
تظهر نتائج طلبات البحث في لغة الاستعلامات البنيوية (SQL) بالنانوثواني.