اطّلِع على كيفية استنتاج المواضيع وتحديدها للمستخدمين. والمتصفّحات، وكيف يمكن للمستخدمين التحكم في قائمة مواضيعهم.
حالة التنفيذ
- أكملت Topics API مرحلة المناقشة العلنية وهي متاحة حاليًا لنسبة 99 بالمائة من المستخدمين وبنسبة تصل إلى 100 بالمائة.
- لتقديم ملاحظاتك وآرائك حول Topics API، يمكنك إنشاء مشكلة في المواضيع التوضيحية أو المشاركة في المناقشات في مجموعة أعمال تحسين الإعلانات على الويب. يحتوي التفسير على عدد من الأسئلة المفتوحة التي لا تزال تتطلب تعريفًا إضافيًا.
- يوفّر المخطط الزمني لـ "مبادرة حماية الخصوصية" مخططات زمنية لتنفيذ Topics API وغيرها من اقتراحات "مبادرة حماية الخصوصية".
- Topics API: تعرض آخر التحديثات التغييرات والتحسينات التي طرأت على Topics API وعمليات التنفيذ.
ما هو الموضوع؟
الموضوع، في Topics API، هو موضوع يهتم به المستخدم وفقًا لما يظهر من المواقع الإلكترونية التي يزورها.
المواضيع هي إشارة لمساعدة منصات تكنولوجيا الإعلان على اختيار الإعلانات الملائمة. وعلى عكس ملفات تعريف الارتباط التابعة لجهات خارجية، تتم مشاركة هذه المعلومات بدون الكشف عن مزيد من المعلومات حول المستخدم نفسه أو نشاط تصفّحه.
تسمح Topics API للجهات الخارجية، مثل منصات تكنولوجيا الإعلان، بتتبُّع المواضيع التي تهم المستخدم ثم الوصول إليها. على سبيل المثال، قد تقترح واجهة برمجة التطبيقات الموضوع "Fiber & فنون النسيج" للمستخدم الذي يزور الموقع الإلكتروني knitting.example
.
إنّ قائمة المواضيع التي تستخدمها Topics API هي قائمة علنية ومنظّمة من قِبل المستخدمين ومقروءة ومصمّمة لتجنُّب الفئات الإعلانية الحسّاسة. هذه هي القائمة الحالية، التي سيتم توسيعها بمرور الوقت. وتكون القائمة منظمة على شكل تصنيف. ويمكن أن تكون المواضيع عالية المستوى أو أكثر تحديدًا. على سبيل المثال، Food & Drink
هي فئة واسعة، مع فئة فرعية منها Cooking & Recipes
. ويمكن تقسيم الفئات الفرعية إلى فئات فرعية إضافية.
ويجب أن يربط هذا التصنيف بين المواضيع والخصوصية بين الفائدة والخصوصية. إذا كانت المواضيع محدّدة جدًا، يمكن استخدامها لتحديد هوية مستخدم فردي. وإذا كانت عامة جدًا، لن تكون مفيدة لاختيار الإعلانات أو محتوى آخر.
يتم وضع تصنيف المواضيع مع وضع متطلبَين أساسيَين في الاعتبار:
- دعم الإعلانات التي تستهدف الاهتمامات
- الحفاظ على أمان المستخدمين وحماية خصوصيتهم
يقترح هذا عدة أسئلة. على سبيل المثال:
- ما هي أفضل طريقة لواجهة برمجة التطبيقات لاستنتاج المواضيع التي تهمّ المستخدمين استنادًا إلى نشاط التصفّح مع الحفاظ على خصوصيتهم؟
- فكيف يمكن هيكلة التصنيف لجعله أكثر فائدة؟
- ما العناصر المحددة التي يجب أن يتضمنها التصنيف؟
كيف تستنتج واجهة برمجة التطبيقات المواضيع لأحد المواقع الإلكترونية
يتم استخلاص المواضيع من نموذج المصنِّف الذي يضبط أسماء مضيفي المواقع الإلكترونية على صفر أو مواضيع أكثر. وقد يسمح تحليل المعلومات الإضافية (مثل عناوين URL الكاملة أو محتوى الصفحة) بإنشاء إعلانات أكثر صلة، ولكنه قد يحدّ أيضًا من مستوى الخصوصية.
يتوفّر نموذج المصنِّف لتحديد أسماء المضيفين للمواضيع بشكل علني، ووفقًا لملاحظات الموضح، يمكن عرض المواضيع لموقع إلكتروني من خلال أدوات المطوّرين في المتصفّح. ومن المتوقّع أن يتطوّر النموذج ويتحسن بمرور الوقت ويتم تحديثه بشكل دوري. ولا يزال تكرار هذا الأمر قيد البحث.
لا يتم تضمين سوى المواقع الإلكترونية التي تتضمّن رمزًا برمجيًا يستدعي Topics API في سجلّ التصفّح المؤهَّل لاحتساب عدد مرات ظهور المواضيع، ولا يتلقّى المتصلون من واجهة برمجة التطبيقات سوى المواضيع التي رأوها. بتعبير آخر، لا تكون المواقع الإلكترونية مؤهَّلة لاحتساب عدد مرّات ظهور المواضيع بدون الموقع الإلكتروني أو خدمة مضمّنة تستدعي واجهة برمجة التطبيقات.
بالإضافة إلى ذلك، لا يمكن للمتصل تلقي سوى المواضيع التي "رآها" رمزه. وبالتالي، إذا سجَّل رمز متصل آخر موضوعًا، مثل /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks
، في متصفّح المستخدم ولم يتسبب رمزك في تسجيل هذا الموضوع في متصفّح ذلك المستخدم، لن تتمكّن من معرفة هذا الموضوع محلّ الاهتمام في متصفّح هذا المستخدم عند استدعاء واجهة برمجة التطبيقات من الرمز المضمَّن. يُرجى العِلم بأنّه بما أنّ واجهة برمجة التطبيقات تتضمّن الآن كيانين أصلاً قد تمت ملاحظته، فإنّ المثال أعلاه /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks
سيؤدي أيضًا إلى ملاحظة Autos & Vehicles
وMotor Vehicles
.
وتتم إعادة احتساب المواضيع التي يعرضها المستخدم للمتصل استنادًا إلى الموقع الإلكتروني ذي المستوى الأعلى. على سبيل المثال، إذا طلب adtech.example
مواضيع المستخدم على news-a.example
، ثم في news-b.example
، ثم في news-c.example
، ستتم إعادة احتساب المواضيع التي تم عرضها على كل موقع إلكتروني. وهذا يعني أن المتصل من المحتمل أن يحصل على مواضيع مختلفة للمستخدم على مواقع إلكترونية مختلفة للمستوى الأعلى، نظرًا لأن المواضيع الثلاثة (كحد أقصى) التي يتم عرضها للمستخدم يتم اختيارها بشكل عشوائي من بين أهم خمسة مواضيع خلال الفترات الثلاث الماضية (مع فرصة بنسبة 5% للحصول على موضوع عشوائي). وهو ما يصعّب على المتصل تحديد هوية المستخدم حسب مواضيعه، لأنّه من المحتمل أن تختلف هذه المواضيع بين المواقع الإلكترونية المختلفة ذات المستوى الأعلى (حتى بالنسبة إلى المستخدم والمتصل والفترة نفسها).
نموذج المُصنِّف
يتم تنظيم المواضيع يدويًا لأهم 50,000 نطاق، ويتم استخدام هذا التنظيم لتدريب المصنِّف. يمكن العثور على هذه القائمة في override_list.pb.gz
، والمتوفّرة على chrome://topics-internals/
ضمن النموذج الحالي في علامة التبويب المصنِّف. تستخدم واجهة برمجة التطبيقات ارتباطات النطاق إلى المواضيع في القائمة بدلاً من مخرجات النموذج نفسه.
![chrome://topics-internals مع اختيار لوحة "المُصنِّف".](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/chrometopics-internals-8d62cfff441e4.png?authuser=4&hl=ar)
chrome://topics-internals
إصدار النموذج ومساره والمواضيع المرتبطة بكل مضيف مُدرَج.لتشغيل النموذج مباشرةً، ارجع إلى دليل TensorFlow لتشغيل نموذج.
لفحص ملف override_list.pb.gz
، عليك فك ضغطه أولاً:
gunzip -c override_list.pb.gz > override_list.pb
استخدِم protoc
لفحصه كنص:
protoc --decode_raw < override_list.pb > output.txt
يتوفّر تصنيف كامل للمواضيع التي لها معرّفات على GitHub.
تقديم تعقيبات أو مدخلات حول نموذج المصنِّف
تتوفّر عدّة قنوات لتقديم ملاحظات بشأن Topics API. للحصول على ملاحظات بشأن نموذج المصنِّف، ننصحك بإرسال مشكلة في GitHub أو الرد على مشكلة حالية. على سبيل المثال:
- ما هو تصنيف المواضيع الذي يجب استخدامه على المدى الطويل؟
- ماذا يحدث إذا لم يوافق الموقع الإلكتروني على المواضيع المحددة؟
كيفية اختيار أهم خمسة مواضيع للمستخدم
تعرض واجهة برمجة التطبيقات موضوعًا واحدًا لكل حقبة، ولا يزيد عن ثلاثة مواضيع. وإذا تم عرض ثلاثة منها، سيشمل ذلك مواضيع الفترة الحالية والعصرتَين السابقتَين.
- في نهاية كل حقبة، يجمع المتصفح قائمة بالصفحات التي تستوفي المعايير التالية:
- زار المستخدم الصفحة خلال الحقبة.
- تتضمّن الصفحة رمزًا يطلب الرقم
document.browsingTopics()
. - تفعيل واجهة برمجة التطبيقات (على سبيل المثال، إذا لم يحظرها المستخدم أو عبر عنوان ردّ)
- يستخدم المتصفّح على جهاز المستخدم نموذج المصنِّف الذي يوفّره Topics API لربط اسم المضيف لكل صفحة بقائمة مواضيع.
- يجمع المتصفّح قائمة المواضيع.
- يُنشئ المتصفِّح قائمة بأهم خمسة مواضيع حسب معدّل التكرار.
بعد ذلك، تُرجع طريقة document.browsingTopics()
موضوعًا عشوائيًا من أهم خمسة مواضيع لكل حقبة، مع فرصة بنسبة 5% أن يتم اختيار أي من هذه المواضيع عشوائيًا من التصنيف الكامل للمواضيع. في Chrome، يمكن للمستخدمين أيضًا إزالة مواضيع فردية أو محو سجلّ التصفّح لتقليل عدد المواضيع التي تعرضها واجهة برمجة التطبيقات. ويمكن للمستخدمين أيضًا إيقاف واجهة برمجة التطبيقات.
يمكنك الاطّلاع على معلومات عن المواضيع التي تمت رصدها خلال الحقبة الحالية من صفحة "chrome://topics-internals
".
كيفية تحديد واجهة برمجة التطبيقات للمتصلين المواضيع التي تظهر لهم
لا يتلقّى المتصلون من واجهة برمجة التطبيقات سوى المواضيع التي لاحظوها مؤخرًا، وتتم إعادة تحميل مواضيع المستخدم بعد كل حقبة. وهذا يعني أنّ واجهة برمجة التطبيقات توفّر نافذة يمكن أن يتلقّى فيها متصِل معيّن مواضيع معيّنة.
يوضّح الجدول أدناه مثالاً (على الرغم من أنّه صغير بشكل غير واقعي) لسجلّ تصفّح افتراضي للمستخدم خلال فترة واحدة، ويعرض المواضيع المرتبطة بالمواقع الإلكترونية التي زارها، ومتصلي واجهة برمجة التطبيقات المتوفّرين في كل موقع إلكتروني (الكيانات التي تستدعي document.browsingTopics()
في رمز JavaScript مضمَّن في الموقع الإلكتروني).
الموقع | المواضيع | طلبات البيانات من واجهة برمجة التطبيقات على الموقع الإلكتروني |
---|---|---|
yoga.example | لياقة بدنية | adtech1.example adtech2.example |
knitting.example | حِرَف يدوية | adtech1.example |
shopping-holiday.example | لياقة بدنية وسفر وسائل النقل | adtech2.example |
diy-clothing.example | الحِرف اليدوية والأزياء النمط | [بدون] |
في نهاية الحقبة (أسبوع واحد حاليًا)، تُنشئ Topics API أهم المواضيع في المتصفّح للأسبوع.
- adtech1.example مؤهلة الآن للحصول على "اللياقة البدنية" و"الحِرف" الموضوعات، نظرًا لأنها لاحظتها على YouTube.example وأيضًا على knitting.example.
- adtech1.example غير مؤهَّل للحصول على قسم "السفر النقل" الموضوع لهذا المستخدم لأنّه غير متوفّر على أي مواقع إلكترونية زارها المستخدم مؤخرًا ومرتبطة بهذا الموضوع.
- شهدت adtech2.example التصنيف "اللياقة البدنية" و"السفر النقل" من المواضيع، ولكن لم تظهر فيها "الحِرف" الموضوع.
زار المستخدم موقع diy-clothing.example، الذي يحتوي على الرابط "أزياء النمط" ولكن لم تكن هناك طلبات لواجهة Topics API على ذلك الموقع الإلكتروني. في هذه المرحلة، يعني ذلك أن "الموضة النمط" عدم عرض الموضوع من خلال واجهة برمجة التطبيقات لأي متصل.
وفي الأسبوع الثاني، يزور المستخدم موقعًا إلكترونيًا آخر:
الموقع | المواضيع | طلبات البيانات من واجهة برمجة التطبيقات على الموقع الإلكتروني |
---|---|---|
sewing.example | حِرَف يدوية | adtech2.example |
بالإضافة إلى ذلك، تتم إضافة التعليمة البرمجية من adtech2.example إلى diy-clothing.example:
الموقع | المواضيع | طلبات البيانات من واجهة برمجة التطبيقات على الموقع الإلكتروني |
---|---|---|
diy-clothing.example | الحِرف اليدوية والأزياء النمط | adtech2.example |
وكذلك "اللياقة البدنية" و"السفر النقل" اعتبارًا من الأسبوع الأول، هذا يعني أنّ adtech2.example ستتمكّن الآن من تلقّي "الحِرف" و"الموضة النمط" — ولكن ليس حتى الحقبة التالية، الأسبوع 3. ويضمن ذلك عدم تمكّن الجهات الخارجية من معرفة المزيد عن ماضي المستخدم (في هذه الحالة، الاهتمام بالموضة) أكثر مما يمكنها عند استخدام ملفات تعريف الارتباط.
بعد أسبوعين أخريين، "اللياقة" و"السفر النقل" خارج قائمة المواضيع المؤهَّلة في adtech2.example إذا لم يزور المستخدم أي مواقع إلكترونية تتضمّن هذه المواضيع التي تتضمّن رمزًا من adtech2.example.
عناصر تحكُّم المستخدم والشفافية والإيقاف
يجب أن يتمكّن المستخدمون من فهم الغرض من Topics API، والتعرُّف على ما يُقال عن واجهة برمجة التطبيقات، ومعرفة متى تكون واجهة برمجة التطبيقات قيد الاستخدام، وتزويدهم بعناصر تحكُّم لتفعيلها أو إيقافها.
يتيح تصنيف واجهة برمجة التطبيقات الذي يقرأه المستخدمون إمكانية التعرّف على المواضيع التي قد يقترحها المتصفّح والتحكم فيها. يمكن للمستخدمين إزالة المواضيع التي لا يريدون على وجه التحديد من Topics API مشاركتها مع المعلنين أو الناشرين، ويمكن أن تكون هناك عناصر تحكُّم لإعلام المستخدم بواجهة برمجة التطبيقات وعرض كيفية تفعيلها أو إيقافها. يوفّر Chrome معلومات وإعدادات لواجهة Topics API على chrome://settings/adPrivacy
. بالإضافة إلى ذلك، لا تتوفّر المواضيع للمتصلين عبر واجهة برمجة التطبيقات في وضع التصفّح المتخفي، ويتم محو المواضيع عند محو سجلّ التصفّح.
ستكون قائمة المواضيع التي يتم عرضها فارغة في الحالات التالية:
- إيقاف المستخدم Topics API من خلال إعدادات المتصفّح على
chrome://settings/adPrivacy
- محا المستخدم مواضيعه (من خلال إعدادات المتصفّح في
chrome://settings/adPrivacy
) أو محا ملفات تعريف الارتباط. - المتصفّح في وضع التصفّح المتخفي
يقدّم الشرح مزيدًا من التفاصيل حول أهداف الخصوصية وكيف تسعى واجهة برمجة التطبيقات إلى معالجتها.
إيقاف الموقع الإلكتروني
بالإضافة إلى إمكانية إيقاف هذه الميزة للمستخدم، يمكنك إيقاف Topics على موقعك الإلكتروني أو للصفحات عليه. يوضّح دليل المطوِّر كيفية إجراء ذلك.
استخدام Topics API على المواقع الإلكترونية التي تتضمن prebid.js
كما هو موضّح في إصدار Prebid 7، طوّر المنتدى عملية دمج مع Topics API من خلال وحدة جديدة. تم دمج هذه الوحدة في كانون الأول (ديسمبر) 2022.
يمكنك الاطّلاع على المزيد من المعلومات بالانتقال إلى الرابط التالي:
- اطّلِع على مستندات وحدة Topics API في Prebid.
- لمزيد من المعلومات، تواصل مع Prebid.js من خلال أي قناة عادية متاحة.
الخطوات التالية
- إذا كنت مطوّرًا لتقنية الإعلان، يمكنك تجربة Topics API والمشاركة فيها.
- اطّلِع على دليل المطوِّر للحصول على مراجع أكثر تفصيلاً.
- اطّلِع على دليل دمج Topics API للحصول على تفاصيل حول حالات معيّنة لاستخدام تكنولوجيا الإعلان.
التفاعل مع الملاحظات ومشاركتها
- GitHub: يمكنك الاطّلاع على الشرح الخاص بـ Topics API وطرح الأسئلة ومتابعة النقاشات بشأن المشاكل في مستودع واجهة برمجة التطبيقات.
- W3C: مناقشة حالات الاستخدام في المجال من خلال Optimize Web Advertising Business Group.
- الإشعارات: الانضمام إلى القائمة البريدية أو الاطّلاع عليها.
- دعم مطوّري برامج "مبادرة حماية الخصوصية": يمكنك طرح الأسئلة والمشاركة في النقاشات في مستودع دعم مطوّري برامج "مبادرة حماية الخصوصية".
- Chromium: يمكنك الإبلاغ عن خطأ في Chromium لطرح أسئلة حول طريقة التنفيذ المتاحة حاليًا في Chrome.