‫Topics API للويب

تتيح Topics API عرض الإعلانات المستندة إلى الاهتمامات بدون استخدام ملفات تعريف الارتباط التابعة لجهات خارجية.

آلية عمل Topics API

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

المفاهيم الرئيسية

  • الموضوع هو موضوع يهمّ المستخدم الحالي ويمكن لشخص عادي قراءته، وهو جزء من تصنيف المواضيع.
  • المُرسِل هو كيان، مثل تطبيق أو حزمة تطوير برامج (SDK) تابعة لجهة خارجية أو موقع إلكتروني أو خدمة، يُرسِل طلبًا إلى Topics API لمراقبة اهتمامات المستخدم أو الوصول إليها.
  • يرصد المُتصل موضوعًا إذا أرسل طلبًا إلى Topics API من صفحة ويب أو تطبيق مرتبطَين بهذا الموضوع خلال الفترات الثلاث الماضية.
  • الفاصل الزمني هو فترة احتساب المواضيع، ويكون تلقائيًا أسبوعًا واحدًا.
  • التصنيف هو قائمة هرمية للفئات، تشمل على سبيل المثال فئات مثل /Arts & Entertainment/Music & Audio/Soul & R&B و/Business & Industrial/Business Services/Corporate Events.
  • يتمّ اشتقاق المواضيع باستخدام نموذج تصنيف يربط نشاط المستخدِم بمواضيع معدومة أو أكثر.

الخطوات الأساسية لمسار Topics API

تتضمّن دورة حياة Topics API ثلاث خطوات رئيسية:

  • مراقبة نشاط المستخدم، مثل زيارته لصفحة الويب https://cats.example/tabby/index.html أو تنزيل التطبيق cats
  • استنباط المواضيع من نشاط المستخدِم، على سبيل المثال /Pets & Animals/Pets/Cats
  • الوصول إلى المواضيع التي تم رصدها سابقًا للمستخدم، على سبيل المثال، كإشارة لاختيار إعلانات ذات صلة (مثل إعلان ترويجي لطعام القطط)

مراقبة المواضيع

لا يمكن للمتصلين الوصول إلا إلى المواضيع التي تهمّهم والتي لاحظوها. يرصد المُتصل موضوعًا عند إرسال طلب إلى Topics API من سياق مرتبط بهذا الموضوع. لتوضيح هذا المفهوم، راجِع المثال المبسّط التالي.

  • لنفترض أنّ هناك اثنين من مستخدمي Topics API: أ وب.
  • هناك سياقان:
    • Greenhouse، على سبيل المثال، تطبيق باسم Greenhouse أو موقع إلكتروني greenhouse.example، مرتبط بالموضوع Home & Garden.
    • تمارين التنس، على سبيل المثال تطبيق باسم "تمارين التنس" أو موقع إلكتروني tennis.example، مرتبط بالموضوع Sports/Tennis
  • يُشار إلى كل من المتصلَين أ وب في سياق Greenhouse.
  • لا يظهر سوى المتصل ب في سياق تمارين التنس.
  • لنفترض أنّه لم يتم رصد أي مواضيع للمستخدم قبل الحقبة 1، وذلك للتبسيط.
  • يزور المستخدم تطبيق Greenhouse، ويُجري المُتصلان أ وب طلبًا إلى Topics API لتسجيل زيارة المستخدم إلى الصفحة أو التطبيق (اطّلِع على دليل التنفيذ المقترَح في الخطوات التالية لمعرفة كيفية طلب Topics API). ويتم استخدام هذا السجلّ (اسم مضيف أو بيانات التطبيق) لاحقًا لاستخراج المواضيع التي تهمّك. ستضع واجهة برمجة التطبيقات Topics API لاحقًا علامة على الموضوع Home & Garden على أنّه موضوع رصده كل من المتصلَين أ وب.
  • يزور المستخدم تطبيق تمارين التنس. ولا يرسل سوى المُتصل ب طلبًا إلى Topics API. ستضع واجهة برمجة التطبيقات Topics API لاحقًا علامة على الموضوع Sports/Tennis على أنّه موضوع رصده المُتصل ب.
  • بحلول نهاية الحقبة، تُعدّل Topics API أهم مواضيع المستخدم وتحدّد المُتصلين الذين رصدوا هذه المواضيع استنادًا إلى نشاط المستخدم.
  • لاحقًا، عندما يُجري المُتصل ب طلبًا آخر من Topics API، يمكن أن يحصل على موضوع Home & Garden أو Sports/Tennis (أو موضوع عشوائي بنسبة% 5) لهذا المستخدم في صفيف الاستجابة.
  • لا يمكن للمتصل أ الوصول إلا إلى الموضوع Home & Garden، لأنّه لم يرصد الموضوع Sports/Tennis مطلقًا. وهذا يعني أنّ الجهة الخارجية لن تعرف عن موضوع اهتمام المستخدم إلا في السياق المحدّد (التطبيق أو الموقع الإلكتروني) الذي يظهر فيه.
