دليل المطوِّر في FLEDGE API

المستخدمون المعنيّون بهذه المقالة

هذه المشاركة هي مرجع فني للإصدار الحالي من Protected Audience API التجريبية.

ما هو Protected Audience؟

‫Protected Audience API هي اقتراح لمبادرة حماية الخصوصية لعرض حالات استخدام تجديد النشاط التسويقي وشرائح الجمهور المخصَّصة، وهي مصمّمة بحيث لا يمكن لجهات خارجية استخدامها لتتبُّع سلوك تصفّح المستخدِمين على جميع المواقع الإلكترونية. تتيح واجهة برمجة التطبيقات المزادات على الأجهزة فقط من خلال المتصفّح لاختيار الإعلانات ذات الصلة بالمواقع الإلكترونية التي زارها المستخدِم من قبل.

"شريحة الجمهور المحمية" هي التجربة الأولى التي يتم تنفيذها في Chromium ضمن مجموعة اقتراحات TURTLEDOVE.

يقدّم الرسم البياني أدناه نظرة عامة على رحلة FLEDGE:

رسم توضيحي يقدّم نظرة عامة على كل مرحلة من مراحل دورة حياة FLEDGE
مراحل FLEDGE

كيف يمكنني تجربة ميزة "الجمهور المحمي"؟

عرض توضيحي لميزة "الجمهور المحمي"

تتوفّر جولة إرشادية حول عملية نشر أساسية لفئة الجمهور المحمي على مواقع المعلِنين والناشرين الإلكترونية على الرابط protected-audience-demo.web.app.

يشرح الفيديو التجريبي طريقة عمل الرمز التجريبي، ويوضّح كيفية استخدام أدوات مطوّري البرامج في Chrome لتصحيح أخطاء ميزة "الجمهور المحمي".

المشاركة في مرحلة التجربة والتقييم في Protected Audience

تم بدء مرحلة التجربة والتقييم لميزة "الملاءمة والقياس" في "مبادرة حماية الخصوصية" في الإصدار التجريبي من Chrome 101.0.4951.26 والإصدارات الأحدث على أجهزة الكمبيوتر المكتبي لواجهات برمجة التطبيقات Protected Audience API وTopics API وAttribution Reporting API.

للمشاركة، عليك التسجيل للحصول على رمز مميّز للإصدار التجريبي من المصدر.

بعد التسجيل في الفترة التجريبية بنجاح، يمكنك تجربة Protected Audience JavaScript API على الصفحات التي تقدّم رمز ترويجي صالحًا للتجربة: على سبيل المثال، لطلب من المتصفّح الانضمام إلى مجموعة واحدة أو أكثر من مجموعات الاهتمامات، ثم تشغيل مزاد إعلاني لاختيار إعلان وعرضه.

يوفّر العرض التوضيحي لفئة الجمهور المحمي مثالاً أساسيًا على عملية نشر فئة الجمهور المحمي من البداية إلى النهاية.

قدِّم رمزًا مميّزًا للتجربة لكل صفحة تريد تنفيذ رمز Protected Audience API عليها:

  • كعلامة وصفية في <head>:

    <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">

  • كعنوان HTTP:

    Origin-Trial: TOKEN_GOES_HERE

  • من خلال تقديم رمز مميّز آليًا:

    const otMeta = document.createElement('meta');
    otMeta.httpEquiv = 'origin-trial';
    otMeta.content = 'TOKEN_GOES_HERE';
    document.head.append(otMeta);
    

يجب أن يقدّم إطار iframe الذي يشغّل رمز Protected Audience، مثل navigator.joinAdInterestGroup() طلب من قِبل مالك مجموعة اهتمامات مشتركة، رمز أمان يتطابق مع مصدره.

تفاصيل الفترة التجريبية المقترَحة الأولى لمصدر الجمهور المحمي توفّر المزيد من التفاصيل حول أهداف الفترة التجريبية الأولى وتوضّح الميزات المتوافقة.

اختبار واجهة برمجة التطبيقات هذه

يمكنك اختبار ميزة "الجمهور المحمي" لمستخدم واحد في الإصدار التجريبي من Chrome 101.0.4951.26 والإصدارات الأحدث على أجهزة الكمبيوتر المكتبي:

  • من خلال تفعيل جميع واجهات برمجة التطبيقات "للخصوصية في عرض الإعلانات" ضمن chrome://settings/adPrivacy
  • من خلال ضبط العلامات من سطر الأوامر

عرض الإعلانات في إطارات iframe أو إطارات محدودة

يمكن عرض الإعلانات في <iframe> أو <fencedframe>، استنادًا إلى العلامات التي تم ضبطها.

لاستخدام <fencedframe> لعرض الإعلانات:

--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames

لاستخدام <iframe> لعرض الإعلانات:

--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames

أدرِج العلامة BiddingAndScoringDebugReportingAPI لتفعيل طرق إعداد تقارير حالات فقدان/تحقيق تصحيح الأخطاء المؤقتة.

يشرح مقالة تشغيل Chromium باستخدام العلامات كيفية ضبط العلامات عند تشغيل Chrome والمتصفّحات الأخرى المستندة إلى Chromium من سطر المعالجة. تتوفّر القائمة الكاملة للإشعارات المتعلّقة بالجمهور المحمي من خلال بحث رمز Chromium.

ما هي الميزات المتاحة في أحدث إصدار من Chrome؟

يتم توفير ميزة "الجمهور المحمي" من خلال ميزة "إشارات الميزات" في Chromium كأول تجرب ة لاختبار الميزات التالية لاقتراح "الجمهور المحمي":

  • المجموعات ذات الاهتمامات المشتركة: يخزّنها المتصفّح مع البيانات الوصفية المرتبطة بها لضبط عروض أسعار الإعلانات وعرضها.
  • عروض الأسعار على الجهاز من قِبل المشترين (نظام تخطيط الحملة أو المعلِن): استنادًا إلى مجموعات الاهتمامات والإشارات المُخزَّنة من البائع
  • اختيار الإعلانات على الجهاز من قِبل البائع (وحدة عرض الإعلانات أو الناشر): استنادًا إلى عروض أسعار المزاد و البيانات الوصفية من المشترين
  • عرض الإعلانات في إصدار مُرخَّص مؤقتًا من "اللقطات المُحدودة": مع السماح بالوصول إلى الشبكة وتسجيل النشاط لعرض الإعلانات.

يقدّم مقدّم شرح واجهة برمجة التطبيقات مزيدًا من التفاصيل حول مدى توفّر الميزات والقيود المفروضة عليها.

أذونات المجموعات ذات الاهتمامات المشتركة

الإعداد التلقائي في التنفيذ الحالي لفئة الجمهور المحمي هو السماح باستدعاء joinAdInterestGroup() من أي مكان في الصفحة، حتى من إطارات iframe على مستوى نطاقات متعددة. في المستقبل، بعد أن يحصل مالكو المواقع الإلكترونية على الوقت الكافي لتعديل سياسات أذونات إطارات iframe على مستوى النطاقات المختلفة، من المخطّط عدم السماح بطلبات البيانات من إطارات iframe على مستوى النطاقات المختلفة، كما هو موضّح في الشرح.

