دليل المطوّر لمزادات الإعلانات على الجهاز لعرض تجديد النشاط التسويقي والجماهير المخصّصة، بدون تتبُّع الجهات الخارجية على جميع المواقع
إذا كنت لا تعرف الكثير عن Protected Audience API، يمكنك الاطّلاع على نظرة عامة على Protected Audience API للحصول على شرح تفصيلي لواجهة برمجة التطبيقات.
تمّت كتابة هذه المشاركة للمطوّرين كمرجع فني للإصدار الأكثر حداثة من Protected Audience API التجريبية. يتوفّر عرض توضيحي لعملية أساسية لطرح Protected Audience API، بالإضافة إلى مراجع واجهات برمجة التطبيقات لمشتري الإعلانات وبائعيها.
حالة التنفيذ
- يتمّ الآن نقل اقتراح Protected Audience API إلى مدى التوفّر للجمهور العام. طرح الأسئلة ومتابعة المناقشة:
- توضّح حالة Protected Audience API للإمكانات في انتظار المراجعة التغييرات والتحسينات التي طرأت على Protected Audience API وميزاتها.
- حالة وميض
- حالة نظام Chrome الأساسي في Protected Audience API: تنطبق على Protected Audience API على Chrome.
- حالة منصّة Chrome لـ Ads API: مجموعة من واجهات برمجة التطبيقات لتسهيل عرض الإعلانات: Protected Audience API وTopics وFenced Frames (الإطارات المسوّرة) وتقارير تحديد المصدر.
لتلقّي إشعارات بشأن تغييرات الحالة في واجهة برمجة التطبيقات، يمكنك الانضمام إلى القائمة البريدية لمطوّري البرامج.
ما هي واجهة برمجة التطبيقات Protected Audience API؟
Protected Audience API هي واجهة برمجة تطبيقات لمبادرة حماية الخصوصية تم تصميمها لتلبية حالات استخدام تجديد النشاط التسويقي وشرائح الجمهور المخصَّصة، وهي مصمّمة بحيث لا يمكن لجهات خارجية استخدامها لتتبُّع سلوك تصفّح المستخدِم على جميع المواقع الإلكترونية. تتيح واجهة برمجة التطبيقات المزادات على الأجهزة فقط من خلال المتصفّح لاختيار الإعلانات ذات الصلة بالمواقع الإلكترونية التي زارها المستخدِم من قبل.
Protected Audience API هي التجربة الأولى التي سيتم تنفيذها في Chromium ضمن مجموعة اقتراحات TURTLEDOVE.
تجربة Protected Audience API
مرجع واجهة برمجة التطبيقات المتاح
يقدّم هذا المستند نظرة عامة على Protected Audience API. إذا كنت تبحث عن طرق ومَعلمات معيّنة لواجهة برمجة التطبيقات:
- دليل المشترين
joinAdInterestGroup()
وgenerateBid()
- دليل البائع لواجهة برمجة التطبيقات Protected Audience API
runAdAuction()
- دليل المشترين حول
reportWin()
ودليل البائعين حولreportResult()
- تحديد المشاكل وحلّها في Protected Audience API
يمكنك أيضًا الاطّلاع على أفضل الممارسات المتعلّقة بوقت استجابة مزاد الإعلانات في Protected Audience API.
Protected Audience API demo
يمكنك الاطّلاع على جولة تفصيلية حول عملية نشر Protected Audience API الأساسية على المواقع الإلكترونية للمعلِنين والناشرين على الرابط protected-audience-demo.web.app/.
اختبار واجهة برمجة التطبيقات هذه
يمكنك اختبار Protected Audience API لمستخدم واحد في الإصدار التجريبي من Chrome 101.0.4951.26 والإصدارات الأحدث على الكمبيوتر المكتبي:
- فعِّل جميع واجهات برمجة التطبيقات المتعلّقة بالخصوصية في عرض الإعلانات ضمن
chrome://settings/adPrivacy
. - ضبط العلامات من سطر الأوامر يمكن العثور على القائمة الكاملة لعلامات Protected Audience API المتاحة في بحث رمز Chromium.
عرض الإعلانات في إطارات iframe أو إطارات محدودة
يمكن عرض الإعلانات في <iframe>
أو
<fencedframe>
، استنادًا إلى علامتَي
التصنيف اللتين تم ضبطهما.
لاستخدام <fencedframe>
لعرض الإعلانات:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames
لاستخدام <iframe>
لعرض الإعلانات:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames
أدرِج العلامة BiddingAndScoringDebugReportingAPI
لتفعيل methods reporting methods
temporary debug loss/win.
الميزات المتاحة
إنّ Protected Audience API التي يتمّ استخدامها من خلال ميزة "إشارات الميزات" في Chromium هي تجربة أولى لاختبار ميزات Protected Audience API التالية:
- المجموعات ذات الاهتمامات المشتركة: يخزّنها المتصفّح مع البيانات الوصفية المرتبطة بها لتحديد إعدادات عروض أسعار الإعلانات وعرضها.
- عروض الأسعار على الجهاز من قِبل المشترين (نظام تخطيط الحملة أو المعلِن): استنادًا إلى مجموعات الاهتمامات والإشارات المخزّنة من البائع
- اختيار البائع (وحدة عرض الإعلانات على الشبكة الإعلانية أو الناشر) للإعلانات على الجهاز: استنادًا إلى عروض أسعار المزاد والبيانات الوصفية من المشترين
- عرض الإعلانات في إصدار مُخفَّض مؤقتًا من "اللقطات المُحدودة": مع السماح بإمكانية الوصول إلى الشبكة وتسجيل الدخول لعرض الإعلانات.
يمكنك الاطّلاع على مزيد من المعلومات حول توافق الميزات والقيود المفروضة عليها في الشرح المفصّل لواجهة برمجة التطبيقات Protected Audience API.
أذونات المجموعات ذات الاهتمامات المشتركة
الإعداد التلقائي لتنفيذ Protected Audience API الحالي هو السماح بالاتّصال بـ
joinAdInterestGroup()
من أي مكان في الصفحة، حتى من إطارات iframe من مصادر متعددة.
في المستقبل، بعد أن يحصل مالكو المواقع الإلكترونية على الوقت الكافي لتعديل سياسات أذونات استخدام إطارات iframe على مستوى النطاقات المختلفة، سيتم منع طلبات البيانات من إطارات iframe على مستوى النطاقات المختلفة.
خدمة المفتاح/القيمة
لتفعيل مزاد الإعلانات في Protected Audience API، يمكن للمتصفّح الوصول إلى خدمة إدارة المفاتيح/القيم لاسترداد المعلومات في الوقت الفعلي التي تتيح مزاد الإعلانات في Protected Audience API. يمكن استخدام هذه المعلومات بعدة طرق:
- قد يريد المشترون احتساب الميزانية المتبقية في إحدى الحملات الإعلانية.
- قد يُطلب من البائعين التحقّق من تصاميم الإعلانات للتأكّد من توافقها مع سياسات الناشر.
أصبح رمز خدمة المفتاح/القيمة في Protected Audience API متاحًا الآن. يمكنك الاطّلاع على مشاركة المدونة التي تتضمن الإعلان لمعرفة آخر المعلومات عن الحالة.
لإجراء الاختبار الأولي، تم تقديم نموذج "إحضار خادمك الخاص". على المدى الطويل، ستحتاج تكنولوجيات الإعلان إلى استخدام خدمات المفتاح/القيمة في Protected Audience API المفتوحة المصدر والتي تعمل في بيئات التنفيذ الموثوق بها.
يُرجى الرجوع إلى مشاركة المدونة حول خدمات Protected Audience API للاطّلاع على آخر المعلومات المتعلّقة بالمخطط الزمني. وسنرسل إشعارًا مهمًا للمطوّرين لبدء مرحلة الاختبار والاستخدام قبل إجراء عملية النقل هذه.
رصد مدى توفّر الميزة
قبل استخدام واجهة برمجة التطبيقات، تأكَّد مما إذا كان المتصفّح متوافقًا معها وهل هي متاحة في المستند:
'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؟
في هذا المثال، يتصفّح أحد المستخدِمين الموقع الإلكتروني لصانع درّاجات مخصّصة، ثمّ يزور لاحقًا موقعًا إلكترونيًا إخباريًا ويظهر له إعلان لدرّاجة جديدة من صانع الدراجات.
ستتم إضافة ميزات Protected Audience API بمرور الوقت مع تقدّم العمل على التنفيذ.
1. يزور أحد المستخدِمين موقعًا إلكترونيًا للمعلِن.

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

