هنگامی که یک حراج مخاطب محافظت شده یک نامزد تبلیغاتی را برمی گرداند، می توان آن را به عنوان یک 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
برای ارائه آگهی تنظیم شود.