عروض توضيحية لواجهة برمجة تطبيقات Topics

أجرِ التجارب وتعرَّف على كيفية استنتاج المواضيع من أسماء المضيفين بخطوات إعداد بسيطة.

حالة التنفيذ

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

العرض التوضيحي هو معاينة تعرض معظم ميزات Topics API، كي تتعرّف على طريقة تنفيذ واجهة برمجة التطبيقات.

يمكنك أيضًا تشغيل التعاون ضمن Topics لتجربة نموذج مصنّف Topics.

يوضّح الفيديو التالي طريقة عمل العرض التوضيحي.

الاختبار باستخدام chrome://flags أو علامات الميزات

هناك طريقتان لتجربة Topics API كمستخدم واحد: يجب تشغيل الإصدار 101 من Chrome أو إصدار أحدث:

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

    --enable-features=BrowsingTopics,BrowsingTopicsParameters:time_period_per_epoch/15s/browsing_topics_max_epoch_introduction_delay/3s,PrivacySandboxAdsAPIsOverride,PrivacySandboxSettings3,OverridePrivacySandboxSettingsLocalTesting
    

العرض التوضيحي لواجهة برمجة التطبيقات Topics API

يبيّن العرض التوضيحي للموضوعات كيفية استخدام علامات إضافية لضبط الإعدادات، مثل طول الحقبة. في حال الوصول إلى Topics API من خلال تشغيل Chrome باستخدام علامات سطر الأوامر، لا تضبط chrome://flags، لأنّ هذه العلامات يمكن أن تلغي إعدادات سطر الأوامر.

يشرح مقالة تشغيل Chromium باستخدام العلامات كيفية وضع العلامات عند تشغيل Chrome والمتصفحات الأخرى المستندة إلى Chromium من سطر الأوامر، على الرغم من أن هذا العرض التوضيحي خاص بمتصفح Google Chrome.

الإصدار التجريبي للعناوين في Topics API

يشرح العرض التوضيحي على topics-fetch-demo.glitch.me كيفية استخدام عناوين الطلبات والاستجابة في fetch() للوصول إلى المواضيع ووضع علامة "تمّت الملاحظة" عليها.

الوصول إلى عنوان طلب "Sec-Browsing-Topics"

بدلاً من استخدام document.browsingTopics() من إطار iframe لعرض مواضيع لأحد المستخدمين، يمكن للمتصلين من واجهة برمجة التطبيقات الوصول إلى المواضيع المرصودة من عنوان طلب Sec-Browsing-Topics في طلب fetch() الذي يتضمن {browsingTopics: true} في مَعلمة الخيارات، أو من الرأس نفسه لطلب XHR الذي يضبط السمة deprecatedBrowsingTopics على true.

مثلاً:

fetch('https://topics-server.glitch.me', {browsingTopics: true})
    .then((response) => {
        // Process the response
 })

في المتصفّحات التي تتيح استخدام واجهة برمجة التطبيقات، سيتضمّن طلب fetch() عنوان Sec-Browsing-Topics يسرد المواضيع التي تمت ملاحظتها لاسم مضيف عنوان URL للطلب: في هذا المثال، topics-server.glitch.me.

وفي حال عدم رصد أي مواضيع لاسم المضيف هذا وهذا المستخدم، سيتم تضمين العنوان ولكن القيمة فارغة. بعبارة أخرى، لا يتضمن عنوان Sec-Browsing-Topics في طلب fetch() سوى المواضيع التي تمت ملاحظتها في متصفّح المستخدم الحالي من خلال متصل يتطابق مصدره مع اسم المضيف لعنوان URL للطلب. تمامًا كما لو كنت تستدعي document.browsingTopics() من إطار iframe لعرض المواضيع التي تم تتبّعها للمستخدم الحالي.

يتم إرسال عنوان الطلب إلى أحد الطلبات ما دام سياسة الأذونات المناسبة مفعَّلة وكان السياق آمنًا وأن إعدادات المستخدم تسمح بذلك. لا تتوفّر المواضيع في عناوين طلبات التنقّل.

يبدو عنوان طلب Topics كما يلي:

Sec-Browsing-Topics: 186;version="chrome.1:1:2206021246";config_version="chrome.1";model_version="2206021246";taxonomy_version="1", 265;version="chrome.1:1:2206021246";config_version="chrome.1";model_version="2206021246";taxonomy_version="1"

ويتضمّن هذا المثال موضوعَين من تصنيف المواضيع و186 و265، إلى جانب معلومات إصدار كل موضوع.

لا يمكن تضمين عناوين المواضيع في طلبات XHR بشكل مؤقت إلا، وستتم إزالة الدعم في المستقبل.

وضع علامة على المواضيع على أنّها تم رصدها باستخدام "Observe-Browsing-Topics"

إذا تضمّن الطلب عنوان Sec-Browsing-Topics وكان الردّ على هذا الطلب يتضمّن عنوان Observe-Browsing-Topics: ?1، سيضع المتصفّح علامة على المواضيع من عنوان الطلب على أنّها تمت رصدها. يمكن احتساب المواضيع المرصودة باستخدام Topics API. تم تصميم هذه الآلية لتتوافق مع الوظائف المتوفرة من خلال استخدام JavaScript API من إطار iframe.

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

صفحة Topics API التجريبية على glitch.me
العرض التوضيحي للتطبيق glitch.me للتعرّف على كيفية تجربة واجهة برمجة التطبيقات

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

  • pets-animals-pets-cats.glitch.me
  • cats-cats-cats-cats.glitch.me
  • cats-pets-animals-pets.glitch.me
  • cats-feline-meow-purr-whiskers-pet.glitch.

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

تقدّم علامة تبويب "المواضيع" معلومات عن المواضيع التي يتم رصدها.
تعرض علامة التبويب "Topics State" (حالة المواضيع) مواضيع حقيقية وعشوائية.

الخطوات التالية

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

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