تُجري منصّة المعلِن للتخطيط والشراء (DSP) (أو المعلِن نفسه) مكالمة إلىnavigator.joinAdInterestGroup()
لطلب إضافة مجموعة اهتمامات
إلى قائمة المجموعات التي ينتمي إليها المتصفّح.
في هذا المثال، اسم المجموعة هو custom-bikes
، والمالك هو dsp.example
. سيكون مالك مجموعة الاهتمامات (في هذه الحالة، منصّة إدارة الأداء) مشترًا
في مزاد الإعلانات في Protected Audience API. يخزِّن المتصفّح عضوية مجموعة الاهتمامات
على جهاز المستخدم، ولا تتم مشاركتها مع موفِّر المتصفّح أو أي شخص آخر.
- اطّلِع على الشرح الموجز لواجهة برمجة التطبيقات Protected Audience API: المتصفّحات تسجِّل مجموعات الاهتمامات.
- اطّلِع على دليل واجهة برمجة التطبيقات: المشترون وأنظمة إدارة الطلبات، وتعرَّف على كيفية
joinAdInterestGroup()
وإنشاء عروض الأسعار.
تحديد الإعلانات لمجموعة اهتمامات
تتضمّن عناصر ads
وadComponents
عنوان URL لتصميم إعلان، و
اختياريًا، بيانات وصفية عشوائية يمكن استخدامها في وقت تقديم عروض الأسعار. على سبيل المثال:
{
renderUrl: 'https://cdn.example/.../bikeAd1.html',
metadata: bikeAd1metadata // optional
}
كيف يقدّم المشترون عروض أسعار؟
يتمّ استدعاء generateBid()
لكلّ مجموعة اهتمامات مشتركة يكون المتصفّح عضوًا فيها، إذا تمّت دعوة مالك المجموعة لتقديم عروض أسعار.
اطّلِع على مستندات مطوّري generatedBid()
.
3- يزور المستخدِم موقعًا إلكترونيًا يبيع مساحة إعلانية.

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