مخطّط بياني يوضّح أنّ Topics API لا تضع علامة على المواضيع على أنّها قيد المراقبة إلا إذا كان المتصلون متوفّرين في السياق
تضع Topics API علامة على المواضيع التي لاحظها فقط المتصلون الذين لديهم حضور في سياق هذه المواضيع. ولن يتمكّن المتصلون من الوصول إلا إلى المواضيع التي راقبوها.

استخراج المواضيع

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

وصول المتصل إلى المواضيع التي تهمّ المستخدم

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

الفترات

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

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

المواضيع على الويب في الممارسة العملية

على الويب، يتم استنتاج المواضيع من أسماء الخوادم للصفحات التي يزورها المستخدم. على سبيل المثال، قد يكون الموضوع المستنِد إليه للموقع الإلكتروني dogs.example هو /الحيوانات الأليفة والحيوانات/الحيوانات الأليفة/الكلاب.

يعرض الرسم البياني التالي مثالاً مبسطًا يوضّح كيف يمكن أن تساعد Topics API منصّة تكنولوجيا الإعلان في اختيار إعلان مناسب. يفترض المثال أنّ متصفّح المستخدم يتضمّن نموذجًا لربط أسماء مضيفي المواقع الإلكترونية بالمواضيع.

مخطّط بياني يعرض المراحل في دورة حياة Topics API، بدءًا من مستخدم يزور المواقع الإلكترونية إلى إعلان يتم عرضه
يوضّح مخطّط Topics API البياني لدورة الحياة مراحل إجراءات واجهة برمجة التطبيقات من منظور عام.

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

على سبيل المثال، يمكن تضمين منصّة جهة العرض (SSP) في مواقع إلكترونية متعددة تابعة للناشرين. يمكن بعد ذلك لمنصّة SSP طلب Topics API ضمن إطار iframe من مصدرها، ما يتيح لها مراقبة المواضيع المرتبطة بمستخدم على مواقع الناشرين هذه. ويمكن بعد ذلك مشاركة هذه المواضيع مع منصّة جهة الطلب (DSP) لمساعدتها في اختيار إعلان ذي صلة للمستخدِم.

كيفية تحديد واجهة برمجة التطبيقات للمتصلين الذين يمكنهم الاطّلاع على المواضيع

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

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

الموقع الإلكتروني المواضيع طلبات البيانات من واجهة برمجة التطبيقات على الموقع الإلكتروني
running.example Running & Walking
Athletic Shoes
adtech1.example
adtech2.example
dogs.example Dogs adtech1.example
holiday.example Hotels & Accommodations adtech2.example
sunglasses.example Sunglasses [none]

في نهاية الحقبة (أسبوع واحد تلقائيًا)، تنشئ Topics API أهم المواضيع التي بحث عنها المتصفّح خلال الأسبوع.

  • أصبح adtech1.example مؤهّلاً الآن لتلقّي مواضيع Running & Walking وAthletic Shoes وDogs، لأنّه رصدها على running.example وعلى dogs.example أيضًا.
  • لا يكون adtech1.example مؤهَّلاً لتلقّي موضوع Hotels & Accommodations لهذا المستخدِم لأنّه غير متوفّر على أيّ من المواقع الإلكترونية التي زارها المستخدِم مؤخرًا والمرتبطة بهذا الموضوع.
  • شاهد adtech2.example مواضيع Running & Walking وAthletic Shoes وHotels & Accommodations، ولكنّه لم يرى موضوع Dogs.

زار المستخدِم sunglasses.example الذي يتضمّن الموضوع Sunglasses، ولكن لم يتمّ إجراء أيّ طلبات إلى Topics API على هذا الموقع الإلكتروني. في هذه المرحلة، يعني ذلك أنّ واجهة برمجة التطبيقات لن تعرض موضوع Sunglasses لأي متصل.

في الأسبوع الثاني، يزور المستخدِم موقعًا إلكترونيًا آخر:

الموقع الإلكتروني المواضيع طلبات البيانات من واجهة برمجة التطبيقات على الموقع الإلكتروني
cameras.example Camera & Photo Equipment adtech2.example

بالإضافة إلى ذلك، تتم إضافة رمز من adtech2.example إلى sunglasses.example:

