जब Protected Audience से जुड़ी नीलामी की मदद से, कोई विज्ञापन दिखाया जाता है, तो
एक ओपेक URN के तौर पर दिखाया जाता है, जिसका इस्तेमाल iframe
या
FencedFrameConfig
. इसका इस्तेमाल, फ़ेंस किए गए फ़्रेम में विज्ञापन को रेंडर करने के लिए किया जाता है.
यह गाइड आपको बताएगी कि फ़ेंस वाला फ़्रेम क्या है और इसकी ज़रूरत क्यों है. साथ ही, में से किसी एक तरीके का इस्तेमाल करके विज्ञापन रेंडर करने में कैसे मदद मिलेगी. चारदीवारी से जुड़े फ़्रेम के बारे में ज़्यादा जानने के लिए, इस गाइड या प्रपोज़ल में जाएं.
फ़ेंस किए गए फ़्रेम क्या हैं?
फ़ेंस किया गया फ़्रेम (<fencedframe>
), एम्बेड किए गए कॉन्टेंट के लिए एचटीएमएल एलिमेंट है,
iframe
से मिलता-जुलता. फ़ेंस वाला फ़्रेम iframe
के उलट, बातचीत करने की अनुमति नहीं देता
साथ ही, इसके लिंक करने की प्रोसेस से, फ़्रेम को क्रॉस-साइट डेटा का ऐक्सेस दिया जा सकता है.
और उसे एम्बेड करने के कॉन्टेक्स्ट के साथ शेयर करें. इसी तरह,
एम्बेड करने के संदर्भ को फ़ेंस किए गए फ़्रेम के साथ शेयर नहीं किया जा सकता.
उदाहरण के लिए, मान लें कि news.example
(एम्बेड करने का संदर्भ), इससे कोई विज्ञापन एम्बेड करता है
फ़ेंस किए गए फ़्रेम में shoes.example
. news.example
से डेटा बाहर निकाला नहीं जा सकता
shoes.example
विज्ञापन और shoes.example
पहले पक्ष (ग्राहक) के डेटा का इस्तेमाल नहीं कर सकता
news.example
.
फ़ेंस वाले फ़्रेम कैसे काम करते हैं?
फ़ेंस किए गए फ़्रेम, नेविगेशन के लिए FencedFrameConfig
ऑब्जेक्ट का इस्तेमाल करते हैं. यह ऑब्जेक्ट ये कर सकता है
Protected Audience API से मिलने वाली नीलामी से, आपको वापस लाया जा सकता है. इसके बाद, कॉन्फ़िगरेशन ऑब्जेक्ट इस तरह सेट होता है
फ़ेंस किए गए फ़्रेम एलिमेंट पर, config
एट्रिब्यूट. यह iframe
से अलग है
जहां src
एट्रिब्यूट को यूआरएल या ओपेक URN असाइन किया जाता है. कॉन्टेंट बनाने
FencedFrameConfig
ऑब्जेक्ट में, रीड-ओनली url
प्रॉपर्टी है; हालांकि, क्योंकि
मौजूदा इस्तेमाल के उदाहरणों में, इंटरनल रिसॉर्स के असल यूआरएल को छिपाना ज़रूरी है,
जब पढ़ा जाता है तो यह प्रॉपर्टी स्ट्रिंग को ओपेक देती है.
फ़ेंस किया गया फ़्रेम, अपने एम्बेडर के साथ कम्यूनिकेट करने के लिए, postMessage
का इस्तेमाल नहीं कर सकता.
हालांकि, फ़ेंस किया गया फ़्रेमpostMessage
iframe
फ़ेंस वाला फ़्रेम.
फ़ेंस किए गए फ़्रेम, पब्लिशर से दूसरे तरीकों से अलग किए जाएंगे. प्रकाशक
फ़ेंस किए गए फ़्रेम और फ़ेंस किए गए फ़्रेम के अंदर के DOM को ऐक्सेस नहीं कर पाएगा
प्रकाशक के DOM को ऐक्सेस नहीं कर सकता. इसके अलावा, name
जैसे एट्रिब्यूट की मदद से, ये काम किए जा सकते हैं
पब्लिशर की ओर से मॉनिटर की गई और किसी भी वैल्यू पर सेट की जानी चाहिए. ये फ़ेंस्ड में उपलब्ध नहीं हैं
फ़्रेम.
फ़ेंस किए गए फ़्रेम किसी टॉप-लेवल ब्राउज़िंग कॉन्टेक्स्ट की तरह काम करते हैं (जैसे कि ब्राउज़र
टैब). हालांकि, इस्तेमाल के कुछ खास उदाहरणों में फ़ेंस्ड फ़्रेम (जैसे, opaque-ads
)
इसमें क्रॉस-साइट डेटा शामिल हो सकता है (जैसे कि Protected Audience API इंटरेस्ट ग्रुप),
फ़्रेम मौजूदा स्टोरेज या कुकी को ऐक्सेस नहीं कर सकता. opaque-ads
ने फ़ेंस किया है
फ़्रेम एक यूनीक, नॉन्स-आधारित कुकी और स्टोरेज पार्टिशन को ऐक्सेस कर सकता है.
फ़ेंस किए गए फ़्रेम की विशेषताओं के बारे में ज़्यादा जानकारी एक्सप्लेनर में दी गई है.
चारदीवारी से बने फ़्रेम में विज्ञापन बनाएं
Protected Audience API से हुई नीलामी में, 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
को साफ़ तौर पर सेट नहीं करता है या सेट है
गलत पर, runAdAuction()
एक ओपेक URN देता है. इस URN को
विज्ञापन को रेंडर करने के लिए iframe
का src
.