من المرجّح أن يدير مزاد الإعلانات مقدّم عرض إعلانات المورّدين (SSP) التابع للناشر أو الناشر نفسه. الغرض من المزاد هو اختيار الإعلان الأنسب لموضع إعلان واحد متاح على الصفحة الحالية. يأخذ المزاد في الاعتبار مجموعات الاهتمامات التي ينتمي إليها المتصفّح، بالإضافة إلى البيانات الواردة من مشتري المساحات الإعلانية والبائعين من خدمات المفاتيح/القيم.
- اطّلِع على الشرح المفصّل لواجهة برمجة التطبيقات Protected Audience API: يُجري البائعون مزادات على الجهاز فقط.
- قراءة دليل واجهة برمجة التطبيقات: يمكن للبائعين الاطّلاع على مزيد من المعلومات حول
runAdAuction()
وأفضل الممارسات المتعلّقة بوقت استجابة مزاد الإعلانات.
5- يطلب البائع والمشترون المشاركون بيانات في الوقت الفعلي من خدمة "المفتاح/القيمة".

أثناء مزاد إعلاني، يمكن للبائع طلب بيانات في الوقت الفعلي عن مواد إبداعية معيّنة للإعلانات
من خلال تقديم طلب إلى خدمة مفتاح/قيمة.
يمكن للبائع طلب هذه المعلومات أثناء
runAdAuction()
باستخدام السمة trustedScoringSignalsUrl
،
بالإضافة إلى المفاتيح من سمات renderUrl
لجميع الإدخالات في حقلَي ads
وadComponents
لجميع مجموعات الاهتمامات في المزاد.
يمكن للمشتري طلب بيانات في الوقت الفعلي من خدمة "المفتاح/القيمة" باستخدام
سمتَي trustedBiddingSignalsUrl
وtrustedBiddingSignalsKeys
لوسيطة مجموعة الاهتمامات التي تم تمريرها إلى navigator.joinAdInterestGroup()
.
عند استدعاء runAdAuction()
، يقدّم المتصفّح طلبًا إلى كل خادم موثوق به لصاحب حساب Ad Exchange. قد يبدو عنوان URL للطلب على النحو التالي:
https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
- مصدر عنوان URL الأساسي هو
trustedBiddingSignalsUrl
. - يقدّم المتصفّح
hostname
. - يتم الحصول على قيمة
keys
منtrustedBiddingSignalsKeys
.
الاستجابة لهذا الطلب هي عنصر JSON يقدّم قيمًا لكل من المفاتيح.
- اطّلِع على الشرح المفصّل لواجهة برمجة التطبيقات Protected Audience API: جلب البيانات في الوقت الفعلي من خدمة Protected Audience API Key/Value.
- اطّلِع على فتح خدمة Protected Audience API Key/Value المصدر.
6- يتم عرض الإعلان الفائز

