يمكن تحليل مزادات Protected Audience (إما بصريًا أو باستخدام طلب بحث بلغة الاستعلامات البنيوية (SQL) مع Perfetto. يمكن لخبراء تكنولوجيا الإعلان استخدام إنشاء الملفات الشخصية مع Perfetto لقياس أداء مزادات Protected Audience، بما في ذلك:
- وقت وحدة المعالجة المركزية لبرنامج عروض الأسعار والتقييم
- وقت استجابة طلبات HTTP، مثل خدمة المفتاح/القيمة
- تأثير الأداء الناتج عن استخدام ذاكرة التخزين المؤقت الباردة مقابل ذاكرة التخزين المؤقت النشطة
- المزيد من شرائح الجمهور المخصّصة أو عدد أقل منها
- مجموعات الإشارات الأكبر مقارنةً بمجموعات الإشارات الأصغر
- نصوص برمجية مختلفة لمنطق عروض الأسعار لكل شريحة جمهور مخصّصة مقارنةً باستخدام النص البرمجي نفسه لجميع عروض الأسعار
الإعداد
استنسِخ مستودعَي Perfetto وPrivacy Sandbox.
git clone https://android.googlesource.com/platform/external/perfettogit clone https://github.com/android/privacy-sandbox-samplesفي Android Studio، افتح تطبيق Protected Audience التجريبي من الدليل
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 API سجِّل عملية تتبُّع باستخدام ملف trace_config.textproto من مستودع Privacy Sandbox DevTools GitHub:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textprotoانقر على الزر "تنفيذ عملية اختيار الإعلان" وانتظِر نتائج المزاد. عند اكتمال المزاد، يعرض الناتج رسالة مثل "سيتم عرض إعلان من
http://example.com/bidding/render_shoes".في الوحدة الطرفية، أوقِف برنامج
record_android_trace(CTRL+C) لإنهاء التتبُّع. سيتم فتح واجهة مستخدم Perfetto في المتصفّح مع تحميل بيانات التتبُّع.
استكشاف عمليات التتبُّع بشكل مرئي في Perfetto
ابحث عن RunOnDeviceAdSelection باستخدام شريط العناوين في أعلى واجهة المستخدم. انقر على Enter لإكمال البحث وعرض النتائج:
مزاد Protected Audience API الذي يشارك فيه مشترٍ واحد في Perfetto انقر على عملية تتبُّع لفحصها. يمكنك الاطّلاع هنا على تفاصيل مثل وقت الاستجابة عند التنفيذ.
فحص جزء من عملية التتبُّع
أقسام التتبُّع الخاصة بـ Protected Audience
إنّ عملية المزاد في 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 بالنانو ثانية