خدمة المفتاح/القيمة

كجزء من مزاد الإعلانات في "شريحة الجمهور المحمية"، يمكن للمتصفّح الوصول إلى خدمة مفتاح/قيمة تعرض أزواجًا بسيطة من المفاتيح والقيم لتقديم معلومات إلى مشتري الإعلانات، مثل ميزانية الحملة المتبقية. يفرض اقتراح "شريحة الجمهور المحمية" أنّ هذا الخادم "لا يُجري أي تسجيل على مستوى الحدث ولا تترتّب عليه أيّ آثار جانبية أخرى استنادًا إلى هذه الطلبات".

يتوفّر الآن رمز خدمة Protected Audience Key/Value في مستودع GitHub ضمن "مبادرة حماية الخصوصية". يمكن لمطوّري Chrome وAndroid استخدام هذه الخدمة. يمكنك الاطّلاع على مشاركة المدونة التي تتضمن الإعلان لمعرفة آخر المعلومات عن الحالة. اطّلِع على مزيد من المعلومات عن خدمة Protected Audience Key/Value من خلال شرح واجهة برمجة التطبيقات وشرح نموذج الثقة.

للاختبار الأولي، يتم استخدام نموذج "إحضار الخادم الخاص بك". على المدى الطويل، ستحتاج تكنولوجيات الإعلان إلى استخدام خدمات "مفتاح/قيمة الجمهور المحمي" المفتوح المصدر التي تعمل في بيئات التنفيذ الموثوق بها لاسترداد البيانات في الوقت الفعلي.

لضمان توفُّر وقت كافٍ للمنظومة المتكاملة من أجل الاختبار، لا نتوقع أن نطلب استخدام خدمات إدارة مفاتيح التشفير أو TEEs ذات المصدر المفتوح إلا بعد فترة من إيقاف ملفات تعريف الارتباط التابعة لجهات خارجية نهائيًا. وسنرسل إشعارًا مهمًا للمطوّرين لبدء الاختبار والاستخدام قبل حدوث هذا الانتقال.

رصد مدى توفّر الميزة

قبل استخدام واجهة برمجة التطبيقات، تحقَّق مما إذا كان المتصفّح متوافقًا معها وكانت متاحة في المستند:

'joinAdInterestGroup' in navigator &&
  document.featurePolicy.allowsFeature('join-ad-interest-group') &&
  document.featurePolicy.allowsFeature('run-ad-auction') ?
  console.log('navigator.joinAdInterestGroup() is supported on this page') :
  console.log('navigator.joinAdInterestGroup() is not supported on this page');

كيف يمكنني إيقاف ميزة "الجمهور المحمي"؟

يمكنك حظر الوصول إلى Protected Audience API بصفتك مالك موقع إلكتروني أو مستخدمًا فرديًا.

كيف يمكن للمواقع الإلكترونية التحكّم في الوصول؟

ستتطلّب ميزة "شرائح الجمهور المحمي" في نهاية المطاف من المواقع الإلكترونية ضبط سياسة الأذونات للسماح بتوفير وظائف "شرائح الجمهور المحمي". سيساعد ذلك في ضمان عدم تمكّن جهات خارجية عشوائية من استخدام واجهة برمجة التطبيقات بدون علم الموقع الإلكتروني. ومع ذلك، لتسهيل الاختبار أثناء أول مرحلة تجريبية للإصدار العلني،يتم التنازل عن هذا الشرط تلقائيًا. يمكن للمواقع الإلكترونية التي تريد إيقاف وظائف ميزة "الجمهور المحمي" صراحةً خلال فترة الاختبار استخدام سياسة الأذونات ذات الصلة لحظر الوصول.

هناك سياستان لأذونات "شرائح الجمهور المحمي" يمكن ضبطهما بشكل مستقل:

  • join-ad-interest-group تفعّل/توقِف الوظيفة لإضافة متصفّح إلى مجموعات الاهتمامات
  • run-ad-auction تفعيل/إيقاف الوظيفة لتشغيل مزاد على الجهاز

يمكن إيقاف الوصول إلى واجهات برمجة التطبيقات Protected Audience API بالكامل في سياقات الطرف الأول من خلال تحديد سياسة التصاريح التالية في عنوان استجابة HTTP:

Permissions-Policy: join-ad-interest-group=(), run-ad-auction=()

يمكنك إيقاف استخدام واجهات برمجة التطبيقات في إطار iframe عن طريق إضافة السمة allow التالية إلى عنصر iframe:

<iframe src="https://example.com" allow="join-ad-interest-group 'none'; run-ad-auction 'none'"></iframe>

يقدّم القسم سياسة الأذونات المقترَحة لأول تجربة لميزة "الجمهور المحمي" المزيد من التفاصيل.

إيقاف المستخدم للميزة

يمكن للمستخدم حظر الوصول إلى Protected Audience API وميزات "مبادرة حماية الخصوصية" الأخرى باستخدام أي من الخطوات التالية:

  • إيقاف إصدارات "مبادرة حماية الخصوصية" التجريبية في إعدادات Chrome: الإعدادات > الأمان والخصوصية > مبادرة حماية الخصوصية يمكنك أيضًا الوصول إلى هذا الرابط على chrome://settings/adPrivacy.
  • إيقاف ملفات تعريف الارتباط التابعة لجهات خارجية في إعدادات Chrome: الإعدادات > الأمان والخصوصية
  • اضبط ملفات تعريف الارتباط وبيانات المواقع الإلكترونية الأخرى على "حظر ملفات تعريف الارتباط التابعة لجهات خارجية" أو "حظر جميع ملفات تعريف الارتباط" من chrome://settings/cookies.
  • استخدام "وضع التصفّح المتخفي"

تقدّم المقالة التوضيحية حول Protected Audience مزيدًا من التفاصيل حول عناصر تصميم واجهة برمجة التطبيقات وتوضّح كيفية سعي واجهة برمجة التطبيقات إلى تحقيق أهداف الخصوصية.

تصحيح أخطاء وحدات عمل Protected Audience

اعتبارًا من الإصدار 98.0.4718.0 من Chrome Canary، أصبح من الممكن تصحيح أخطاء وحدات عمل Protected Audience ضمن "أدوات مطوّري البرامج في Chrome".

الخطوة الأولى هي ضبط نقاط التوقف من خلال فئة جديدة في لوحة نقاط التوقف لمُستمعي الأحداث في لوحة المصادر.

لقطة شاشة لأدوات
   المطوّرين في Chrome Canary، مع تمييز لوحة &quot;النقاط الفاصلة لأداة معالجة الحدث&quot; في لوحة &quot;المصادر&quot;
   يتم اختيار &quot;بدء مرحلة عرض أسعار نظام عروض الأسعار&quot; ضمن &quot;وظيفة صغيرة لمزاد إعلانات&quot;.