يتمّ حلّ الوعد الذي يعرضه runAdAuction() إلى كائن إعداد إطار محدود (FencedFrameConfig
) عند ضبط العلامةresolveToConfig
على true
في إعدادات المزاد. يستخدم الإطار المحدود إعدادات الإطار للانتقال إلى الإطار الذي يعرض الإعلان الفائز، ولكن لا يظهر عنوان URL للإعلان لمُضمِّن الإطار.
يتوفّر عنصر إعداد الإطار المحدود اعتبارًا من الإصدار M114. لمزيد من المعلومات عن عنصر FencedFrameConfig
، يُرجى الاطّلاع على مقالة مدونة Chrome.
- قراءة الشرح حول Protected Audience API: المتصفّحات تعرِض الإعلان الفائز
7- يتم الإبلاغ عن نتيجة المزاد
ونخطّط على المدى الطويل للسماح للمتصفّح بإعداد تقارير عن نتائج المزاد للمبِيع والمشترين باستخدام Private Aggregation APIs.
بصفتها آلية مؤقتة لإعداد التقارير على مستوى الحدث، يمكن للرمز البرمجي الذي ينفّذ reportResult()
للبائع وreportWin()
لمقدّم عرض السعر الفائز
استدعاء الدالة sendReportTo()
. يأخذ هذا المقياس وسيطة واحدة: سلسلة represent a URL التي يتم جلبها بعد اكتمال المزاد، والتي تُشفِّر information على مستوى الحدث المطلوب الإبلاغ عنها.
- قراءة دليل واجهة برمجة التطبيقات: التعرّف على إعداد تقارير البائعين والمشترين
8. الإبلاغ عن نقرة على إعلان

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

