هنگامی که یک حراج مخاطب محافظت شده یک نامزد تبلیغاتی را برمی گرداند، می توان آن را به عنوان یک URN غیرشفاف، که برای ارائه یک آگهی در یک iframe استفاده می شود، یا یک FencedFrameConfig که برای نمایش آگهی در یک قاب محصور استفاده می شود، برگرداند.
این راهنما توضیح میدهد که قاب حصاردار چیست و چرا به آن نیاز است، و همچنین نحوه ارائه آگهی با استفاده از هر روش. برای نگاهی عمیق تر به قاب های حصارکشی شده، اطلاعات بیشتری را در این راهنما یا در پیشنهاد پیدا کنید.
قاب های فنس دار چیست؟
یک قاب حصاردار ( <fencedframe> ) یک عنصر HTML برای محتوای جاسازی شده است، شبیه به iframe . برخلاف iframe s، یک قاب حصاردار ارتباط با زمینه تعبیهشده خود را محدود میکند تا به قاب اجازه دسترسی به دادههای بین سایتی را بدون اشتراکگذاری آن با زمینه تعبیهشده بدهد. به طور مشابه، هر داده شخص اول در زمینه جاسازی نمی تواند با قاب حصاردار به اشتراک گذاشته شود.
برای مثال، بگویید news.example (زمینه جاسازی) تبلیغی را از shoes.example در یک قاب حصاردار جاسازی می کند. news.example نمی تواند داده ها را از تبلیغات shoes.example استخراج کند و shoes.example نمی تواند داده های شخص اول را از news.example بیاموزد.
قاب های حصاری چگونه کار می کنند؟
فریم های حصاردار از شی FencedFrameConfig برای پیمایش استفاده می کنند. این شی را می توان از حراج مخاطب محافظت شده برگرداند. سپس، شی config به عنوان ویژگی config در عنصر قاب حصاردار تنظیم می شود. این با iframe که در آن یک URL یا URL مات به ویژگی src اختصاص داده می شود متفاوت است. شی FencedFrameConfig دارای یک ویژگی url فقط خواندنی است. با این حال، از آنجایی که موارد استفاده فعلی نیاز به پنهان شدن URL واقعی منبع داخلی دارند، این ویژگی رشته را هنگام خواندن مات برمی گرداند.
یک قاب حصاردار نمی تواند از postMessage برای برقراری ارتباط با جاسازی کننده خود استفاده کند. با این حال، یک قاب حصاردار می تواند از postMessage با iframe s در داخل قاب حصاردار استفاده کند.
قاب های حصاردار به روش های دیگری از ناشر جدا می شوند. ناشر به DOM داخل قاب حصاردار دسترسی نخواهد داشت و قاب حصاردار نمی تواند به DOM ناشر دسترسی داشته باشد. علاوه بر این، ویژگیهایی مانند name ، که میتواند روی هر مقداری تنظیم شود و توسط ناشر مشاهده شود، در قابهای حصاردار موجود نیستند.
قابهای حصاردار مانند یک زمینه مرور سطح بالا (مانند برگه مرورگر) رفتار میکنند. اگرچه یک قاب حصاردار در موارد استفاده خاص (مانند opaque-ads ) میتواند حاوی دادههای متقابل سایت باشد (مانند گروه علاقهمندی API مخاطب محافظتشده)، قاب نمیتواند به فضای ذخیرهسازی یا کوکیهای پارتیشن نشده دسترسی داشته باشد. یک قاب حصاردار opaque-ads میتواند به یک کوکی و پارتیشن ذخیرهسازی منحصربهفرد و غیرمبتنی دسترسی داشته باشد.
مشخصات قاب های حصارکشی شده در توضیح بیشتر توضیح داده شده است.
یک تبلیغ را در یک قاب حصاردار ارائه دهید
یک FencedFrameConfig از حراج مخاطب محافظت شده برگردانده می شود، مشروط بر اینکه پارامتر AuctionConfig s resolveToConfig روی true تنظیم شده باشد:
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 می تواند به عنوان یک iframe 's src برای ارائه آگهی تنظیم شود.