عند بدء نقطة توقف، يتم إيقاف التنفيذ مؤقتًا قبل العبارة الأولى في أعلى مستوى من نص برمجي worklet. يمكنك استخدام نقاط التوقف العادية أو أوامر الخطوات للوصول إلى دالة عروض الأسعار/التقييم/إعداد التقارير نفسها.

ستظهر أيضًا نصوص "وحدات العمل" المباشرة ضمن لوحة "المحادثات".

لقطة شاشة لأدوات
مطوّري البرامج في Chrome Canary، مع تمييز لوحة &quot;العمليات&quot; في لوحة &quot;المصادر&quot;، والتي تعرض البرنامج النصي الحالي لوحدة معالجة المهام التي تم إيقافها مؤقتًا

بما أنّ بعض مهام Worklet قد تعمل بشكل موازٍ، قد تنتهي سلاسل مهام متعددة في الحالة "متوقفة مؤقتًا". يمكنك استخدام قائمة سلاسل المهام للتبديل بينها واستئنافها أو فحصها عن كثب عند الضرورة.

مراقبة أحداث Protected Audience

من لوحة "التطبيق" في "أدوات مطوّري البرامج في Chrome"، يمكنك مراقبة أحداث المجموعات باهتمامات مشتركة وأحد فعاليات المزاد في "شريحة الجمهور المحمية".

إذا زرت موقع التسوّق التجريبي لفئة الجمهور المحمي في متصفّح تم تفعيل ميزة "فئة الجمهور المحمي" فيه، ستعرض "أدوات المطوّر" معلومات عن الحدث join.


   لوحة تطبيق &quot;أدوات مطوّري البرامج في Chrome&quot; في Chrome Canary، تعرض معلومات عن حدث انضمام لمجموعة اهتمامات &quot;شرائح الجمهور المحمية&quot;

الآن، إذا زرت موقع الناشر التجريبي لفئة الجمهور المحمي في متصفّح تم تفعيل ميزة "فئة الجمهور المحمي" فيه، ستعرض "أدوات المطوّر" معلومات عن حدثَي bid وwin.


   لوحة &quot;تطبيق أدوات المطوّرين&quot; في Chrome Canary، تعرض معلومات عن عروض أسعار مزاد &quot;شريحة الجمهور المحمية&quot; و
   أحداث الفوز

كيف تعمل Protected Audience API؟

في هذا المثال، يتصفّح أحد المستخدِمين الموقع الإلكتروني لصانع درّاجات مخصّصة، ثم يزور لاحقًا موقعًا إلكترونيًا إخباريًا ويظهر له إعلان لدرّاجة جديدة من صانع الدراجات.

1. يزور أحد المستخدِمين موقعًا إلكترونيًا للمعلِن.

رسم توضيحي يعرض
  شخصًا يزور موقع إلكتروني لمصنع درّاجات مخصّصة في متصفّح على جهاز الكمبيوتر المحمول

لنفترض أنّ أحد المستخدِمين يزور الموقع الإلكتروني لصانع درّاجات مخصّصة (المعلِن في هذا المثال) ويقضي بعض الوقت في صفحة المنتج لدراجة فولاذية مصنوعة يدويًا. يمنح ذلك صانع الدراجات فرصة لتجديد النشاط التسويقي.

2. يُطلب من متصفّح المستخدِم إضافة مجموعة اهتمامات.

صورة توضيحية لشخص يشاهد موقعًا إلكترونيًا في متصفّح على جهاز الكمبيوتر المحمول يتم تشغيل رمز JavaScript
  joinAdInterestGroup()‎ في المتصفّح.

قسم الشرح: تسجيل المتصفّحات لمجموعات الاهتمامات

تتصل منصّة المعلِن للطرف المشترِك (DSP) (أو المعلن نفسه) بخدمة navigator.joinAdInterestGroup() لطلب إضافة مجموعة اهتمامات إلى قائمة المجموعات التي ينتمي إليها المتصفّح. في هذا المثال، اسم المجموعة هو custom-bikes، ومالكها هو dsp.example. سيكون مالك مجموعة الاهتمامات (في هذه الحالة، منصّة إدارة الأداء) هو المشتري في مزاد الإعلانات الموضّح في الخطوة 4. يخزِّن المتصفّح عضوية مجموعة الاهتمامات على جهاز المستخدم، ولا تتم مشاركتها مع مورّد المتصفّح أو أي شخص آخر.

يتطلب تطبيق joinAdInterestGroup() الحصول على إذن من:

  • الموقع الإلكتروني الذي تتم زيارته
  • مالك مجموعة الاهتمامات المشتركة

على سبيل المثال، يجب ألا يكون بإمكان malicious.example الاتصال joinAdInterestGroup() مع dsp.example بصفتها مالكًا بدون إذن dsp.example.

إذن من الموقع الإلكتروني الذي تتم زيارته

المصدر نفسه: يتم تلقائيًا منح الإذن بشكل ضمني لإجراء طلبات joinAdInterestGroup() من المصدر نفسه للموقع الإلكتروني الذي تتم زيارته، أي من المصدر نفسه لإطار المستوى الأعلى من الصفحة الحالية. يمكن للمواقع الإلكترونية استخدام عنوان سياسة الأذونات join-ad-interest-group لشرائح الجمهور المحمية من أجل إيقاف طلبات joinAdInterestGroup().

من مصادر مختلفة: لا يمكن استدعاء joinAdInterestGroup() من مصادر مختلفة عن الصفحة الحالية إلا إذا ضبط الموقع الإلكتروني الذي تتم زيارته سياسة أذونات تسمح بالمكالمات إلى joinAdInterestGroup() من إطارات iframe من مصادر مختلفة.

إذن من مالك مجموعة الاهتمامات

يتم منح إذن مالك مجموعة الاهتمامات بشكل ضمني من خلال استدعاء joinAdInterestGroup() من إطار iframe يحتوي على المصدر نفسه لمالك مجموعة الاهتمامات. على سبيل المثال، يمكن أن يطلب dsp.example إطار iframe من joinAdInterestGroup() مجموعات الاهتمامات التي يملكها dsp.example.

يُقترح أن يتم تشغيل joinAdInterestGroup() في صفحة أو إطار iframe في نطاق المالك، أو أن يتم تفويضه لنطاقات أخرى يتم توفيرها باستخدام قائمة في عنوان URL لـ .well-known.

استخدام navigator.joinAdInterestGroup()

في ما يلي مثال على كيفية استخدام واجهة برمجة التطبيقات:

const interestGroup = {
  owner: 'https://dsp.example',
  name: 'custom-bikes',
  biddingLogicUrl: ...,
  biddingWasmHelperUrl: ...,
  dailyUpdateUrl: ...,
  trustedBiddingSignalsUrl: ...,
  trustedBiddingSignalsKeys: ['key1', 'key2'],
  userBiddingSignals: {...},
  ads: [bikeAd1, bikeAd2, bikeAd3],
  adComponents: [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2],
};

