يتيح لك خيار "عنوان URL محدّد" اختيار المحتوى الذي تريد عرضه للمستخدم استنادًا إلى بيانات "مساحة التخزين المشترَكة"، بدون الكشف عن البيانات المخزّنة الأساسية.
في الحالات التي تريد فيها عرض محتوى استنادًا إلى بيانات من مواقع إلكترونية متعددة بطريقة تراعي الخصوصية، يمكنك استخدام Select URL API. تعمل Select URL API بشكل جيد مع حالات الاستخدام التالية:
- اختبار A/B للمحتوى من أجل توفير تجربة مستخدم متّسقة على مستوى مواقع إلكترونية متعدّدة
- عرض زر تسجيل دخول مختلف للمستخدمين الذين لديهم حساب وللمستخدمين الذين ليس لديهم حساب
- تدوير تصميمات الإعلانات للحد من عدد مرّات ظهور الإعلان نفسه على مواقع إلكترونية متعدّدة
ما هي Select URL API؟
تتيح لك Select URL API الاختيار من بين مجموعة من عناوين URL استنادًا إلى data
على مستوى الموقع الإلكتروني. تم إنشاء واجهة برمجة التطبيقات استنادًا إلى
مساحة التخزين المشتركة وتستخدم SharedStorageWorklet
لقراءة البيانات المتاحة على جميع المواقع واختيار أحد عناوين URL المقدَّمة. يتم عرض عنوان URL الذي تم اختياره للمتصل بطريقة تمنع قراءته
إلا ضمن إطار محصور. يمكن أيضًا عرض عنوان URL في إطار iframe حتى
عام 2026 على الأقل.
في المخطّط البياني السابق، يمكن تضمين الموقع الإلكتروني shoes.example
في مواقع إلكترونية أخرى
تابعة للناشر مثل news.example
مع إمكانية الوصول إلى البيانات نفسها باستخدام ميزة "اختيار عنوان URL باستخدام مساحة التخزين المشتركة" لاختيار المحتوى المناسب لتضمينه.
آلية عمل ميزة "اختيار عنوان URL"
يمكنك استخدام Select URL API لاختيار عنوان URL ليتم عرضه في إطار محدود أو إطار iframe باستخدام data من مواقع إلكترونية متعددة. استخدِم JavaScript لقراءة البيانات على جميع المواقع وكتابتها في "مساحة التخزين المشترَكة"، ثم اختَر عنوان URL من قائمة مقدَّمة استنادًا إلى بياناتك المخزّنة.
يمكن أن يتضمّن عنوان URL المعروض أي نوع من المحتوى: الإعلانات والمقالات والصور وHTML وعبارات الحث على اتّخاذ إجراء (مثل الأزرار) وغير ذلك.
في هذا المثال، أنت تدير موقعًا إلكترونيًا للسفر وتُطلق حملة إعلانية تتضمّن ثلاثة تصاميم إعلانية مختلفة. تريد ترتيب هذه المواد الإبداعية استنادًا إلى تفاعلات المستخدِم (المشاهدة أو النقر).
عندما يرصد موقع إلكتروني مساحة إعلانية فائزة لأول مرة، يمكنك تخزين رقم تعريف وحالة النقرة لتصميم الإعلان هذا في "مساحة التخزين المشتركة".
على سبيل المثال:
await sharedStorage.set('last-creative', 'globe');
await sharedStorage.set('click', 'true');
وهذا يعني أنّه عند الفوز بمزاد إعلاني على مواقع إلكترونية أخرى يزورها هذا المستخدِم، يمكنك عرض إعلان مختلف استنادًا إلى هذه البيانات.
يتم تشغيل JavaScript في SharedStorageWorklet
لاسترداد هذه المعلومات، ولكن لا يمكن لرمزك التفاعل مع الإطار أو التواصل معه خارج إطار iframe أو الإطار المحدود في الصفحة الرئيسية.
على سبيل المثال، قد تريد اختبار المقالة التي ستحقق أداءً أفضل في سياق مضمّن. لاختبار ذلك، يمكنك تعيين مستخدم إلى مجموعة تجريبية عند ظهور هذا المستخدم على موقعك الإلكتروني، ثم تخزين رقم تعريف المجموعة هذا في "مساحة التخزين المشتركة" للوصول إليه في سياق على مستوى الموقع الإلكتروني. في موقع إلكتروني آخر، يمكنك استخدام Select URL API لاختيار عنوان URL الأنسب لعرضه في إطار محدود، استنادًا إلى مجموعة تجارب هذا المستخدم كما تم تخزينها باستخدام Shared Storage.
يتيح لك استخدام ميزة "اختيار عنوان URL" اتّخاذ قرارات مدروسة استنادًا إلى البيانات على جميع المواقع الإلكترونية، بدون مشاركة معلومات المستخدمين (مثل سجلّ المتصفّح أو تفاصيل شخصية أخرى) مع موقع إلكتروني مضمّن أو إخراج البيانات إلى خوادمك الخاصة.
الميزانيات
للحدّ من خطر تسرُّب البيانات على مستوى الموقع الإلكتروني، تستخدِم Select URL API نظامًا للميزانية يجمع بين الميزانيات طويلة الأجل والقصيرة الأجل:
- الميزانية على المدى الطويل: الميزانية على المدى الطويل هي
12 بتًا لكل موقع ويب للمتصل، في اليوم عند استخدام
selectURL()
. لا يتم تحصيل رسوم هذه الميزانية إلا إذا أجرى الإطار الذي يستضيف عنوان URL المحدّد عملية تنقّل في المستوى الأعلى، ويتم احتساب التكلفة على النحو التالي:log2(number of URLs)
. وبالتالي، إذا قدّمت 8 عناوين URL للاختيار من بينها، تكون التكلفة 3 بت. يتم احتساب أي ميزانية متبقية لليوم على النحو التالي:12 - (sum of bits deducted in the last 24 hours)
. إذا لم يتبقّ ميزانية كافية، يتم عرض عنوان URL التلقائي (عنوان URL الأول في القائمة) ويتم تسجيل بت واحد في حال الانتقال إلى عنوان URL التلقائي. الميزانيات قصيرة المدى: الميزانيات قصيرة المدى هي حدود إضافية لكل عملية carregar da página إلى أن يتم فرض الإطارات المُحدودة بالكامل وبينما تكون ميزة إعداد التقارير على مستوى الحدث متاحة. هناك ميزانية تبلغ 6 بت لكل موقع إلكتروني للاتصال، لكل تحميل صفحة تحدّ من مقدار ما يمكن أن يُسرِّب أحد المواقع الإلكترونية للاتصال باستخدام
selectURL()
. هناك أيضًا ميزانية 12 بتًا بشكل عام لكل عملية تحميل صفحة، وهي حدّ مجمع لجميع المواقع الإلكترونية التي تُجري عمليات طلب البيانات على الصفحة.تتيح لك ميزة "الطلبات المحفوظة" إعادة استخدام نتيجة
selectURL()
سابقة في الصفحة نفسها، وبالتالي، تقليل استخدام الميزانية على المدى القصير. عند استدعاءselectURL()
باستخدام اسم طلب بحث محفوظ للمرة الأولى، يتم تخزين الفهرس الناتج عن الإجراء طوال مدة عرض الصفحة. عند استدعاءselectURL()
باستخدام اسم الطلب المحفوظ نفسه لطلبات المتابعة، سيتم عرض الفهرس المخزّن ولن يتم تنفيذ العملية المسجّلة. في هذه الحالة، لا يتم تحصيل الميزانية إلا عند أول استخدام، ولكن ليس عند أي عمليات إعادة استخدام خلال عملية تحميل الصفحة نفسها لأنّه لا يتم الكشف عن أي معلومات جديدة.يمكنك تنفيذ طلبات البحث المحفوظة من خلال إضافة سمة savedQuery مع اسم طلب البحث الذي اختَرته إلى عنصر الخيارات، كما هو موضّح في هذا المثال.
.const topProductUrls = [ { url: 'https://ad.example/default-top-product.html' }, { url: 'https://ad.example/experiment-top-product.html' }]; const relatedProductUrls = [ { url: 'https://ad.example/default-related-product.html' }, { url: 'https://ad.example/experiment-related-product.html' }]; // This is the first call to `selectURL()` with `savedQuery: 'control_or_experiment'` // on this page, so it will be charged to both per-page budgets. const topProductsConfig = await sharedStorage.selectURL( 'productExperiment', topProductUrls, { savedQuery: 'control_or_experiment', keepAlive: true, resolveToConfig: true }); document.getElementById('topProductsFencedFrame').config = topProductsConfig; // This next call with this savedQuery won't charge either of the per-page budgets. const relatedProductConfig = await sharedStorage.selectURL( 'productExperiment', relatedProductUrls, { savedQuery: 'control_or_experiment', resolveToConfig: true }); document.getElementById("relatedProductFencedFrame").config = relatedProductConfig;
اختيار حالات استخدام واجهة برمجة التطبيقات URL
إذا كنت بصدد إنشاء موقع إلكتروني يتضمّن ميزات يجب أن تعمل على مستويات مختلفة من النطاقات، قد تنطبق عليك إحدى حالات الاستخدام التالية:
- تبديل تصميمات الإعلانات: يمكنك الحد من عدد مرات ظهور الإعلان نفسه للمستخدم على مواقع إلكترونية متعدّدة من خلال تخزين البيانات، مثل رقم تعريف تصميم الإعلان وعدد المشاهدات وتفاعل المستخدِم، لتحديد تصميمات الإعلانات التي تظهر للمستخدِمين على المواقع الإلكترونية المختلفة. يتيح لك ذلك موازنة المشاهدات وتجنُّب عرض محتوى معيّن بشكل مفرط لتجنُّب تجربته السلبية المحتملة. لمزيد من المعلومات عن حالة الاستخدام هذه، اطّلِع على تبديل تصميمات الإعلانات.
- اختيار تصميم الإعلان حسب معدّل التكرار: يمكنك تخزين أعداد مشاهدات المتصفّح في "مساحة التخزين المشترَكة" لتقييد عدد مرّات ظهور الإعلان نفسه للمستخدم على عدّة مواقع إلكترونية. للاطّلاع على مزيد من المعلومات عن حالة الاستخدام هذه، يُرجى الاطّلاع على اختيار تصميم إعلان حسب معدّل التكرار.
- تخصيص تجربة المستخدِم للعملاء المعروفين: يمكنك تقديم تجربة متّسقة على مستوى نطاقاتك المختلفة. يمكنك مشاركة محتوى مخصّص و طلبات لإجراء استنادًا إلى حالة تسجيل المستخدم أو حالات المستخدم الأخرى، وتقديم تجربة متّسقة في جميع نطاقاتك المختلفة. لمزيد من المعلومات عن حالة الاستخدام هذه، اطّلِع على تخصيص تجربة المستخدِم للعملاء المعروفين.
- إجراء اختبار أ/ب: يقارن اختبار أ/ب نسختَين أو أكثر من أحد الإعدادات لتحديد الإعداد الأفضل أداءً. يمكنك إسناد مستخدم إلى مجموعة تجربية، ثم تخزين هذه المجموعة في مساحة التخزين المشتركة للوصول إليها من جميع المواقع. يتيح لك ذلك جمع إحصاءات عن سلوك المستخدِمين على مستوى شبكتك من المواقع الإلكترونية، بدون تتبُّع الأفراد. لمزيد من المعلومات عن حالة الاستخدام هذه، اطّلِع على مقالة إجراء اختبار أ/ب.
تتيح لك واجهة برمجة التطبيقات Select URL API مع مساحة التخزين المشتركة تطوير حالات الاستخدام هذه من خلال الوصول إلى مساحة التخزين نفسها على مستوى مختلف المواقع الإلكترونية ذات المستوى الأعلى.
تجربة الإصدار التجريبي
يمكنك تجربة ميزة "اختيار عنوان URL" باستخدام الإصدار التجريبي من "مساحة التخزين المشتركة".
تم إنشاء هذا العرض التقديمي من منظور معلِن أو تكنولوجيا إعلانية أو موزّع محتوًى أو خدمة تابعة لجهة خارجية أخرى تريد تخزين المعلومات على مواقع إلكترونية مختلفة للناشرين. في العرض التجريبي، يتم تشغيل الرمز التابع لجهة خارجية نفسه على كلٍّ من موقعَي الناشر "أ" والناشر "ب" لكل حالة استخدام. يُرجى الانتقال إلى صفحة كل ناشر للاطّلاع على كيفية مشاركة البيانات في سياق على مستوى المواقع الإلكترونية.
يمكنك أيضًا مراجعة رمز العرض الترويجي على GitHub.
حالة واجهة برمجة التطبيقات
أصبحت واجهة برمجة التطبيقات Select URL API متاحة في الإصدار العلني. لاستخدام واجهة برمجة التطبيقات Select URL API أو تفعيلها لتطوير التطبيقات على الجهاز، اتّبِع التعليمات المتعلقة ب التسجيل في "مبادرة حماية الخصوصية".
الاقتراح | الحالة |
---|---|
إعداد التقارير على مستوى الحدث لميزة "اختيار المحتوى" (selectURL() ) |
متوفّرة حتى عام 2026 على الأقل |
تحديد الميزانية لكلّ موقع إلكتروني الشرح |
متوفّر في الإصدار M119 |
تصحيح أخطاء وحدات "مساحة التخزين المشتركة" باستخدام "أدوات المطوّرين" القسم |
متوفّر في M120 |
التفاعل مع الملاحظات ومشاركتها
يُرجى العلم أنّ اقتراح Select URL API قيد المناقشة والتطوير ويخضَع للتغيير.
يسرّنا معرفة رأيك في Select URL API.
- العرض: راجِع العرض التفصيلي.
- المناقشة: يمكنك الانضمام إلى المناقشة الجارية لطرح الأسئلة ومشاركة الإحصاءات.
الاطّلاع على آخر الأخبار
- القائمة البريدية: يمكنك الاشتراك في قائمتنا البريدية للحصول على آخر الأخبار والإشعارات المتعلّقة بواجهتَي برمجة التطبيقات Select URL وShared Storage.
هل أنت بحاجة إلى مساعدة؟
- دعم المطوّرين: يمكنك التواصل مع مطوّرين آخرين والحصول على إجابات عن أسئلتك في مستودع دعم المطوّرين في "مبادرة حماية الخصوصية".