الموقع الإلكتروني المواضيع طلبات البيانات من واجهة برمجة التطبيقات على الموقع الإلكتروني
sunglasses.example Sunglasses adtech2.example

بالإضافة إلى Running & Walking وAthletic Shoes وHotels & Accommodations من الأسبوع 1، يعني ذلك أنّ adtech2.example ستتمكّن الآن من تلقّي مواضيع Camera & Photo Equipment وSunglasses، ولكن ليس قبل الفترة التالية، أي الأسبوع 3. ويضمن ذلك عدم تمكّن الجهات الخارجية من معرفة المزيد من المعلومات عن ماضي المستخدم (في هذه الحالة، الاهتمام بالموضة) أكثر مما يمكنها فعله باستخدام ملفات تعريف الارتباط.

بعد أسبوعَين آخرين، قد يتمّ حذف Running & Walking وAthletic Shoes وHotels & Accommodations من قائمة المواضيع المؤهّلة في adtech2.example إذا لم يزور المستخدِم أيّ مواقع إلكترونية تتضمّن هذه المواضيع وتتضمن رمزًا من adtech2.example.

الخطوات التي تتّخذها Topics API عندما يزور المستخدمون المواقع الإلكترونية التي تستخدم واجهة برمجة التطبيقات
كيفية رصد واجهة برمجة التطبيقات للمواضيع والوصول إليها

نموذج المصنِّف

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

التصنيف

يتم اختيار المواضيع من تصنيف. وقد نظم فريق Chrome هذه المواضيع بهدف أن يصبح التصنيف مرجعًا يُعدّه مساهمون موثوق بهم في المنظومة المتكاملة. يجب أن يكون التصنيف صغيرًا بما يكفي ليتم ربط متصفّحات العديد من المستخدِمين بكل موضوع. والهدف النهائي هو الحصول على التصنيف من جهة خارجية تدمج الملاحظات والأفكار من جميع أنحاء المجال.

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

تصنيف المواضيع

يتم تنظيم المواضيع يدويًا لـ 50,000 من أهم المواقع الإلكترونية، ويتم استخدام قائمة الاستبدال هذه التي تم تنظيمها الخاصة بأسماء النطاقات والمواضيع لتدريب نموذج التصنيف. بالنسبة إلى أهم المواقع الإلكترونية، يتم الوصول إلى المواضيع من قائمة الاستبدال بدلاً من استخدام نموذج المصنِّف. يمكنك عرض قائمة الاستبدال على جهاز الكمبيوتر.

صفحة chrome://topics-internals مع اختيار لوحة "المصنّف"
تعرض لوحة "المصنّف" في صفحة chrome://topics-internals إصدار النموذج ومساره والمواضيع المرتبطة بكل مضيف مُدرَج.

عند استخدام Chrome لواجهة برمجة التطبيقات Topics API، يتم تنزيل ملف TensorFlow Lite يمثّل النموذج ليتمكّن المستخدم من استخدامه على جهازه.

كيفية اختيار أهم خمسة مواضيع للمستخدم

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

  1. في نهاية كل حقبة، يجمع المتصفّح قائمة بالصفحات التي تستوفي المعايير التالية:
    • زار المستخدم الصفحة خلال الحقبة.
    • تتضمّن الصفحة رمزًا يستدعي document.browsingTopics().
    • تم تفعيل واجهة برمجة التطبيقات (على سبيل المثال، لم يتم حظرها من قِبل المستخدم أو من خلال عنوان استجابة).
  2. يستخدم المتصفّح على جهاز المستخدم نموذج التصنيف الذي تقدّمه Topics API لربط اسم المضيف لكل صفحة بقائمة المواضيع.
  3. ينشئ المتصفّح قائمة بأبرز خمسة مواضيع.

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

بعد ذلك، تعرض طريقة document.browsingTopics() موضوعًا عشوائيًا من بين أهم خمسة مواضيع لكل حقبة، مع احتمالية بنسبة% 5 أن يتم اختيار أيّ من هذه المواضيع عشوائيًا من التصنيف الكامل للمواضيع. في Chrome، يمكن للمستخدمين أيضًا إزالة مواضيع فردية أو محو سجلّ التصفّح لتقليل عدد المواضيع التي تعرضها واجهة برمجة التطبيقات. يمكن للمستخدمين أيضًا إيقاف واجهة برمجة التطبيقات.

يمكنك الاطّلاع على معلومات عن المواضيع التي تم رصدها خلال الحقبة الحالية من صفحة chrome://topics-internals.

Next steps

Get your environment ready to test and develop web applications with the Topics API.
Check out implementation details and code samples for callers to observe and access topics.

See also

Check out our resources to better understand the Topics API on the Web.