navigator.joinAdInterestGroup(interestGroup, 7 * kSecsPerDay);

يجب ألا يزيد حجم عنصر interestGroup الذي يتم تمريره إلى الدالة عن 50 كيلوبايت، وإلا سيتعذّر إجراء المكالمة. تحدِّد المَعلمة الثانية مدة مجموعة الاهتمامات، والتي لا تتجاوز 30 يومًا. تستبدل المكالمات المتعاقبة القيم المخزّنة سابقًا.

سمات المجموعات ذات الاهتمامات المشتركة

الموقع مطلوب مثال الدور
owner مطلوب 'https://dsp.example' مصدر مالك مجموعة الاهتمامات
name مطلوب 'custom-bikes' اسم مجموعة الاهتمامات
biddingLogicUrl** اختياري* 'https://dsp.example/bid/custom-bikes/bid.js' عنوان URL لرمز JavaScript المخصّص لتقديم عروض الأسعار والذي يتم تشغيله في "وحدة العمل"
biddingWasmHelperUrl** اختياري* 'https://dsp.example/bid/custom-bikes/bid.wasm' عنوان URL لرمز WebAssembly الذي يتم تشغيله من biddingLogicUrl
dailyUpdateUrl** اختياري 'https://dsp.example/bid/custom-bikes/update' عنوان URL الذي يعرض تنسيق JSON لتعديل سمات مجموعات الاهتمامات (اطّلِع على تعديل مجموعة الاهتمامات).
trustedBiddingSignalsUrl** اختياري 'https://dsp.example/trusted/bidding-signals' عنوان URL الأساسي لطلبات مفتاح القيمة المرسَلة إلى خادم موثوق به للمقدّم.
trustedBiddingSignalsKeys اختياري ['key1', 'key2' ...] مفاتيح الطلبات المرسَلة إلى الخادم الموثوق به لنظام "المفتاح/القيمة"
userBiddingSignals اختياري {...} بيانات وصفية إضافية يمكن للمالك استخدامها أثناء تقديم عروض الأسعار
ads اختياري* [bikeAd1, bikeAd2, bikeAd3] الإعلانات التي قد يتم عرضها لهذه المجموعة حسب الاهتمامات
adComponents اختياري [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2] عناصر للإعلانات المكوّنة من عدة أجزاء

* جميع السمات اختيارية باستثناء owner وname. السمتَان biddingLogicUrl وads اختياريتان، ولكنهما مطلوبتان للمشاركة في مزاد. قد تكون هناك حالات استخدام لمحاولة إنشاء مجموعة اهتمامات بدون هذه المواقع: على سبيل المثال، قد يريد صاحب مجموعة الاهتمامات إضافة متصفّح إلى مجموعة اهتمامات لحملة لم يتم عرضها بعد، أو لبعض الاستخدامات المستقبلية الأخرى، أو قد يكون قد نفدت ميزانيته الإعلانية مؤقتًا.

** يجب أن يكون مصدر عناوين URL biddingLogicUrl وbiddingWasmHelperUrl وdailyUpdateUrl وtrustedBiddingSignalsUrl هو نفسه مصدر عنوان URL الخاص بالمالك. لا ينطبق هذا القيد على عنوانَي URL ads وadComponents.

تعديل سمات مجموعات الاهتمامات

dailyUpdateUrl تحدِّد خادم ويب يعرض ملف JSON يحدّد سمات مجموعة الاهتمامات، المتوافقة مع عنصر مجموعة الاهتمامات الذي تم تمريره إلى navigator.joinAdInterestGroup(). يقدّم ذلك آلية لمالك المجموعة من أجل تعديل سمات مجموعة الاهتمامات بشكل دوري. في التنفيذ الحالي، يمكن تغيير السمات التالية:

  • biddingLogicUrl
  • biddingWasmHelperUrl
  • trustedBiddingSignalsUrl
  • trustedBiddingSignalsKeys
  • ads
  • priority

لن يتم استبدال أي حقل غير محدّد في ملف JSON، بل يتم تعديل الحقول المحدّدة فقط في ملف JSON، في حين يؤدي استدعاء navigator.joinAdInterestGroup() إلى استبدال أي مجموعة اهتمامات حالية.

نبذل قصارى جهدنا لتقديم التحديثات، ولكن قد يتعذّر إجراؤها في الحالات التالية:

  • مهلة طلب الشبكة (30 ثانية حاليًا)
  • تعذُّر الاتصال بالشبكة لسبب آخر
  • تعذّر تحليل ملف JSON.

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

تحديثات يدوية

يمكن إجراء تعديلات على مجموعات الاهتمامات التي يملكها مصدر الإطار الحالي يدويًا من خلال navigator.updateAdInterestGroups(). يمنع الحدّ من معدّل إرسال الطلبات حدوث التحديثات بشكلٍ متكرّر جدًا: لا تؤدّي طلبات البحث المتكرّرة إلى إجراء أيّ شيء إلى أن تنتهي مدّة الحدّ من معدّل إرسال الطلبات (يوم واحد حاليًا).navigator.updateAdInterestGroups() تتم إعادة ضبط الحد الأقصى لسعر الصرف إذا تم استدعاء navigator.joinAdInterestGroup() مرة أخرى لمجموعة الاهتمامات نفسها owner وname.

التحديثات التلقائية

يتم تعديل جميع مجموعات الاهتمامات التي تم تحميلها لمزاد تلقائيًا بعد اكتمال المزاد، ويسري عليها حدود معدّلات العرض نفسها التي تنطبق على التعديلات اليدوية. بالنسبة إلى كل مالك لديه مجموعة اهتمامات واحدة على الأقل تشارك في مزاد، يبدو الأمر كما لو تمّ استدعاء navigator.updateAdInterestGroups() من ملف متداخل إطار مصدره يتطابق مع هذا المالك.

تحديد الإعلانات لمجموعة اهتمامات

يتضمّن عنصرَا ads وadComponents عنوان URL لتصميم إعلان وبيانات وصفية произвольнة اختيارية يمكن استخدامها في وقت تقديم عروض الأسعار. على سبيل المثال:

{
  renderUrl: 'https://cdn.example/.../bikeAd1.html',
  metadata: bikeAd1metadata // optional
}

كيف يقدّم المشترون عروض أسعار؟

يجب أن يتضمّن النص البرمجي في biddingLogicUrl الذي يوفّره مالك مجموعة الاهتمامات دالة generateBid(). عندما يُطلِق أحد بائعي المساحات الإعلانية navigator.runAdAuction()، يتم استدعاء الدالة generatedBid() مرة واحدة لكل مجموعة اهتمامات يكون المتصفّح عضوًا فيها، إذا تم دعوة مالك مجموعة الاهتمامات لتقديم عروض أسعار. بعبارة أخرى، يتمّ استدعاء generateBid() مرّة واحدة لكلّ ملف شخصي generateBid() إعلاني. يقدّم البائع خاصية decisionLogicUrl في مَعلمة إعدادات المزاد التي تم تمريرها إلى navigator.runAdAuction(). يجب أن يتضمّن الرمز البرمجي في عنوان URL هذا دالة scoreAd() التي يتم تنفيذها لكل مقدّم عروض أسعار في المزاد، وذلك لتقييم كل عروض الأسعار التي تعرضها generateBid().

