iOS के लिए IMA SDK टूल में, ओपन मेज़रमेंट (ओएम) SDK टूल शामिल है. यह इंटरैक्टिव विज्ञापन ब्यूरो (आईएबी) के बनाए गए इंडस्ट्री स्टैंडर्ड का पालन करता है. इसका मकसद, तीसरे पक्ष के ज़रिए विज्ञापन दिखने और उसकी पुष्टि से जुड़े आंकड़ों को मेज़र करना है. iOS के लिए IMA SDK का इस्तेमाल करते समय, इसमें शामिल OM SDK, VAST विज्ञापन टैग में <AdVerifications>
टैग को अपने-आप पार्स करता है. साथ ही, OMID API की मदद से, तय किए गए मेज़रमेंट वेंडर को व्यूबिलिटी डेटा भेजता है. IMA SDK, OM SDK v1.4, VAST 2+ पर GAM AdVerifications एक्सटेंशन, और VAST 4+ पर AdVerifications नोड के साथ काम करता है. Open Measurement का फ़ायदा पाने के लिए, इन बातों का ध्यान रखें:
Open Measurement का इस्तेमाल करने के लिए, आपके पास iOS के लिए IMA SDK टूल का 3.9.0 या इसके बाद का वर्शन होना चाहिए.
अगर वीएएसटी 4.1 या इसके बाद के वर्शन का इस्तेमाल किया जा रहा है, तो विज्ञापनों को वीएएसटी 4.1 स्पेसिफ़िकेशन के मुताबिक, वीएएसटी में ट्रैफ़िक
<AdVerifications>
के लिए कॉन्फ़िगर किया जाना चाहिए. ऐसा न करने पर,<Extension type="AdVerifications">
का इस्तेमाल किया जाना चाहिए.AdDisplayContainer
को किसी भी ओवरले (पारदर्शी या अपारदर्शी) से न ढकें, क्योंकि OM SDK इन पर रुकावट के तौर पर फ़्लैग कर देगा और विज्ञापन दिखने से जुड़े आंकड़े कम हो जाएंगे.
ज़रूरी शर्तें
- अगर आपके विज्ञापनों को Ad Manager के ज़रिए ट्रैफ़िक मिलता है, तो अपने Ad Manager नेटवर्क के लिए व्यूबिलिटी प्रोवाइडर को कॉन्फ़िगर करें और उस व्यूबिलिटी प्रोवाइडर को अपने लाइन आइटम पर असाइन करें.
टेस्ट करना
IMA SDK टूल का इस्तेमाल करके, ओपन मेज़रमेंट की जांच करने के लिए, ऊपर दिए गए SDK टूल के ज़रूरी वर्शन में से किसी एक का इस्तेमाल करें. साथ ही, टेस्ट विज्ञापन टैग का भी इस्तेमाल करें.
आपको अपने VAST रिस्पॉन्स में <AdVerifications>
दिखेगा.
वीडियो कंट्रोल ओवरले में आने वाली रुकावटों को रजिस्टर करना
वीडियो कंट्रोल, जैसे कि रोकने के बटन या प्रोग्रेस बार, उपयोगकर्ताओं को वीडियो चलाने से जुड़ी ज़रूरी जानकारी और कार्रवाइयां देते हैं. मोबाइल पर, सही जगह पर टैप न करने और उपयोगकर्ता की उम्मीदों की वजह से, मीडिया एलिमेंट पर बड़े और टच-फ़्रेंडली कंट्रोल रेंडर करना आम बात हो गई है. आम तौर पर, ये कंट्रोल उपयोगकर्ता के टैप करने पर फ़ेड इन और फ़ेड आउट होते हैं. साथ ही, वीडियो चलाने के ज़्यादातर समय के लिए ये कंट्रोल नहीं दिखते.
यहां YouTube ऐप्लिकेशन से रेंडर किए गए वीडियो कंट्रोल का उदाहरण दिया गया है:
IMA SDK टूल का इस्तेमाल करते समय, ज़्यादातर पब्लिशर विज्ञापन डिसप्ले कंटेनर के ऊपर एक ऐसा व्यू जोड़कर इन कंट्रोल को लागू करते हैं जो ज़्यादातर पारदर्शी होता है. आम तौर पर, कंट्रोल इस व्यू के चाइल्ड एलिमेंट होते हैं, जो वीडियो प्लेयर को पूरी तरह से छिपा देते हैं. इस पारदर्शी ओवरले का इस्तेमाल टैप इवेंट कैप्चर करने के लिए किया जाता है. इसके बाद, टैप करने पर उपयोगकर्ताओं को कंट्रोल रेंडर किए जाते हैं.
जब ओपन मेज़रमेंट SDK की मदद से विज्ञापन दिखने से जुड़े आंकड़ों का हिसाब लगाया जाता है, तो मीडिया एलिमेंट को ओवरले करने वाले सभी व्यू को रुकावट माना जाता है. इससे विज्ञापन दिखने की दर कम हो जाती है. अगर पूरे विज्ञापन डिसप्ले कंटेनर के ऊपर, पारदर्शी टैप ओवरले है, तो हो सकता है कि इन्वेंट्री को पूरी तरह से न दिखने वाला माना जाए.
Open Measurement SDK टूल, वीडियो कंट्रोल को "फ़्रेंडली" रुकावटों के तौर पर इस्तेमाल करने की सुविधा देता है. ये रुकावटें, उपयोगकर्ता के अनुभव के लिए ज़रूरी होती हैं. उपयोगकर्ता के अनुभव को बेहतर बनाने वाले कंट्रोल के तौर पर रजिस्टर होने के बाद, इन्हें विज्ञापन व्यूबिलिटी मेज़रमेंट से बाहर रखा जाता है.
IAB और MRC की मदद से, IMA SDK टूल ने एक एपीआई पेश किया है. इसकी मदद से, इन ओवरले को Open Measurement SDK टूल के साथ रजिस्टर किया जा सकता है. ये कंट्रोल, पूरी तरह से पारदर्शी ओवरले या छोटे बटन होने चाहिए. वीडियो कंट्रोल से जुड़े किसी भी अन्य व्यू को रजिस्टर नहीं किया जाना चाहिए.
DO register | रजिस्टर न करें |
---|---|
|
|
यहां दिए गए सैंपल कोड में, विज्ञापन डिसप्ले कंटेनर पर वीडियो कंट्रोल ओवरले रजिस्टर करने का तरीका बताया गया है:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the elements
// you want to register as video controls overlays.
// Make sure to register before ad playback starts.
IMAFriendlyObstruction *overlayObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
purpose:IMAFriendlyObstructionPurposeNotVisible
detailedReason:@"This overlay is transparent"];
IMAFriendlyObstruction *pauseButtonObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myPauseButton
purpose:IMAFriendlyObstructionPurposeMediaControls
detailedReason:@"This is the video player pause button"];
[displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];
जब आपका काम हो जाए, तो इन रुकावटों को हटाया जा सकता है. इसके लिए, यह तरीका अपनाएं:
[displayContainer unregisterAllFriendlyObstructions];