عرض إعلان

عندما يعرض مزاد جمهور محمي إعلان مُقترَح، يمكن عرضه إما كرقم URN مبهم يُستخدَم لعرض إعلان في iframe، أو FencedFrameConfig يُستخدم لعرض الإعلان في إطار مضمّن مستقل.

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

ما هي الإطارات المضمّنة؟

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

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

ما هي آلية عمل الإطارات المضمّنة؟

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

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

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

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

يوضّح هذا الشرح بالتفصيل خصائص الإطارات المضمّنة بين أسوار التوصيل.

عرض إعلان في إطار مضمّن مستقل

يتم عرض FencedFrameConfig من مزاد "الجمهور المحمي"، بشرط ضبط معلَمة AuctionConfig resolveToConfig على "صحيح":

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 أو إذا تم تعيينها على false، فإن runAdAuction() تعرض رقم URN معتمًا. يمكن ضبط رقم URN هذا باعتباره رقم src الخاص بـ iframe لعرض الإعلان.