يجب أن يتضمّن النص البرمجي في biddingLogicUrl الذي يوفّره أحد مشتري المساحات الإعلانية دالة generateBid(). يتمّ استدعاء هذه الدالة مرّة واحدة لكلّ إعلان مُرشّح. يفحص runAdAuction() كل إعلان بشكلٍ فردي، بالإضافة إلى عرض السعر والبيانات الوصفية المرتبطة به، ثم يمنح الإعلان درجة مرغوبية رقمية.

generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  ...
  return {
    ad: adObject,
    bid: bidValue,
    render: renderUrl,
    adComponents: [adComponentRenderUrl1, ...]
   };
}

تأخذ الدالة generateBid() الوسيطات التالية:

  • interestGroup
    الكائن الذي تم تمريره إلى joinAdInterestGroup() من قِبل مشتري الإعلانات (يمكن تعديل مجموعة الاهتمامات من خلال dailyUpdateUrl.)

  • auctionSignals
    خاصية لوسيطة إعدادات المزاد يتم تمريرها إلى navigator.runAdAuction() من قِبل بائع المساحة الإعلانية. يوفّر ذلك معلومات عن سياق الصفحة (مثل حجم الإعلان ورقم تعريف الناشر) ونوع المزاد (السعر الأول أو السعر الثاني) وغيرها من البيانات الوصفية.

  • perBuyerSignals
    كما هو الحال مع auctionSignals، هي سمة من سمات الوسيطة إعدادات المزاد التي ينقلها البائع إلى navigator.runAdAuction(). ويمكن أن يوفّر ذلك إشارات سياقية من خادم المشتري عن الصفحة، إذا كان البائع هو SSP التي تُجري طلبًا لعروض الأسعار في الوقت الفعلي إلى خوادم المشتري وتعيد توجيه الاستجابة، أو إذا كانت صفحة الناشر تتواصل مع خادم المشتري مباشرةً. إذا كان الأمر كذلك، قد يريد المشتري التحقّق من توقيع cryptographic لهذه الإشارات داخل generateBid() كحماية من التلاعب.

  • trustedBiddingSignals
    كائن مفاتيحه هي trustedBiddingSignalsKeys لgroep الاهتمام، ويتم عرض قيمه في طلب trustedBiddingSignals.

  • browserSignals
    عنصر ينشئه المتصفّح، وقد يتضمّن معلومات عن سياق الصفحة (مثل hostname للصفحة الحالية، والتي يمكن للبائع تزويرها) وبيانات للمجموعة حسب الاهتمامات نفسها (مثل سجلّ يشير إلى المرّات السابقة التي فازت فيها المجموعة بمزاد، للسماح بوضع حدّ أقصى لعدد مرّات الظهور على الجهاز).

يتضمّن عنصر browserSignals السمات التالية:

{
  topWindowHostname: 'publisher.example',
  seller: 'https://ssp.example',
  joinCount: 3,
  bidCount: 17,
  prevWins: [[time1,ad1],[time2,ad2],...],
  wasmHelper: ... /* WebAssembly.Module object based on interest group's biddingWasmHelperUrl. */
  dataVersion: 1, /* Data-Version value from the buyer's Key/Value service response(s). */
}

لاحتساب قيمة bid، يمكن أن يستخدم الرمز البرمجي في generateBid() خصائص مَعلمات الدالة. على سبيل المثال:

function generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  return {
    ...
    bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
    ...
  }
}