ما الفرق بين Protected Audience API وTURTLEDOVE؟
Protected Audience API هي التجربة الأولى التي سيتم تنفيذها في Chromium ضمن مجموعة اقتراحات TURTLEDOVE.
تلتزم Protected Audience API بالمبادئ العالية المستوى لإطار عمل TURTLEDOVE. كانت بعض الإعلانات على الإنترنت تعتمد على عرض إعلان لشخص يُحتمل أن يكون مهتمًا بالإعلان والذي تعامل في السابق مع المعلِن أو شبكة الإعلانات. في السابق، كان يتم رصد المستخدمين من خلال تعرّف المعلِن على مستخدم معيّن أثناء تصفّحه للمواقع الإلكترونية، ما يشكّل مصدر قلق أساسيًا للخصوصية على الويب اليوم.
تتمثل جهود TURTLEDOVE في توفير واجهة برمجة تطبيقات جديدة لمعالجة حالة الاستخدام هذه، مع تقديم بعض التحسينات الرئيسية على الخصوصية:
- يحتفظ المتصفّح بالمعلومات حول ما يعتقده المعلن أنّه يهمّ المستخدِم، وليس المعلن.
- يمكن للمعلِنين عرض الإعلانات استنادًا إلى اهتمام معيّن، ولكن لا يمكنهم الجمع بين هذا الاهتمام ومعلومات أخرى عن المستخدِم، ولا سيّما هويته أو الصفحة التي يزورها.
نشأت Protected Audience API من TURTLEDOVE ومجموعة من الاقتراحات ذات الصلة لتعديلات تهدف إلى تقديم خدمة أفضل للمطوّرين الذين سيستخدمون واجهة برمجة التطبيقات:
- في SPARROW: اقترحت Criteo إضافة نموذج خدمة ("حارس البوابة") يعمل في بيئة تنفيذ موثوق بها (TEE). تتضمّن Protected Audience API استخدامًا أكثر محدودية لوحدات TEE، وذلك للبحث عن البيانات في الوقت الفعلي وإعداد التقارير المجمّعة.
- وصفت اقتراحات TERN من NextRoll وPARRROT من Magnite الأدوار المختلفة التي يلعبها المشترون والبائعون في auction على الجهاز. تستند عملية تقديم عروض الأسعار/التقييم للإعلانات في Protected Audience API إلى هذا العمل.
- تحسينات TURTLEDOVE الاستناد إلى النتائج وعلى مستوى المنتج التي أجرتها شركة RTB House على نموذج إخفاء الهوية وقدرات التخصيص في مزاد الإعلانات على الجهاز
- PARAKEET هو اقتراح Microsoft لخدمة إعلانات مشابهة لـ TURTLEDOVE تعتمد على خادم وكيل يعمل في بيئة آمنة للتنفيذ (TEE) بين المتصفّح ومقدّمي تقنية الإعلان، وذلك بهدف إخفاء هوية طلبات الإعلانات وفرض خصائص الخصوصية. لم تتبنّ واجهة برمجة التطبيقات Protected Audience API نموذج التوسّط هذا. نحن بصدد تنسيق واجهات برمجة تطبيقات JavaScript لـ PARAKEET وProtected Audience API، وذلك لدعم العمل المستقبلي على دمج أفضل ميزات كلا الاقتراحَين.
لا تمنع Protected Audience API شبكة الإعلانات في الموقع الإلكتروني من معرفة الإعلانات التي يراها المستخدم. نتوقّع تعديل واجهة برمجة التطبيقات لتوفير خصوصية أكبر بمرور الوقت.
هل يمكن استخدام Topics API مع Protected Audience API؟
نعم. يمكن للبائع أو مقدّم عروض الأسعار استخدام موضوع تم رصده للمستخدم الحالي، والذي تقدّمه Topics API، كملء معلومات سياقية. يمكن تضمين موضوع في السمات التالية:
auctionSignals
، وهي خاصيّة لعنصر إعدادات المزاد تم تمريرها إلىnavigator.runAdAuction()
userBiddingSignals
، وهي خاصيّة لإعداد مجموعة الاهتمامات العنصر الذي تم تمريره إلىnavigator.joinAdInterestGroup()
إعدادات المتصفّح المتاحة
يمكن للمستخدمين تعديل مشاركتهم في تجارب "مبادرة حماية الخصوصية" في Chrome من خلال
تفعيل الإعدادات ذات المستوى الأعلى أو إيقافها في
chrome://settings/adPrivacy
.
أثناء الاختبار الأوّلي، سيتمكّن المستخدمون من استخدام إعداد "مبادرة حماية الخصوصية" هذا ذي المستوى العالي لإيقاف Protected Audience API. يخطّط Chrome للسماح للمستخدمين بالاطّلاع على قائمة المجموعات ذات الاهتمامات المشتركة التي تمّت إضافتهم إليها على مستوى المواقع الإلكترونية التي زاروها و إدارتها. كما هو الحال مع تقنيات "مبادرة حماية الخصوصية" نفسها، قد تتطوّر إعدادات المستخدمين استنادًا إلى الملاحظات الواردة من المستخدمين والمشرِفين وغيرهم.
سنواصل تعديل الإعدادات المتاحة في Chrome استنادًا إلى الاختبارات والملاحظات. نخطّط في المستقبل لتوفير إعدادات أكثر دقة لإدارة Protected Audience API والبيانات المرتبطة بها.
لا يمكن لمُطلِبي البيانات من واجهة برمجة التطبيقات الوصول إلى عضوية المجموعة عندما يتصفّح المستخدمون الويب في وضع التصفّح المتخفي، ويُزال هذا الإذن عندما يُمحو المستخدمون بيانات مواقعهم الإلكترونية.
هل يخزّن المتصفّح وحدات عمل Protected Audience؟
يخزّن المتصفّح الموارد التي تحتوي على وحدات عمل "شريحة الجمهور المحمية"، وهي وحدات عمل إنشاء عروض الأسعار وإعداد التقارير الخاصة بالمشتري، ووحدات عمل تقييم الإعلانات وإعداد التقارير الخاصة بالبائع. يمكنك استخدام العنوان Cache-Control
للتحكّم في سلوك التخزين المؤقت.
التفاعل مع الملاحظات ومشاركتها
الحصول على الدعم
لطرح أسئلة والحصول على دعم بشأن عملية التنفيذ أو العرض التجريبي أو المستندات:
- GitHub: يمكنك قراءة الشرح وطرح الأسئلة ومتابعتها.
- الإصدار التجريبي: يمكنك الإبلاغ عن مشكلة في مستودع الرموز التجريبية.
- دعم المطوّرين: يمكنك طرح الأسئلة والانضمام إلى المناقشات على ملف الاستضافة لدعم المطوّرين في "مبادرة حماية الخصوصية". اختَر نموذج المشكلة لـ Protected Audience API.
- تنفيذ Chrome: إذا واجهت أخطاء أو مشاكل في تنفيذ Chrome لواجهة برمجة التطبيقات Protected Audience API، يمكنك عرض المشاكل الحالية أو طرح مشكلة جديدة.
لمزيد من الأسئلة العامة حول تلبية احتياجاتك باستخدام Protected Audience API، يُرجى إدراج مشكلة في مستودع واجهة برمجة التطبيقات. يمكنك أيضًا مناقشة حالات الاستخدام في المجال في مجموعة تحسين الإعلانات على الويب التابعة لمنظمة W3C.
يمكنك استخدام نموذج الملاحظات والآراء في "مبادرة حماية الخصوصية" لمشاركة الملاحظات مع فريق Chrome بشكل خاص خارج المنتديات العامة.
إيقاف
هل تريد إيقاف Protected Audience API؟ تعرَّف على كيفية حظر الوصول إلى Protected Audience API، بصفتك مالك موقع إلكتروني أو مستخدمًا فرديًا.
تلقي آخر الأخبار
- للحصول على إشعارات بشأن تغييرات حالة واجهة برمجة التطبيقات، يمكنك الانضمام إلى القائمة البريدية للمطوّرين.
- لمتابعة جميع المناقشات الجارية حول واجهة برمجة التطبيقات عن كثب، انقر على الزر مراقبة في صفحة واجهة برمجة التطبيقات على GitHub. يتطلّب ذلك أن يكون لديك حساب GitHub أو أن تنشئ حسابًا.
- للحصول على آخر الأخبار حول "مبادرة حماية الخصوصية"، يمكنك الاشتراك في خلاصة RSS التالية: [Progress in the Privacy Sandbox].
- الانضمام إلى المكالمات المجدوَلة لواجهة برمجة التطبيقات Protected Audience API (كل أسبوع ثانٍ) يُرجى العِلم أنّه يمكن للجميع الانضمام إلى هذه المجموعة. للمشاركة، عليك أولاً الانضمام إلى مجموعة WICG. يمكنك المشاركة بنشاط أو الاستماع فقط.