عرض إعلان

عندما يعرض مزاد Protected Audience إعلانًا مرشّحًا، يمكن عرض هذا الإعلان كعنوان URN مبهم، ويُستخدم لعرض الإعلان في iframe، أو كـ FencedFrameConfig، ويُستخدم لعرض الإعلان في إطار محمي.

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

ما هي الأُطر المضمّنة المستقلة؟

الإطار المحصور (<fencedframe>) هو عنصر HTML للمحتوى المضمّن، على غرار iframe. على عكس iframe، يقيّد الإطار المحصور التواصل مع سياق التضمين للسماح للإطار بالوصول إلى البيانات على مستوى المواقع الإلكترونية بدون مشاركتها مع سياق التضمين. وبالمثل، لا يمكن مشاركة أي بيانات خاصة بالطرف الأول في سياق التضمين مع الإطار المحصور.

على سبيل المثال، لنفترض أنّ news.example (سياق التضمين) يضمّن إعلانًا من shoes.example في إطار مسوّر. لا يمكن news.example استخراج البيانات من الإعلان shoes.example، ولا يمكن shoes.example التعرّف على بيانات الطرف الأول من news.example.

كيف تعمل الإطارات المحصّنة؟

تستخدم الإطارات المحصّنة العنصر FencedFrameConfig للتنقّل. يمكن عرض هذا العنصر من خلال مزاد Protected Audience API. بعد ذلك، يتم ضبط عنصر الإعدادات كسمة config في عنصر الإطار المحصور. يختلف ذلك عن iframe حيث يتم تعيين عنوان URL أو URN مبهم إلى السمة src. يحتوي العنصر FencedFrameConfig على السمة url للقراءة فقط، ولكن بما أنّ حالات الاستخدام الحالية تتطلّب إخفاء عنوان URL الفعلي للمورد الداخلي، تعرض هذه السمة السلسلة opaque عند قراءتها.

لا يمكن لإطار محصور استخدام postMessage للتواصل مع الجهة التي تضمّنه. ومع ذلك، يمكن لإطار محصور استخدام postMessage مع iframe داخل الإطار المحصور.

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

تتصرّف الإطارات المحصّنة مثل سياق تصفّح من المستوى الأعلى (مثل علامة تبويب في المتصفّح). على الرغم من أنّ إطارًا محميًا في بعض حالات الاستخدام (مثل opaque-ads) يمكن أن يحتوي على بيانات على مستوى المواقع الإلكترونية (مثل مجموعة اهتمامات في Protected Audience API)، لا يمكن للإطار الوصول إلى مساحة التخزين أو ملفات تعريف الارتباط غير المقسّمة. يمكن لإطار opaque-ads محصور الوصول إلى ملف تعريف ارتباط فريد يستند إلى قيمة الاستخدام لمرة واحدة وقسم تخزين.

يمكنك الاطّلاع على مزيد من التفاصيل حول خصائص الإطارات المحصورة في الشرح.

عرض إعلان في إطار محمي

يتم عرض FencedFrameConfig من مزاد Protected Audience API، شرط أن تكون قيمة المَعلمة resolveToConfig في AuctionConfig هي "صحيح":

const frameConfig = await navigator.runAdAuction({
  // ...auction configuration
  resolveToConfig: true
});

بعد الحصول على الإعداد، يمكنك تعيينه إلى السمة config في إطار محصور للانتقال بالإطار إلى المورد الذي يمثّله الإعداد. لا تتوافق الإصدارات القديمة من Chrome مع السمة resolveToConfig، لذا عليك التأكّد من أنّ الوعد تم تنفيذه إلى FencedFrameConfig قبل الانتقال إلى صفحة أخرى:

if (window.FencedFrameConfig && frameConfig instanceof FencedFrameConfig) {
  const frame = document.createElement('fencedframe');
  frame.config = frameConfig;
}

عرض إعلان في إطار iframe

إذا لم يضبط AuctionConfig resolveToConfig بشكلٍ صريح أو إذا تم ضبطه على "خطأ"، يعرض runAdAuction() معرّف موارد موحّدًا مبهمًا. يمكن ضبط معرّف الموارد الموحّد هذا كـ src الخاص بـ iframe لعرض الإعلان.