تعرِض generateBid() عنصرًا يتضمّن أربع سمات:

  • ad
    بيانات وصفية عشوائية عن الإعلان، مثل المعلومات التي يتوقّع البائع معرفتها عن عرض السعر أو تصميم الإعلان يستخدم البائع](/resources/glossary#ssp) هذه المعلومات في مزاد الإعلانات وقراره بشأن تصميم الإعلان. يستخدم البائع هذه المعلومات في مزاد وLOGIسم اتخاذ القرار.

  • bid
    عرض سعر رقمي سيتم إدخاله في المزاد. يجب أن يكون البائع قادرًا على مقارنة عروض أسعار المشترين المختلفين، لذلك يجب أن تكون عروض الأسعار بوحدة يختارها البائع (مثل "دولار أمريكي لكل ألف"). إذا كان عرض السعر صفرًا أو سالبًا، لن تشارك مجموعة الاهتمامات هذه في مزاد البائع على الإطلاق. باستخدام هذه الآلية، يمكن للمشتري تنفيذ أي قواعد للمعلِنين بشأن الأماكن التي يمكن أن تظهر فيها إعلاناتهم أو لا تظهر.

  • render
    عنوان URL أو قائمة عناوين URL التي سيتم استخدامها لعرض تصميم الإعلان إذا فاز عرض الأسعار هذا بالمزاد. (اطّلِع على الإعلانات المكوّنة من عدة أجزاء في الشرح المفصّل لواجهة برمجة التطبيقات). يجب أن تتطابق القيمة مع renderUrl لأحد الإعلانات المحدّدة لمجموعة الاهتمامات.

  • adComponents
    قائمة اختيارية تضمّ ما يصل إلى 20 مكوّنًا لالإعلانات المؤلفة من عدة أجزاء، مأخوذة من سمة adComponents لوسيطة مجموعة الاهتمامات المُرسَلة إلى navigator.joinAdInterestGroup().

طلب مغادرة مجموعة اهتمامات من المتصفّح

يمكن لمالك مجموعة الاهتمامات طلب إزالة متصفّح من مجموعة اهتمامات. بعبارة أخرى، يُطلب من المتصفّح إزالة مجموعة الاهتمامات من قائمة المجموعات التي ينتمي إليها.

navigator.leaveAdInterestGroup({
  owner: 'https://dsp.example',
  name: 'custom-bikes'
});

إذا عاد المستخدِم إلى الموقع الإلكتروني الذي طلب من المتصفّح إضافة مجموعة اهتمامات، يمكن لمالك مجموعة الاهتمامات استدعاء الدالة navigator.leaveAdInterestGroup() لطلب إزالة مجموعة الاهتمامات من المتصفّح. يمكن أيضًا لرمز الإعلان استدعاء هذه الدالة لمجموعة الاهتمامات.

3- يزور المستخدِم موقعًا إلكترونيًا يبيع مساحة إعلانية.

صورة توضيحية تعرض شخصًا يزور موقعًا إلكترونيًا إخباريًا في متصفّح على الكمبيوتر المحمول يحتوي الموقع الإلكتروني
  على خانة إعلان فارغة.

بعد ذلك، يزور المستخدم موقعًا إلكترونيًا يبيع مساحة إعلانية، وفي هذا المثال، موقع إلكتروني إخباري. يحتوي الموقع الإلكتروني على مستودع إعلاني، يبيعه آليًا باستخدام عروض الأسعار في الوقت الفعلي.

4. يتمّ إجراء مزاد إعلانات في المتصفّح

صورة توضيحية لشخص يشاهد موقعًا إلكترونيًا إخباريًا في متصفّح على الكمبيوتر المحمول يتمّ إجراء مزاد إعلاني باستخدام Protected Audience API.

قسم الشرح: يُجري البائعون مزادات على الأجهزة

من المرجّح أن يدير SSP (SSP) التابع للناشر مزاد الإعلانات، أو الناشر نفسه. الغرض من المزاد هو اختيار الإعلان الأنسب لموضع إعلان واحد متاح على الصفحة الحالية. يأخذ المزاد في الاعتبار مجموعات الاهتمامات التي ينتمي إليها المتصفّح، بالإضافة إلى البيانات الواردة من مشتري المساحات الإعلانية والبائعين من خدمات المفاتيح/القيم.

يقدّم بائع المساحة الإعلانية طلبًا إلى متصفّح المستخدم لبدء مزاد إعلاني من خلال الاتصال بـ navigator.runAdAuction().

على سبيل المثال:

const auctionConfig = {
  seller: 'https://ssp.example',
  decisionLogicUrl: ...,
  trustedScoringSignalsUrl: ...,
  interestGroupBuyers: ['https://dsp.example', 'https://buyer2.example', ...],
  auctionSignals: {...},
  sellerSignals: {...},
  sellerTimeout: 100,
  perBuyerSignals: {
    'https://dsp.example': {...},
    'https://another-buyer.example': {...},
    ...
  },
  perBuyerTimeouts: {
    'https://dsp.example': 50,
    'https://another-buyer.example': 200,
    '*': 150,
    ...
  },
  componentAuctions: [
    {
      'seller': 'https://some-other-ssp.example',
      'decisionLogicUrl': ...,
      ...
    },
    ...
  ]
};

const auctionResultPromise = navigator.runAdAuction(auctionConfig);

تعرِض runAdAuction() وعدًا يتمّ حلّه إلى URN (urn:uuid:<something>) الذي يمثّل نتيجة مزاد الإعلانات. لا يمكن للمتصفّح فك ترميز هذا المحتوى إلا عند تمريره إلى إطار محدود لعرضه: لا يمكن لصفحة الناشر فحص الإعلان الفائز.

يعالج نص decisionLogicUrl كل إعلان فردي، بالإضافة إلى عرض السعر المرتبط به و البيانات الوصفية، كلّ على حدة، ثم يحدّد له نتيجة رقمية للرغبة.

auctionConfig مكانًا للإقامة

الموقع مطلوب مثال الدور
seller مطلوب 'https://ssp.example' مكان إقامة البائع
decisionLogicUrl مطلوب 'https://ssp.example/auction-decision-logic.js' عنوان URL لرمز JavaScript الخاص بوظيفة المزاد الصغيرة
trustedScoringSignalsUrl اختياري 'https://ssp.example/scoring-signals' عنوان URL لخادم البائع الموثوق به
interestGroupBuyers* مطلوب ['https://dsp.example', 'https://buyer2.example', ...] مصادر جميع مالكي المجموعات ذات الاهتمامات المشتركة الذين يُطلب منهم تقديم عروض أسعار في المزاد
auctionSignals اختياري {...} معلومات البائع حول سياق الصفحة ونوع المزاد وما إلى ذلك
sellerSignals اختياري {...} المعلومات المستندة إلى إعدادات الناشر، وتقديم طلب إعلان سياقي، وما إلى ذلك
sellerTimeout اختياري 100 الحد الأقصى لوقت تشغيل نص scoreAd() الخاص بالبائع (بالملي ثانية)
perBuyerSignals اختياري {'https://dsp.example': {...},
  'https://another-buyer.example': {...},
...}
إشارات سياقية عن الصفحة لكلّ مشترٍ محدّد، من خادمه
perBuyerTimeouts اختياري 50 الحد الأقصى لوقت التشغيل (بالملي ثانية) لنصوص generateBid() معيّنة للمشتري
componentAuctions اختياري [{'seller': 'https://www.some-other-ssp.com',
  'decisionLogicUrl': ..., ...},
  ...]
إعدادات إضافية لمزادات المكوّنات

* يمكن للبائع تحديد interestGroupBuyers: '*' للسماح لجميع مجموعات الاهتمامات بتقديم عروض أسعار. وبعد ذلك، يتم قبول الإعلانات أو رفضها استنادًا إلى معايير أخرى غير تضمين مالك مجموعة الاهتمامات. على سبيل المثال، يمكن للبائع مراجعة المواد الإبداعية للإعلانات للتأكّد من امتثالها لسياساته.

** لا تتوفّر additionalBids في التنفيذ الحالي لميزة "شريحة الجمهور المحمية". اطّلِع على قسم المشاركون في المزاد في القسم المخصص لشرح ميزة "الجمهور المحمي" للحصول على مزيد من المعلومات.

كيف يتم اختيار الإعلانات؟

يجب أن يتضمّن الرمز في decisionLogicUrl (وهي سمة لكائن إعدادات المزاد تم تمريرها إلى runAdAuction()) دالة scoreAd(). ويتمّ تنفيذ ذلك مرّة واحدة لكلّ إعلان لتحديد مدى مرغوبيته.

scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals, browserSignals) {
  ...
  return desirabilityScoreForThisAd;
}

تأخذ الدالة scoreAd() الوسيطات التالية:

  • adMetadata
    بيانات وصفية عشوائية يوفّرها المشتري
  • bid
    قيمة عرض السعر الرقمية.
  • auctionConfig
    تم تمرير عنصر إعدادات المزاد إلى navigator.runAdAuction().
  • trustedScoringSignals
    القيم التي يتم استرجاعها في وقت المزاد من خادم البائع الموثوق به، وتمثل رأي البائع في الإعلان.
  • browserSignals
    عنصر أنشأه المتصفّح، بما في ذلك المعلومات التي يعرفها المتصفّح ويريد النص البرمجي للمزاد الذي يتبعه البائع التحقّق منها:
{
  topWindowHostname: 'publisher.example',
  interestGroupOwner: 'https://dsp.example',
  renderUrl: 'https://cdn.example/render',
  adComponents: ['https://cdn.com/ad-component-1', ...],
  biddingDurationMsec: 12,
  dataVersion: 1 /* Data-Version value from the seller's Key/Value service response. */
}

قبل بدء المزاد، يبحث البائع عن أفضل إعلان سياقي للمساحة الإعلانية المتاحة. يقضي جزء من منطق scoreAd() برفض أي إعلان لا يمكنه التفوق على الإعلان الفائز على مستوى السياق.

