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

IMA SDK का इस्तेमाल करने पर, ज़्यादातर पब्लिशर इन कंट्रोल को, विज्ञापन दिखाने वाले कंटेनर के ऊपर एक व्यू जोड़कर लागू करते हैं. यह व्यू ज़्यादातर पारदर्शी होता है. आम तौर पर, कंट्रोल इस व्यू के चाइल्ड एलिमेंट होते हैं. ये एलिमेंट, वीडियो प्लेयर को पूरी तरह से कवर करते हैं. इस पारदर्शी ओवरले का इस्तेमाल, टैप इवेंट कैप्चर करने के लिए किया जाता है. इसके बाद, टैप करने पर लोगों को कंट्रोल रेंडर किए जाते हैं.
ओपन मेज़रमेंट एसडीके का इस्तेमाल करके, विज्ञापन दिखने से जुड़े आंकड़े का हिसाब लगाते समय, मीडिया एलिमेंट को ओवरले करने वाले सभी व्यू को रुकावटें माना जाता है. इससे विज्ञापन दिखने की दर कम हो जाती है. अगर कोई पारदर्शी टैप ओवरले, विज्ञापन दिखाने वाले पूरे कंटेनर के ऊपर मौजूद है, तो इन्वेंट्री को पूरी तरह से न दिखने वाला बताया जा सकता है.
ओपन मेज़रमेंट एसडीके में, वीडियो कंट्रोल को "फ़्रेंडली" रुकावटें माना जाता है. ये रुकावटें, लोगों के अनुभव के लिए ज़रूरी होती हैं. फ़्रेंडली के तौर पर रजिस्टर होने के बाद, इन कंट्रोल को विज्ञापन दिखने से जुड़े आंकड़ों के मेज़रमेंट से बाहर रखा जाता है.
IAB और MRC के साथ काम करने वाले IMA SDK में, इन ओवरले को ओपन मेज़रमेंट एसडीके के साथ रजिस्टर करने के लिए एक एपीआई शामिल है. ये कंट्रोल, पूरी तरह से पारदर्शी ओवरले या छोटे बटन होने चाहिए. वीडियो कंट्रोल से जुड़े न होने वाले किसी भी अन्य व्यू को रजिस्टर नहीं किया जाना चाहिए.
| रजिस्टर करें | रजिस्टर न करें |
|---|---|
|
|
यहां दिए गए सैंपल कोड से पता चलता है कि विज्ञापन दिखाने वाले कंटेनर पर, वीडियो कंट्रोल के ओवरले को कैसे रजिस्टर किया जाता है:
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()
}