iOS के लिए IMA SDK में, ओपन मेज़रमेंट (ओएम) SDK शामिल है. यह एक इंडस्ट्री स्टैंडर्ड है, जिसे Interactive Advertising Bureau (IAB) ने डेवलप किया है. इससे तीसरे पक्ष को विज्ञापन दिखने से जुड़े आंकड़े और पुष्टि करने के मेज़रमेंट की सुविधा मिलती है. iOS के लिए IMA SDK का इस्तेमाल करने पर, इसमें शामिल OM SDK, VAST विज्ञापन टैग में मौजूद <AdVerifications> टैग को अपने-आप पार्स करता है. साथ ही, OMID API का इस्तेमाल करके, विज्ञापन दिखने से जुड़े आंकड़ों का डेटा, मेज़रमेंट की सेवा देने वाले वेंडर को भेजता है. आईएमए SDK, OM SDK v1.6, VAST 2+ पर GAM AdVerifications एक्सटेंशन, और VAST 4+ पर AdVerifications नोड के साथ काम करता है.ओपन मेज़रमेंट का फ़ायदा पाने के लिए, इन बातों का ध्यान रखें:
ओपन मेज़रमेंट का इस्तेमाल करने के लिए, आपके पास iOS के लिए IMA SDK का 3.9.0 या इसके बाद का वर्शन होना चाहिए.
वीएएसटी 4.1 की खास जानकारी के मुताबिक, विज्ञापनों को उनके वीएएसटी में
<AdVerifications>को ट्रैफ़िक करने के लिए कॉन्फ़िगर किया जाना चाहिए. ऐसा तब करना चाहिए, जब वीएएसटी 4.1+ का इस्तेमाल किया जा रहा हो. ऐसा न होने पर,<Extension type="AdVerifications">का इस्तेमाल किया जाना चाहिए.AdDisplayContainerको किसी भी ओवरले (पारदर्शी या अपारदर्शी) से न ढकें. ऐसा करने पर, ओएम एसडीके इन्हें रुकावट के तौर पर फ़्लैग करेगा और विज्ञापन दिखने से जुड़े आंकड़े कम हो जाएंगे.
ज़रूरी शर्तें
- अगर आपके विज्ञापन, Ad Manager के ज़रिए दिखाए जाते हैं, तो अपने Ad Manager नेटवर्क के लिए, विज्ञापन दिखने से जुड़े आंकड़ों की जानकारी देने वाली कंपनी को कॉन्फ़िगर करें. साथ ही, विज्ञापन दिखने से जुड़े आंकड़ों की जानकारी देने वाली उस कंपनी को अपने लाइन आइटम को असाइन करें.
टेस्ट करना
आईएमए एसडीके का इस्तेमाल करके ओपन मेज़रमेंट की जांच करने के लिए, आईएमए के ऐसे वर्शन का इस्तेमाल करें जो ओएम एसडीके के साथ-साथ टेस्ट विज्ञापन टैग के साथ काम करता हो.
आपको अपने वीएएसटी रिस्पॉन्स में <AdVerifications> दिखना चाहिए.
वीडियो कंट्रोल ओवरले में रुकावट डालने वाले एलिमेंट रजिस्टर करना
वीडियो कंट्रोल, जैसे कि रोकने वाले बटन या प्रोग्रेस बार, उपयोगकर्ताओं को वीडियो चलाने से जुड़ी ज़रूरी जानकारी और कार्रवाइयां उपलब्ध कराते हैं. मोबाइल पर, गलत टैप और उपयोगकर्ता की उम्मीदों की वजह से, मीडिया एलिमेंट पर बड़े और टच-फ़्रेंडली कंट्रोल रेंडर करना आम बात हो गई है. आम तौर पर, ये कंट्रोल उपयोगकर्ता के टैप करने पर दिखते हैं और फिर गायब हो जाते हैं. साथ ही, वीडियो चलने के दौरान ज़्यादातर समय नहीं दिखते.
वीडियो कंट्रोल को ओवरले करने का उदाहरण देखने के लिए, YouTube ऐप्लिकेशन के रेंडरिंग कंट्रोल की यह इमेज देखें:

आईएमए एसडीके का इस्तेमाल करते समय, ज़्यादातर पब्लिशर इन कंट्रोल को लागू करने के लिए, विज्ञापन दिखाने वाले कंटेनर के ऊपर एक व्यू जोड़ते हैं. यह व्यू ज़्यादातर पारदर्शी होता है. आम तौर पर, कंट्रोल इस व्यू के चाइल्ड एलिमेंट होते हैं. ये एलिमेंट, वीडियो प्लेयर को पूरी तरह से छिपा देते हैं. इस पारदर्शी ओवरले का इस्तेमाल, टैप इवेंट को कैप्चर करने के लिए किया जाता है. इसके बाद, टैप करने पर उपयोगकर्ताओं को कंट्रोल रेंडर किए जाते हैं.
जब ओपन मेज़रमेंट एसडीके का इस्तेमाल करके, विज्ञापन दिखने की दर का हिसाब लगाया जाता है, तो मीडिया एलिमेंट को ओवरले करने वाले सभी व्यू को रुकावट माना जाता है. इससे विज्ञापन दिखने की दर कम हो जाती है. अगर पूरे विज्ञापन डिसप्ले कंटेनर के ऊपर पारदर्शी टैप ओवरले मौजूद है, तो हो सकता है कि इन्वेंट्री को पूरी तरह से न दिखने वाली इन्वेंट्री के तौर पर घोषित कर दिया जाए.
ओपन मेज़रमेंट एसडीके, वीडियो कंट्रोल को "फ़्रेंडली" रुकावटों के तौर पर मानने का प्रावधान करता है. ये रुकावटें, उपयोगकर्ता के अनुभव के लिए ज़रूरी होती हैं. एक बार फ़्रेंडली के तौर पर रजिस्टर होने के बाद, इन कंट्रोल को विज्ञापन दिखने की दर के मेज़रमेंट से बाहर कर दिया जाता है.
आईएबी और एमआरसी की मदद से, आईएमए एसडीके इन ओवरले को ओपन मेज़रमेंट एसडीके के साथ रजिस्टर करने के लिए एक एपीआई उपलब्ध कराता है. ये कंट्रोल, पूरी तरह से पारदर्शी ओवरले या छोटे बटन होने चाहिए. वीडियो कंट्रोल से जुड़े अन्य व्यू को रजिस्टर नहीं किया जाना चाहिए.
| रजिस्टर करें | रजिस्टर न करें |
|---|---|
|
|
यहां दिए गए सैंपल कोड में, विज्ञापन दिखाने वाले कंटेनर पर वीडियो कंट्रोल ओवरले को रजिस्टर करने का तरीका बताया गया है:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Replace myTransparentTapOverlay and myPauseButton with your own elements
// that function as video control 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];
जब आपको इन रुकावटों की ज़रूरत न हो, तो इन्हें हटाया जा सकता है. इसके लिए, यह तरीका अपनाएं:
Objective-C
- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
// This removes all previously registered friendly obstructions from the container.
[displayContainer unregisterAllFriendlyObstructions];
}
Swift
func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
// This removes all previously registered friendly obstructions from the container.
displayContainer.unregisterAllFriendlyObstructions()
}