5- يتلقّى البائع والمشترون المشاركون بيانات في الوقت الفعلي من خدمة "المفتاح/القيمة".

صورة توضيحية لشخص يشاهد موقعًا إلكترونيًا إخباريًا في متصفّح على الكمبيوتر المحمول يتمّ إجراء مزاد إعلاني باستخدام Protected Audience API، حيث يحصل أحد المشاركين على بيانات من خدمة Key/Value.

قسم الشرح: جلب البيانات في الوقت الفعلي من خدمة "مفتاح/قيمة الجمهور المحمي"

خلال مزاد إعلاني، يمكن لبائع المساحة الإعلانية الحصول على بيانات في الوقت الفعلي عن تصميمات إعلانات محدّدة من خلال تقديم طلب إلى خدمة مفتاح/قيمة باستخدام السمة trustedScoringSignalsUrl للوسيطة إعدادات المزاد التي تم تمريرها إلى navigator.runAdAuction()، بالإضافة إلى المفاتيح من سمات renderUrl لجميع الإدخالات في الحقلَين ads وadComponents لجميع مجموعات الاهتمامات في المزاد.

وبالمثل، يمكن لمشتري المساحة الإعلانية طلب بيانات في الوقت الفعلي من خدمة "المفتاح/القيمة" باستخدام سمتَي trustedBiddingSignalsUrl وtrustedBiddingSignalsKeys لوسيطة مجموعة الاهتمامات التي تم تمريرها إلى navigator.joinAdInterestGroup().

عند استدعاء runAdAuction()، يقدّم المتصفّح طلبًا إلى الخادم الموثوق به لكلّ مشتري إعلانات. قد يبدو عنوان URL للطلب على النحو التالي:

https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
  • مصدر عنوان URL الأساسي هو trustedBiddingSignalsUrl.
  • يقدّم المتصفّح hostname.
  • يتم الحصول على قيمة keys من trustedBiddingSignalsKeys.

الاستجابة لهذا الطلب هي عنصر JSON يقدّم قيمًا لكل مفتاح.

6- يتم عرض الإعلان الفائز

صورة توضيحية لشخص يشاهد موقعًا إلكترونيًا إخباريًا في متصفّح على الكمبيوتر المحمول يتم عرض إعلان
  لدرّاجة (بخصم% 20) مع قفل أعلاه يشير إلى أنّ الإعلان معروض في
  إطار مسيّج.

قسم الشرح: عرض المتصفّحات للإعلان الفائز

كما هو موضّح سابقًا، يحلّ الوعد الذي يعرضه runAdAuction() URN الذي يتم تمريره إلى إطار محدود للعرض، ويعرض الموقع الإلكتروني الإعلان الفائز.

7- يتم الإبلاغ عن نتيجة المزاد

قسم الشرح: إعداد التقارير على مستوى الحدث (في الوقت الحالي)

نتيجة تقارير البائعين

قسم الشرح: إعداد تقارير البائعين في Render

يمكن أن يتضمّن رمز JavaScript الخاص بالبائع المقدَّم في decisionLogicUrl (الذي قدّم أيضًا scoreAd()) دالة reportResult() للإبلاغ عن نتيجة المزاد.

reportResult(auctionConfig, browserSignals) {
  ...
  return signalsForWinner;
}

الوسائط التي يتم تمريرها إلى هذه الدالة هي:

  • auctionConfig
    تم تمرير عنصر إعدادات المزاد إلى navigator.runAdAuction().

  • browserSignals
    عنصر أنشأه المتصفّح يقدّم معلومات عن المزاد. على سبيل المثال:

    {
      'topWindowHostname': 'publisher.example',
      'interestGroupOwner': 'https://dsp.example',
      'renderUrl': 'https://cdn.example/url-of-winning-creative.wbn',
      'bid:' <bidValue>,
      'desirability': <winningAdScore>
    }
    

تُستخدَم القيمة المعروضة من هذه الدالة كوسيطة sellerSignals لدالة reportWin() المرسِل الفائز.

نتيجة تقارير مقدّم عروض الأسعار الفائز

قسم الشرح: تقارير المشترين عن أحداث العرض والإعلان

يمكن أن تتضمّن JavaScript الخاصة بالمزايد الفائز (التي قدّمت أيضًا generateBid()) دالة reportWin() للإبلاغ عن نتيجة المزاد.

reportWin(auctionSignals, perBuyerSignals, sellerSignals, browserSignals) {
  ...
}

الوسائط التي يتم تمريرها إلى هذه الدالة هي:

  • auctionSignals وperBuyerSignals
    تمّت إضافة القيم نفسها إلى generateBid() لمقدّم العرض الفائز.
  • sellerSignals
    قيمة الإرجاع reportResult()، التي تمنح البائع فرصة لنقل المعلومات إلى المشتري.
  • browserSignals
    عنصر أنشأه المتصفّح يقدّم معلومات عن المزاد. على سبيل المثال:

    {
      'topWindowHostname': 'publisher.example',
      'seller': 'https://ssp.example',
      'interestGroupOwner': 'https://dsp.example',
      'interestGroupName': 'custom-bikes',
      'renderUrl': 'https://cdn.example/winning-creative.wbn',
      'bid:' <bidValue>
    }
    

تنفيذ ميزة إعداد تقارير الخسارة/الأرباح المؤقتة

تتوفّر طريقتان مؤقتًا في Chrome لإعداد تقارير المزادات:

  • forDebuggingOnly.reportAdAuctionLoss()
  • forDebuggingOnly.reportAdAuctionWin()

تأخذ كلّ من هذه الطرق مَعلمة واحدة: عنوان URL المطلوب استرجاعه بعد اكتمال المزاد. ويمكن استدعاؤها عدة مرات، في كلّ من scoreAd() وgenerateBid()، باستخدام وسيطات عناوين URL مختلفة.

لا يُرسِل Chrome تقارير تصحيح الأخطاء المتعلّقة بحالات الفوز أو الخسارة إلا عند اكتمال مزاد. في حال تم إلغاء مزاد (على سبيل المثال، بسبب تنقّل جديد)، لن يتم إنشاء أي تقارير.

تتوفّر هذه الطرق تلقائيًا في Chrome. لتتمكّن من اختبار الطرق، عليك تفعيل جميع واجهات برمجة التطبيقات المتعلّقة بالخصوصية في عرض الإعلانات ضمن chrome://settings/adPrivacy. إذا كنت تستخدم Chrome مع علامات سطر الأوامر لتفعيل ميزة "الجمهور المحمي"، عليك تفعيل الطرق صراحةً من خلال تضمين العلامة BiddingAndScoringDebugReportingAPI. في حال عدم تفعيل العلامة ، ستظل الطرق متاحة ولكن لن يتم تنفيذ أي إجراء.

8. الإبلاغ عن نقرة على إعلان

صورة توضيحية تعرض
  شخصًا ينقر على إعلان لدراجة داخل إطار محدود على موقع إلكتروني إخباري، مع إرسال بيانات
  التقرير إلى البائع والمشترين

