يوضّح اقتراح تصميم خدمات عروض الأسعار والمزادات على Android تفاصيل التنفيذ وتدفّق البيانات للمزادات التي يتم إجراؤها على Android باستخدام خادم Trusted Bidding and Auction. للتأكّد من أنّ البيانات أثناء نقلها تتم معالجتها فقط من خلال واجهات برمجة التطبيقات التي تحافظ على الخصوصية والخوادم الموثوقة، يتم تشفير البيانات بين العميل والخادم باستخدام التشفير الثنائي الاتجاه بمفتاح عام مختلط.
لتنفيذ المزاد على النحو الموضّح سابقًا، يجب أن تتّبع تكنولوجيات الإعلان الخاصة بالبائع على الجهاز الخطوات التالية:
- جمع البيانات وتشفيرها للمزاد على الخادم
- إرسال طلب إلى خدمة "البائعون غير الموثوق بهم"
- تلقّي ردّ من خدمة بائع غير موثوق به
- فك تشفير استجابة مزاد Protected Audience API والحصول على نتيجة المزاد
تطرح Protected Audience واجهتَي برمجة تطبيقات جديدتَين من أجل إتاحة إجراء مزادات على الخادم:
- تجمع واجهة برمجة التطبيقات
getAdSelectionData
البيانات الخاصة بمزاد الخادم وتنشئ حمولة مشفّرة تحتوي على بيانات المزاد. يستخدم خادم "عروض الأسعار والمزاد" حمولة البيانات هذه لإجراء مزاد وإنشاء نتيجة المزاد وعرضها. - يمكن لعملاء تكنولوجيات الإعلان على الأجهزة إرسال طلب إلى واجهة برمجة التطبيقات
persistAdSelectionResult
من أجل فك تشفير النتيجة التي تم إنشاؤها من خلال مزاد الخادم والحصول على عنوان URL لعرض الإعلان الفائز.
يجب أن تدمج تكنولوجيا الإعلان الخاصة بالبائع على الجهاز وتنشئ ما يلي لتنفيذ مزاد:
- جمع البيانات وتشفيرها لبائع مزاد الخادم: على تكنولوجيا الإعلان استدعاء واجهة برمجة التطبيقات
getAdSelectionData
للحصول على الحمولة المشفّرة. - إرسال طلب إلى خدمة البائع غير الموثوق به: هو طلب
HTTP POST
أوPUT
يحتوي على الحمولة المشفّرة التي أنشأتها واجهة برمجة التطبيقاتgetAdSelectionData
إلى خدمة البائع غير الموثوق به والبيانات التي تحتاجها خدمة البائع غير الموثوق به لإنشاء نتائج سياقية. - تلقّي استجابة من خدمة البائع غير الموثوق به: ستتضمّن الاستجابة من خدمة البائع غير الموثوق به نتيجة المزاد في "الجمهور المحمي" المشفرة ونتيجة المزاد السياقي.
- فك تشفير استجابة مزاد الجمهور المحمي والحصول على نتيجة المزاد:
لفك تشفير نتيجة مزاد الجمهور المحمي، على تكنولوجيا الإعلان الخاصة بالبائع استدعاء واجهة برمجة التطبيقات
persistAdSelectionResult
. ستساعد النتيجة التي يتم إنشاؤها بواسطةpersistAdSelectionResult
مزوّدي تكنولوجيا الإعلان في تحديد ما إذا كان الإعلان السياقي أو الإعلان الذي يستهدف الجمهور المحمي قد فاز بالمزاد، كما ستساعدهم في تحديد معرّف الموارد الموحّد (URI) للإعلان الفائز الذي يستهدف الجمهور المحمي، إذا كان ذلك منطبقًا.
الميزات المتاحة لمزاد الخادم
نسعى إلى توفير جميع الميزات المتاحة للمزاد على الجهاز. في ما يلي الجدول الزمني لإتاحة هذه الميزات في مزاد الخادم:
المزاد على الجهاز |
مزاد الخادم |
|||
معاينة المطور |
ميزة تجريبية |
معاينة المطور |
ميزة تجريبية |
|
إعداد تقارير عن حالات الفوز على مستوى الحدث |
الربع الأول من عام 2023 |
الربع الثالث من العام 2023 |
لا ينطبق |
الربع الرابع من عام 2023 |
الربع الأول من عام 2023 |
الربع الرابع من عام 2023 |
لا ينطبق |
الربع الأول من العام 2024 |
|
الربع الثاني من عام 2023 |
الربع الثالث من العام 2023 |
لا ينطبق |
الربع الرابع من عام 2023 |
|
تمرير الإعلانات السياقية إلى سير عمل اختيار الإعلانات لتتم فلترتها |
الربع الثاني من عام 2023 |
الربع الأول من عام 2024 |
لا ينطبق |
لا ينطبق |
الربع الثاني من عام 2023 |
الربع الثالث من العام 2023 |
لا ينطبق |
الربع الرابع من عام 2023 |
|
الربع الثالث من العام 2023 |
الربع الرابع من عام 2023 |
لا ينطبق |
الربع الرابع من عام 2023 |
|
الفوترة غير المستندة إلى التكلفة لكل ألف ظهور |
الربع الثالث من العام 2023 |
الربع الرابع من عام 2023 |
||
الإبلاغ عن أخطاء |
الربع الثالث من العام 2023 |
الربع الرابع من عام 2023 |
الربع الثالث من العام 2023 |
الربع الرابع من عام 2023 |
التوسّط في "عرض الأسعار المفتوح" |
لا ينطبق |
لا ينطبق |
لا ينطبق |
الربع الأول من عام 2024 |
الربع الثاني من عام 2023 |
الربع الأول من عام 2024 |
لا ينطبق |
الربع الأول من عام 2024 |
|
إدارة العملات |
لا ينطبق |
لا ينطبق |
لا ينطبق |
الربع الأول من عام 2024 |
دمج K-anon |
لا ينطبق |
الربع الأول من عام 2024 |
لا ينطبق |
الربع الأول من عام 2024 |
دمج Private Aggregation API |
لا ينطبق |
لا ينطبق |
لا ينطبق |
الربع الثالث من العام 2024 |
إجراء مزادات على الخادم باستخدام واجهات Protected Audience API
في قناة الإصدار التجريبي للمطوّرين، تعرض واجهة AdSelectionManager واجهتَي برمجة تطبيقات جديدتَين:
getAdSelectionData
وpersistAdSelectionResult
. تسمح واجهات برمجة التطبيقات هذه بدمج حِزم تطوير البرامج (SDK) الخاصة بتقنية الإعلان مع خوادم "عروض الأسعار" و"المزاد".
جمع البيانات وتشفيرها لإجراء مزاد على الخادم
تنشئ واجهة برمجة التطبيقات getAdSelectionData
الإدخال المطلوب لمكوّنات "عروض الأسعار" و"المزاد"، مثل BuyerInput
وProtectedAudienceInput
، وتشفّر البيانات قبل إتاحة النتيجة للمتصل. لمنع تسرُّب البيانات بين التطبيقات، تحتوي هذه البيانات على معلومات من جميع المشترين المتوفّرين على الجهاز. يمكنك الاطّلاع على مزيد من المعلومات حول هذا القرار في قسم اعتبارات الخصوصية واستراتيجيات تحسين هذا القرار في قسم اعتبارات الحجم.
للوصول إلى واجهة برمجة التطبيقات، يجب تفعيل إذن الوصول إلى Protected Audience API، ويجب تحديد الإذن
ACCESS_ADSERVICES_CUSTOM_AUDIENCE
في بيان المتصل.
public class AdSelectionManager {
public void getAdSelectionData(
GetAdSelectionDataRequest getAdSelectionDataRequest,
Executor executor,
OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver) {}
}
GetAdSelectionDataRequest
- على المتصل ضبط الحقل
seller
في الطلب لأنّه يُستخدم لإجراء عمليات التحقّق من التسجيل قبل تلبية الطلب. - الحقل
coordinatorOriginUri
اختياري.- في حال ضبط هذا الحقل، يجب أن يساوي المخطط واسم المضيف والمنفذ الخاصين بعنوان URL الخاص بخادم التنسيق الذي تم ضبطه أثناء نشر خادم B&A الخاص بالبائع.
- يجب أن يكون المنسّق ضمن قائمة المنسّقين الموافَق عليهم:
موفِّر الخدمة معرّف الموارد المنتظم (URI) مصدر معرّف الموارد المنتظم (URI) تلقائي Google Cloud https://publickeyservice.pa.gcp.privacysandboxservices.com/.well-known/protected-auction/v1/public-keys https://publickeyservice.pa.gcp.privacysandboxservices.com نعم Amazon Web Services https://publickeyservice.pa.aws.privacysandboxservices.com/.well-known/protected-auction/v1/public-keys https://publickeyservice.pa.aws.privacysandboxservices.com لا - في حال عدم توفير مصدر منسّق، يتم استخدام المنسّق التلقائي.
- على الرغم من أنّه من غير المحتمل أن يتغيّر عنوان URL الخاص بـ "المنسّق"، يُنصح بشدة بتنفيذ آلية لإدارة عنوان URL هذا بشكل ديناميكي. يضمن ذلك إمكانية استيعاب أي تغييرات مستقبلية في عنوان URL بدون الحاجة إلى إصدار حزمة SDK جديدة.
public class GetAdSelectionDataRequest {
public setSeller(AdTechIdentifier seller);
public setCoordinatorOriginUri(Uri coordinatorOriginUri)
}
بعد التحقّق من صحة الطلب، يتم تجميع بيانات المشتري على الجهاز في BuyerInput
وProtectedAudienceInput
. بعد ذلك، يتم تشفير عنصر البيانات النهائي باستخدام تشفير المفتاح العام الثنائي الاتجاه المختلط.
GetAdSelectionDataOutcome
يتم إنشاء GetAdSelectionDataOutcome
كنتيجة لواجهة برمجة التطبيقات getAdSelectionData
ويحتوي على ما يلي:
-
adSelectionId
: عدد صحيح غير شفاف لتحديد عملية استدعاءgetAdSelectionData
هذه. على عميل تكنولوجيا الإعلان الاحتفاظ بهذه القيمةadSelectionId
لأنّها تعمل كمؤشر على طلبgetAdSelectionData
. هذا المعرّف مطلوب من خلال واجهة برمجة التطبيقاتpersistAdSelectionResult
لفك تشفير نتيجة المزاد من خادم "عروض الأسعار" و"المزاد"، كما أنّه مطلوب من خلال واجهتَي برمجة التطبيقاتreportImpression
وreportEvent
. -
adSelectionData
: هذه هي بيانات المزاد المشفّرة التي يحتاجها خادم "عروض الأسعار والمزادات" لإجراء المزادات. تتضمّن هذه الطريقة ما يلي:- بيانات شرائح الجمهور المخصّصة التي تمّت فلترتها استنادًا إلى الحدّ الأقصى لعدد مرّات الظهور وفلاتر تثبيت التطبيق ومتطلّبات مزاد الخادم لشرائح الجمهور المخصّصة
- في إصدار مستقبلي، سيتضمّن بيانات تثبيت التطبيق.
public class GetAdSelectionDataOutcome {
Public getAdSelectionId(long adSelectionId);
public byte[] getAdSelectionData();
}
معالجة الأخطاء والاستثناءات وحالات التعذّر
إذا تعذّر إكمال عملية إنشاء بيانات اختيار الإعلانات بنجاح لأسباب مثل وسيطات غير صالحة أو مهلات أو استهلاك مفرط للموارد، سيوفّر ردّ الاتصال OutcomeReceiver.onError()
AdServicesException
مع السلوكيات التالية:
- إذا تم بدء
getAdSelectionData
باستخدام وسيطات غير صالحة، يشيرAdServicesException
إلى أنّ IllegalArgumentException هو السبب. - تتلقّى جميع الأخطاء الأخرى
AdServicesException
معIllegalStateException
كسبب.
إرسال طلب إلى خدمة بائع غير موثوق به
باستخدام AdSelectionData
، يمكن لحزمة SDK على الجهاز إرسال طلب إلى خدمة الإعلانات التابعة للبائع من خلال تضمين البيانات في طلب POST
أو PUT
:
fetch('https://www.example-ssp.com/auction', {
method: "PUT",
body: data,
...
})
تتولّى حزمة SDK على الجهاز مسؤولية ترميز هذه البيانات. يُنصح باستخدام حلّ فعّال من حيث المساحة، مثل إرسال الطلب إلى خدمة الإعلانات التابعة للبائع بتنسيق multipart/form-data.
تلقّي ردّ من خدمة بائع غير موثوق به
كما هو موضّح بالتفصيل في شرح خادم عروض الأسعار والمزاد، عندما تتلقّى خدمة البائع غير الموثوق به الطلب، تُجري مكالمات مع المشترين الشركاء لعرض إعلانات سياقية.
تعيد خدمة البائع غير الموثوق به توجيه adSelectionData
وAuctionConfig
المشفّرَين إلى خدمة SellerFrontEnd في خادم "عروض الأسعار والمزادات"، والتي تعمل في بيئة تنفيذ موثوقة (TEE).
عند اكتمال مزاد Protected Audience، تشفّر خدمة SellerFrontEnd نتيجة المزاد وتعرضها كاستجابة لخدمة البائع غير الموثوق به.
ترسل خدمة البائع غير الموثوق به ردًا إلى الجهاز يتضمّن إعلانًا سياقيًا و / أو نتيجة مشفّرة لمزاد Protected Audience API.
عند تلقّي الردّ، يمكن لرمز تكنولوجيا الإعلان الخاص بالبائع على الجهاز اختيار استخدام الإعلان السياقي فقط في الردّ، أو إذا رأى أنّ هناك قيمة إضافية في الحصول على نتيجة Protected Audience، يمكنه اختيار فك تشفير نتيجة Protected Audience من خلال طلب PersistAdSelectionResult
API.
PersistAdSelectionResult API
لإلغاء تشفير نتيجة Protected Audience، يمكن أن تطلب تكنولوجيا الإعلان التابعة للبائع الوصول إلى واجهة Protected Audience API الثانية persistAdSelectionResult
. تزيل واجهة برمجة التطبيقات تشفير النتيجة
وتعرض AdSelectionOutcome
، وهو الكائن نفسه الذي يتم عرضه من
المزاد على الجهاز اليوم.
للوصول إلى واجهة برمجة التطبيقات، على المتصل تفعيل إمكانية الوصول إلى Protected Audience API
وتحديد الإذن ACCESS_ADSERVICES_CUSTOM_AUDIENCE
في ملف البيان.
public void persistAdSelectionResult(
PersistAdSelectionResultRequest persistAdSelectionResultRequest,
Executor executor,
OutcomeReceiver<AdSelectionOutcome, Exception> receiver) {}
PersistAdSelectionResultRequest
على المتصل ضبط ما يلي في الطلب:
public final class PersistAdSelectionResultRequest {
Public setAdSelectionId(long adSelectionId);
public setSeller(AdTechIdentifier seller);
public setAdSelectionResult(byte[] adSelectionResult);
}
adSelectionId
: المعرّف غير الشفاف الذي تم إنشاؤه بواسطة طلبgetAdSelectionData
الذي يريد المتصل فك تشفير نتيجته.-
seller
: يجب ضبط معرّف تكنولوجيا الإعلان الخاص بالبائع في الطلب لتنفيذ عمليات التحقّق من التسجيل قبل تلبية الطلب. adSelectionResult
: نتيجة المزاد المشفّرة التي أنشأها خادم "عروض الأسعار والمزاد" والتي يريد المتصل فك تشفيرها.
AdSelectionOutcome response
إذا كان هناك إعلان فائز في Protected Audience، ستعرض الدالة AdSelectionOutcome
معرّف الموارد المنتظم (URI) لعرض الإعلان الفائز.وبعد فك تشفير adSelectionResult
، يتم الاحتفاظ ببيانات إعداد التقارير داخليًا. تعرض دالة معاودة الاتصال OutcomeReceiver.onResult()
AdSelectionOutcome
يحتوي على ما يلي:
-
URI
: إذا كان هناك إعلان فائز من Protected Audience، سيتم عرض عنوان URL لعرض الإعلان الفائز. في حال عدم توفّر عرض فائز في Protected Audience، سيتم عرض `Uri.EMPTY`. adSelectionId
:adSelectionId
المرتبط بعملية تشغيل مزاد الخادم هذه.
معالجة الأخطاء والاستثناءات وحالات التعذّر
إذا تعذّر إكمال عملية إنشاء بيانات اختيار الإعلانات بنجاح لأسباب مثل وسيطات غير صالحة أو مهلات أو استهلاك مفرط للموارد، سيوفّر ردّ الاتصال OutcomeReceiver.onError()
AdServicesException
مع السلوكيات التالية:
- إذا تم بدء
getAdSelectionData
باستخدام وسيطات غير صالحة، يشيرAdServicesException
إلىIllegalArgumentException
كسبب. - تتلقّى جميع الأخطاء الأخرى
AdServicesException
معIllegalStateException
كسبب.
اعتبارات الخصوصية
يتم تشفير adSelectionData
للتأكّد من أنّ البيانات أثناء نقلها لا يمكن الوصول إليها إلا من خلال واجهة برمجة التطبيقات PPAPI والخوادم الموثوق بها.
على الرغم من التشفير، يمكن أن يحدث تسرّب للبيانات بسبب حجم adSelectionData
. يمكن أن يختلف adSelectionData
الحجم للأسباب التالية:
- التغييرات في بيانات
CustomAudience
المتوفّرة على الجهاز - تغييرات على منطق فلترة
CustomAudience
- تغييرات في الإدخال لإجراء مكالمة إلى
getAdSelectionData
يمكن استخدام التغيير في حجم adSelectionData
لإنشاء معرّف على مستوى التطبيقات، كما هو موضّح في مناقشة تسريب بت واحد. تنطبق هنا أيضًا العديد من إجراءات التخفيف التي تنطبق على تسريب بت واحد.
لإدارة عمليات التسريب هذه، نخطّط لإنشاء adSelectionData
نفسه لجميع طلبات البيانات من واجهة برمجة التطبيقات getAdSelectionData
. في الإصدارات الأولية، يتم استخدام جميع CustomAudiences
على الجهاز لإنشاء adSelectionData
، وسيتم إضافة مساحة فارغة إلى الحمولة المشفّرة لإخفاء الاختلافات في الحجم. سنحدّ أيضًا من تأثير مَعلمات الإدخال GetAdSelectionData
على adSelectionData
التي يتم إنشاؤها.
ومع ذلك، يؤدي إنشاء adSelectionData
نفسه لجميع تكنولوجيات الإعلان باستخدام جميع بيانات المزاد على الجهاز إلى إنشاء حمولة كبيرة يجب نقلها في كل طلب إلى خادم تكنولوجيا الإعلان. يؤدي استخدام جميع شرائح الجمهور المخصّصة على الجهاز لإنشاء حمولة بيانات المزاد أيضًا إلى تعرُّض المنظومة المتكاملة لإساءة الاستخدام من جهات ضارة. لقد تناولنا هذه المخاوف في قسمَي تحسينات الحجم وإجراءات الحدّ من إساءة الاستخدام.
تحسينات الحجم
من المتوقّع أن تحزّم حزمة SDK الخاصة بالعميل في تكنولوجيا الإعلان وحدات البايت المشفّرة من adSelectionData
في طلب السياق HTTP PUT/POST
الذي يتم إرساله إلى خادم تكنولوجيا الإعلان. لتقليل وقت الاستجابة وتكلفة وقت الاستجابة، من الضروري تقليل حجم adSelectionData
قدر الإمكان بدون التأثير في الفائدة.
نخطّط لاستكشاف التحسينات التالية وربما طرحها في الإصدارات القادمة لتقليل حجم adSelectionData
:
الحمولة التي يتم إنشاؤها في مجموعة ثابتة من أحجام الحِزم مع إضافة مساحة فارغة: للحدّ من تسرُّب البيانات الناتج عن اختلافات الأحجام مع السماح في الوقت نفسه بحمولات أصغر، ننصح باستخدام تقسيم الحِزم إلى أحجام ثابتة للحمولة التي يتم إنشاؤها. سيؤدي إبقاء عدد المجموعات صغيرًا، مثلاً 7، إلى تسريب أقل من 3 بتات من الإنتروبيا لكل طلب إلى
getAdSelectionData
.إذا تجاوزت البيانات على الجهاز الحدّ الأقصى لحجم الحزمة، سيتم استخدام استراتيجيات مثل قيم الأولوية لتحديد البيانات التي سيتم تجاهلها.
إعدادات المشترين: نحن بصدد تقييم إمكانية السماح للمشترين بإعداد إعدادات حمولة خاصة بكل مشترٍ. سيكون هذا الإعداد مفيدًا لتحديد المزادات التي يهتمّ المشتري بالمشاركة فيها. إذا كان ذلك ممكنًا، يمكن أن تسجّل تكنولوجيا إعلانية خاصة بالمشترين نقطة نهاية أثناء عملية التسجيل، ويمكن أن تستخدمها Protected Audience لجلب إعدادات الحمولة بشكل منتظم يوميًا. بدلاً من ذلك، ستعرض واجهات برمجة التطبيقات التي تحافظ على الخصوصية واجهة برمجة تطبيقات للسماح لتكنولوجيات الإعلان الخاصة بالجهات المشترية بتسجيل نقطة النهاية هذه.
سيتم بعد ذلك استخدام هذا الإعداد لتقييم مساهمة المشتري في
adSelectionData
التي تم إنشاؤها لكل طلبgetAdSelectionData
.سيسمح إعداد حمولة المشتري للمشترين بتحديد ما يلي:
- قائمة البائعين المسموح بهم: لن تتم إضافة CustomAudiences الخاصة بالمشتري إلى الحمولة إلا إذا بدأ البائع المدرَج في القائمة المسموح بها طلب
getAdSelectionData
. سنستردّ إعدادات الحمولة بشكل يومي لإبقاء قائمة السماح محدّثة. - الحدّ الأقصى للحجم لكل بائع: يمكن للمشتري تحديد حدّ أقصى للحجم لكل بائع لتحديد حجم البيانات التي سيتم إرسالها في الحمولة عند بدء مزاد من قِبل بائع معيّن. سيكون ذلك مفيدًا إذا أراد أحد المشترين تخصيص المزيد من الموارد لمعالجة بيانات المزاد من بائعين معيّنين. لا تحوّل SellerFrontendService إلى كل BuyerFrontendService سوى البيانات الخاصة بالمشتري. لذلك، من خلال تحديد حدّ أقصى للحجم لكل بائع، يمكن للمشتري التحكّم بشكل صريح في مقدار البيانات التي يتمّ استيعابها ومعالجتها من خلال BuyerFrontendService في خادم "عروض الأسعار والمزاد" للمزادات التي يديرها البائع.
- قائمة البائعين المسموح بهم: لن تتم إضافة CustomAudiences الخاصة بالمشتري إلى الحمولة إلا إذا بدأ البائع المدرَج في القائمة المسموح بها طلب
إعدادات البائع: نحن بصدد تقييم مدى جدوى إعدادات المزاد على مستوى البائع، ما يتيح للبائعين تحديد معلَمات المزاد للتحكّم في حجم الحمولة والمشاركين في المزاد. إذا كان ذلك ممكنًا، سيتمكّن مزوّد تقنية الإعلان التابع للبائع أثناء عملية التسجيل من تحديد نقطة النهاية التي يمكن أن تستخدمها Protected Audience API لجلب إعدادات المزاد الخاصة بكل بائع بشكل منتظم. سيتم بعد ذلك استخدام هذا الإعداد لتحديد تركيبة
adSelectionData
وحدودها التي يتم إنشاؤها لكل طلبgetAdSelectionData
.على غرار إعدادات المشترين، ستسمح الإعدادات الخاصة بكل بائع للبائعين بتحديد مجموعة المشترين الذين يتوقّعون رؤيتهم في المزاد، كما ستسمح لهم بتحديد حدود لمساهمة كل مشترٍ في حجم الحمولة.
سيسمح إعداد مزاد البائعين للبائعين بتحديد ما يلي:
- قائمة المشترين المسموح بهم: في المزادات التي يبدأها البائع المحدّد، لن يتمكّن سوى المشترين المدرَجين في القائمة المسموح بها من المساهمة في إنشاء شرائح جمهور مخصّصة للمزاد. يجب تعديل إعدادات المزاد يوميًا لإبقاء القائمة المسموح بها محدّثة مع القائمة المسموح بها للمشترين من جهة الخادم.
- الحدّ الأقصى للحجم لكل مشترٍ: يمكن للبائعين تحديد حدّ أقصى للحجم لكل مشترٍ من أجل تنظيم حجم البيانات التي يحمّلها كل مشترٍ إلى الحمولة التي يتم إرسالها إلى SellerFrontendService. إذا تجاوز المشتري الحدّ الأقصى للحجم المسموح به لكل مشترٍ، سيتم استخدام أولوية CustomAudience المحدّدة في إعدادات حمولة المشتري للحصول على البيانات ضمن الحدود المتوقّعة.
- الأولوية لكل مشترٍ: السماح للبائعين بتحديد الأولوية لكل مشترٍ سيتم استخدام أولوية المشتري لتحديد بيانات المشتري التي يجب الاحتفاظ بها في الحمولة إذا تجاوز حجم الحمولة الحدّ الأقصى المسموح به لحجم الحمولة.
- الحدّ الأقصى لحجم الحمولة: قد يختلف تخصيص الموارد لدى البائعين، وقد يريدون تحديد حدّ أقصى لحجم حمولة المزاد لكل طلب. سيراعي الحد الأقصى للحجم فئات الحجم الثابت التي تحدّدها واجهة Protected Audience API.
التغييرات على شرائح الجمهور المخصّصة
- تحديد أولوية "شريحة الجمهور المخصّصة": السماح للمشترين بتحديد قيمة أولوية في "شريحة الجمهور المخصّصة". سيتم استخدام الحقل
priority
لتحديد شرائح الجمهور المخصّصة التي يجب تضمينها في المزاد إذا تجاوزت مجموعة شرائح الجمهور المخصّصة للمشتري حدود الحجم المسموح بها لكل بائع أو لكل مشترٍ. إذا لم يتم تحديد قيمة الأولوية في "شريحة جمهور مخصّصة"، سيتم تلقائيًا ضبطها على0.0
.
- تحديد أولوية "شريحة الجمهور المخصّصة": السماح للمشترين بتحديد قيمة أولوية في "شريحة الجمهور المخصّصة". سيتم استخدام الحقل
تغييرات في حمولة البيانات
- تقليل البيانات المُرسَلة في الحمولة: كما هو موضّح بالتفصيل في تحسين حمولة خدمات عروض الأسعار والمزاد، يتم تحديد الحمولة الأعلى من خلال بيانات الجمهور المخصّص
ads
وإشارات عروض أسعار المستخدمين وإشارات Android. يمكن خفض أحجام الحمولة الكبيرة من خلال:- أن يرسل العميل معرّفات عرض الإعلانات (بدلاً من عناصر الإعلانات) في حمولة البيانات
- عدم تضمين العميل أي بيانات إعلانية في الحمولة
- عدم إرسال إشارات عروض أسعار المستخدمين في حمولة العميل
- تقليل البيانات المُرسَلة في الحمولة: كما هو موضّح بالتفصيل في تحسين حمولة خدمات عروض الأسعار والمزاد، يتم تحديد الحمولة الأعلى من خلال بيانات الجمهور المخصّص
في حين أنّ هذه الاستراتيجيات تسمح لتكنولوجيات الإعلان بتحديد إعدادات
لإدارة تركيبة حمولة adSelectionData
وحدودها، يمكن أن تصبح أيضًا
عاملاً في تعديل حجم adSelectionData
من خلال تغيير مَعلمات الإعداد. ولتجنُّب ذلك، سيتم جلب الإعدادات يوميًا من خلال Protected Audience من نقطة النهاية التي تم ضبطها.
تحسين وقت الاستجابة
لكي تحقّق مزادات الخادم مستوى مقبولاً من الفائدة، يجب التأكّد من أنّ واجهة برمجة التطبيقات getAdSelectionData
وواجهة برمجة التطبيقات persistAdSelectionResult
تتسمان بوقت استجابة منخفض لكل طلب. مع أنّنا نهدف إلى توفير ميزات متوافقة مع واجهات برمجة التطبيقات في 2023، سيركّز الإصدار اللاحق على مقاييس وقت الاستجابة وعمليات التحسين لواجهات برمجة التطبيقات.
نستكشف الاستراتيجيات التالية للحفاظ على معدّل الاستجابة ضمن الحدود المقبولة:
إنشاء بيانات Protected Audience مسبقًا لكل بائع: بما أنّ إعدادات مزاد البائع وإعدادات حمولة المشتري ستكون ثابتة لمدة طويلة (يوميًا)، يمكن للمنصة إجراء العمليات الحسابية مسبقًا وتخزين بيانات Protected Audience المؤهّلة.
سيتطلّب ذلك أن تنشئ المنصة آلية لتتبُّع تعديلات شرائح الجمهور المخصّصة وتعديل بيانات Protected Audience التي تم إنشاؤها مسبقًا استنادًا إلى التعديلات. على المنصة أيضًا الإفصاح عن اتفاقيات مستوى الخدمة بشأن التأخير الذي يمكن أن تتوقّعه تكنولوجيات الإعلان في السباق بين تعديلات شرائح الجمهور المخصّصة ورؤية التغيير في
adSelectionData
الذي تم إنشاؤه للمزاد على الخادم.بما أنّ الجهاز يوفّر نموذجًا محدودًا لاحتساب الموارد مع اختلاف أولويات العمليات، ندرك أنّ توفير ميزة الإنشاء المسبق هذه يجب أن يكون مصحوبًا بموثوقية عالية وضمانات لاتفاقيات مستوى الخدمة.
سيستند إنشاء بيانات Protected Audience مسبقًا إلى
- يوافق البائع على إنشاء بيانات Protected Audience مسبقًا.
- المشترون المؤهّلون للمشاركة في مزاد بدأه بائع معيّن
- تحديد شرائح الجمهور المخصّصة لكل مشترٍ، والتي ستكون جزءًا من الحمولة استنادًا إلى:
- حدود الحجم لكل مشترٍ، والأولوية لكل مشترٍ، وحدود الحجم الأقصى المحدّدة في إعدادات البائع
- حدّ الحجم لكل بائع، وأولوية الجمهور المخصّص المحدّدة في إعدادات المشتري
التطبيق السريع للفلاتر السلبية: إذا كان البائع يفضّل ذلك، يمكن للمنصة إجراء عملية حساب مسبق لـ
adSelectionData
من خلال إنشاء بيانات Protected Audience مسبقًا وتطبيق الفلاتر السلبية خارج طلبgetAdSelectionData
المهم. سيسمح ذلك للبائعين بتحقيق التوازن بين خفض وقت الاستجابة وقبول البيانات القديمة في الفلترة السلبية.يمكن أن توفّر المنصة هذا الدعم من خلال توفير خيار تلقائي في إعدادات البائع مع حدّ للتقادم وخيار إلغاء في
getAdSelectionData
للسماح بإجراء أحدث العمليات الحسابية إذا لزم الأمر. بدلاً من ذلك، يمكن أن توفّر المنصة واجهة برمجة تطبيقات إضافية خاصة بعملية التهيئة يجب استدعاؤها قبلgetAdSelectionData
لتسخين المزاد.احتساب الحمولة لعمليات مزايدة متعدّدة: في سيناريوهات معيّنة، قد يكون من الأفضل استخدام واجهة برمجة تطبيقات ذات أداء جيد من حيث وقت الاستجابة، حتى لو كان ذلك على حساب زيادة عدم حداثة البيانات. لتوفير ذلك، يمكن للمنصة تقديم واجهة برمجة تطبيقات تهيئة لاحتساب الحمولة الكاملة وتقديم مرجع إلى الحمولة المحسوبة للمتصل.
بالنسبة إلى المكالمات اللاحقة إلى
getAdSelectionData
، يمكن للمتصل تقديم مرجع إلى الحمولة المحسوبة مسبقًا لاستخدامها في إنشاءadSelectionData
.
هذه الاستراتيجيات الثلاث هي في مرحلة الاستكشاف الأولية وتهدف إلى وصف الاتجاه الذي قد تتخذه المنصة لتحسين زمن الاستجابة. سنواصل اقتراح استراتيجيات إضافية أثناء استكشافنا لتفاصيل أكثر حول ملفات تعريف وقت الاستجابة لمتطلبات واجهة برمجة التطبيقات وتكنولوجيا الإعلان.
تحديد إساءة الاستخدام والحدّ منها
كما هو موضّح في اعتبارات الخصوصية، يتم إنشاء adSelectionData
باستخدام جميع بيانات المشتري على الجهاز.
ومع ذلك، إذا تم استخدام جميع بيانات المشترين على الجهاز لإنشاء الناتج adSelectionData
، يمكن لجهة ضارة أن تنتحل صفة مشترٍ وتنشئ بيانات مشترين مزيفة بهدف خفض أداء Android، وتضخيم الحمولة لزيادة تكلفة تكنولوجيا الإعلان من أجل إجراء مزادات أو عروض أسعار، وما إلى ذلك.
التخفيف من حدة المشكلة
بعض الإجراءات المذكورة في قسم اعتبارات الحجم، مثل إعداد حمولة المشتري التي تتضمّن البائعين المعتمَدين وإعداد مزاد البائع الذي يتضمّن المشترين المعتمَدين، ستساعد في استبعاد البيانات غير المتوقّعة في الحمولة.
يمكن أن تساعد أيضًا إجراءات أخرى متعلقة بحجم الإعلانات، مثل السماح لمنصّات عرض الإعلانات بتحديد أولوية المعلِن، ووضع حصة لكل معلِن في الحمولة التي يتم إنشاؤها، وتحديد الحد الأقصى للحجم لكل حمولة في المزاد، في الحدّ من تأثير تضخّم الحمولة الضارة. تهدف هذه الإجراءات إلى السماح لتكنولوجيات الإعلان بتحديد تكنولوجيا الإعلان التي تتعاون معها، ووضع حدود مقبولة للحِمل الذي عليها معالجته.
كما ذكرنا سابقًا، يجب أن تلتزم جميع إجراءات التخفيف التي تمّ اتّخاذها لمكافحة إساءة الاستخدام والقيود المفروضة على الحجم باعتبارات الخصوصية.
تحديد الجهات الضارة
في حين أنّ إجراءات التخفيف هذه تحمي الجيل adSelectionData
من عمليات الاحتيال في مزادات الخادم، إلا أنّها لا تساعد في تحديد الجهات الضارة أو حماية المنصة من إساءة الاستخدام، مثل إنشاء عدد غير مسبوق من شرائح الجمهور المخصّصة من قِبل أحد المشترين.
للتحقّق من استقرار المنصة وسلامتها، نحتاج إلى آلية لتحديد الجهات الضارة، وتحديد أساليب إساءة الاستخدام، وتحديد الدافع وراء الهجمات المحدّدة. في الإصدارات اللاحقة، سنقدّم شروحات توضّح أساليب إساءة الاستخدام المحتملة وإجراءات الحماية المتّخذة لمواجهتها.