يتم تسجيل النقرة على إعلان معروض في إطار محدود. للاطّلاع على مزيد من المعلومات حول آلية عمل ذلك، راجِع مقالة إعداد تقارير الإعلانات في الإطارات المحدود.



يوضّح الرسم البياني أدناه كل مرحلة من مراحل مزاد الإعلانات في "الجمهور المحمي":

صورة توضيحية تقدّم نظرة عامة على كل مرحلة من مراحل مزاد الإعلانات في &quot;الجمهور المحمي&quot;


ما الفرق بين Protected Audience وTURTLEDOVE؟

"شريحة الجمهور المحمية" هي التجربة الأولى التي سيتم تنفيذها في Chromium ضمن مجموعة اقتراحات TURTLEDOVE.

تلتزم ميزة "الجمهور المحمي" بالمبادئ العالية المستوى لبروتوكول TURTLEDOVE. تستند بعض الإعلانات على الإنترنت إلى عرض إعلان لشخص مهتم على الأرجح بالإعلان وسبق له التفاعل مع المعلِن أو شبكة الإعلانات. في السابق، كان المعلِن يتعرّف على شخص معيّن أثناء تصفّحه للمواقع الإلكترونية، ما يشكّل مصدر قلق أساسيًا للخصوصية على الويب اليوم.

تتمثل جهود TURTLEDOVE في توفير واجهة برمجة تطبيقات جديدة لمعالجة حالة الاستخدام هذه مع تقديم بعض التحسينات الرئيسية على الخصوصية:

  • يحتفظ المتصفّح، وليس المعلِن، بالمعلومات حول ما يعتقد المعلِن أنّه يهمّ المستخدم.
  • يمكن للمعلِنين عرض الإعلانات استنادًا إلى اهتمام معيّن، ولكن لا يمكنهم دمج هذا الاهتمام مع معلومات أخرى عن المستخدِم، وعلى وجه الخصوص، هويته أو الصفحة التي يزورها.

نشأت Protected Audience من TURTLEDOVE ومجموعة من الاقتراحات ذات الصلة بإجراء تعديلات لتقديم خدمة أفضل للمطوّرين الذين سيستخدمون واجهة برمجة التطبيقات:

  • في SPARROW: اقترحت Criteo إضافة نموذج خدمة ("حارس البوابة") يعمل في بيئة تنفيذ موثوق بها (TEE). يتضمّن "الجمهور المحمي" استخدامًا أكثر محدودية لوحدات TEE، وذلك للبحث عن البيانات في الوقت الفعلي وإعداد التقارير المجمّعة.
  • وصفت اقتراحات TERN من NextRoll وPARRROT من Magnite الأدوار المختلفة للمشترين والبائعين في مزاد الجهاز فقط. تستند عملية تقديم عروض الأسعار/التقييم للإعلانات في ميزة "الجمهور المحمي" إلى هذا العمل.
  • تحسينات TURTLEDOVE الاستناد إلى النتائج وعلى مستوى المنتج من RTB House: تحسين نموذج إخفاء الهوية وإمكانات التخصيص في مزاد الإعلانات على الجهاز
  • PARAKEET هو اقتراح Microsoft لخدمة إعلانية مشابهة لـ TURTLEDOVE تعتمد على خادم وكيل يعمل في بيئة آمنة للبرامج الطرفية بين المتصفح ومقدّمي تكنولوجيا الإعلان، وذلك لإخفاء هوية طلبات الإعلانات وفرض خصائص الخصوصية. لم تتبنّى ميزة "الجمهور المحمي" نموذج الوكيل هذا. نحن بصدد مواءمة واجهات برمجة التطبيقات JavaScript لبرنامج PARAKEET وProtected Audience، وذلك لدعم العمل المستقبلي على دمج أفضل ميزات كلا الاقتراحَين.

لا تمنع ميزة "الجمهور المحمي" شبكة الإعلانات لموقع إلكتروني من معرفة الإعلانات التي يراها المستخدم. نتوقّع تعديل واجهة برمجة التطبيقات لتوفير خصوصية أكبر بمرور الوقت.

ما هي إعدادات المتصفّح المتاحة؟

يمكن للمستخدمين تعديل مشاركتهم في تجارب "مبادرة حماية الخصوصية" في Chrome من خلال تفعيل أو إيقاف الإعدادات ذات المستوى الأعلى في chrome://settings/adPrivacy. خلال الاختبار الأولي، سيتمكّن المستخدمون من استخدام هذا الإعداد رفيع المستوى في "مبادرة حماية الخصوصية" لإيقاف ميزة "الجمهور المحمي". يخطّط Chrome للسماح للمستخدمين بالاطّلاع على قائمة المجموعات ذات الاهتمامات المشتركة التي تمّت إضافتهم إليها على مستوى المواقع الإلكترونية التي زاروها وإدارتها. كما هو الحال مع تقنيات "مبادرة حماية الخصوصية" نفسها، قد تتطور إعدادات المستخدمين مع الملاحظات الواردة من المستخدمين والمنظمين وغيرهم.

سنواصل تعديل الإعدادات المتاحة في Chrome مع تقدّم اقتراح Protected Audience، استنادًا إلى الاختبارات والملاحظات. ونخطّط في المستقبل لتوفير إعدادات أكثر دقة لإدارة ميزة "الجمهور المحمي" والبيانات المرتبطة بها.

لا يمكن لمُطلِبي البيانات من واجهة برمجة التطبيقات الوصول إلى عضوية المجموعة عندما يتصفّح المستخدمون الويب في وضع التصفّح المتخفي، ويتم إزالة العضوية عند محو المستخدمين لبيانات مواقعهم الإلكترونية.



التفاعل مع الملاحظات ومشاركتها

الحصول على الدعم

لطرح سؤال حول التنفيذ أو العرض التجريبي أو المستندات:

بالنسبة إلى الأخطاء والمشاكل المتعلّقة بتنفيذ Protected Audience API في Chrome: * يمكنك الاطّلاع على المشاكل الحالية التي تم الإبلاغ عنها في واجهة برمجة التطبيقات. * يمكنك الإبلاغ عن مشكلة جديدة على crbug.com/new.

تلقي آخر الأخبار

  • لتلقّي إشعارات بشأن التغييرات في حالة واجهة برمجة التطبيقات، يمكنك الانضمام إلى القائمة البريدية للمطوّرين.
  • لمتابعة جميع المناقشات الجارية حول واجهة برمجة التطبيقات عن كثب، انقر على الزر مراقبة في صفحة الاقتراح على GitHub. يتطلّب ذلك أن يكون لديك حساب GitHub أو أن تنشئ حسابًا.
  • للحصول على آخر الأخبار حول "مبادرة حماية الخصوصية"، يمكنك الاشتراك في خلاصة RSS [Progress in the Privacy Sandbox].

التعرف على المزيد


الصورة مقدمة من راي هينيسي على Unsplash.