ओपन मेज़रमेंट की सुविधा चालू करना

प्लैटफ़ॉर्म चुनें: HTML5 Android iOS

iOS के लिए IMA SDK में, ओपन मेज़रमेंट (ओएम) SDK शामिल है. यह इंडस्ट्री का एक स्टैंडर्ड है, जिसे इंटरैक्टिव ऐडवर्टाइज़िंग ब्यूरो (IAB) ने बनाया है. इसकी मदद से, तीसरे पक्ष के विज्ञापन दिखने से जुड़े आंकड़े मेज़र किए जा सकते हैं और उनकी पुष्टि की जा सकती है. iOS के लिए IMA SDK का इस्तेमाल करने पर, इसमें शामिल ओएम SDK, वीएएसटी विज्ञापन टैग में मौजूद <AdVerifications> टैग को अपने-आप पार्स करता है. साथ ही, ओएमआईडी एपीआई का इस्तेमाल करके, विज्ञापन दिखने से जुड़ा डेटा, मेज़रमेंट के लिए तय किए गए वेंडर को भेजता है. IMA SDK, ओएम SDK के वर्शन 1.6, वीएएसटी 2+ पर GAM AdVerifications एक्सटेंशन, और वीएएसटी 4+ पर AdVerifications नोड के साथ काम करता है.ओपन मेज़रमेंट का फ़ायदा पाने के लिए, इन बातों का ध्यान रखें:

ज़रूरी शर्तें

टेस्ट करना

IMA SDK का इस्तेमाल करके, ओपन मेज़रमेंट को टेस्ट करने के लिए, IMA के ऐसे वर्शन का इस्तेमाल करें जो ओएम SDK के साथ काम करता हो. इसके अलावा, टेस्ट विज्ञापन टैग का भी इस्तेमाल करें.

आपको अपने वीएएसटी जवाब में, <AdVerifications> दिखेगा.

वीडियो कंट्रोल के ओवरले में आने वाली रुकावटों को रजिस्टर करना

वीडियो कंट्रोल, जैसे कि रोकने के बटन या प्रोग्रेस बार, उपयोगकर्ताओं को वीडियो चलाने से जुड़ी ज़रूरी जानकारी और कार्रवाइयां उपलब्ध कराते हैं. मोबाइल पर, सटीक तरीके से टैप न हो पाने और उपयोगकर्ताओं की उम्मीदों की वजह से, मीडिया एलिमेंट पर बड़े और टच-फ़्रेंडली कंट्रोल रेंडर करना आम बात हो गई है. ये कंट्रोल आम तौर पर, उपयोगकर्ता के टैप करने पर दिखते और गायब होते हैं. साथ ही, वीडियो चलाने के ज़्यादातर समय तक ये नहीं दिखते.

वीडियो कंट्रोल के ओवरले का उदाहरण देखने के लिए, YouTube ऐप्लिकेशन पर कंट्रोल रेंडर करने वाली यह इमेज देखें:

मेज़रमेंट ओवरले के उदाहरण की इमेज खोलें

IMA SDK का इस्तेमाल करने पर, ज़्यादातर पब्लिशर इन कंट्रोल को, विज्ञापन दिखाने वाले कंटेनर के ऊपर एक व्यू जोड़कर लागू करते हैं. यह व्यू ज़्यादातर पारदर्शी होता है. आम तौर पर, कंट्रोल इस व्यू के चाइल्ड एलिमेंट होते हैं. ये एलिमेंट, वीडियो प्लेयर को पूरी तरह से कवर करते हैं. इस पारदर्शी ओवरले का इस्तेमाल, टैप इवेंट कैप्चर करने के लिए किया जाता है. इसके बाद, टैप करने पर उपयोगकर्ताओं को कंट्रोल रेंडर किए जाते हैं.

ओपन मेज़रमेंट SDK का इस्तेमाल करके, विज्ञापन दिखने की दर का हिसाब लगाते समय, मीडिया एलिमेंट पर दिखने वाले सभी व्यू को रुकावट माना जाता है. इससे विज्ञापन दिखने की दर कम हो जाती है. अगर कोई पारदर्शी टैप ओवरले, विज्ञापन दिखाने वाले पूरे कंटेनर के ऊपर दिखता है, तो इन्वेंट्री को पूरी तरह से न दिखने वाला बताया जा सकता है.

ओपन मेज़रमेंट SDK में, वीडियो कंट्रोल को "उपयोगी" रुकावटें माना जाता है. ये रुकावटें, उपयोगकर्ता के अनुभव के लिए ज़रूरी होती हैं. उपयोगी के तौर पर रजिस्टर होने के बाद, इन कंट्रोल को विज्ञापन दिखने की दर के मेज़रमेंट से बाहर रखा जाता है.

IAB और MRC की मदद से, IMA SDK एक ऐसा एपीआई पेश करता है जिसकी मदद से इन ओवरले को ओपन मेज़रमेंट SDK के साथ रजिस्टर किया जा सकता है. ये कंट्रोल, पूरी तरह से पारदर्शी ओवरले या छोटे बटन होने चाहिए. वीडियो कंट्रोल से जुड़े न होने वाले किसी भी अन्य व्यू को रजिस्टर नहीं किया जाना चाहिए.

रजिस्टर करें रजिस्टर न करें
  • उपयोगकर्ता के टैप को कैप्चर करने के लिए, पारदर्शी ओवरले
  • कुछ समय के लिए दिखने वाले बटन
    • रोकें
    • चलाएं
    • फ़ुलस्क्रीन
    • कास्ट/AirPlay
    • छोटा करें
    • प्रोग्रेस/सीक
    • वीडियो चलाने से जुड़ी अन्य कार्रवाइयां
  • वॉटरमार्क
  • पॉप-अप
  • डायलॉग
  • कुछ समय के लिए न दिखने वाले बटन
  • अन्य रुकावट वाले व्यू

यहां दिए गए सैंपल कोड से पता चलता है कि विज्ञापन दिखाने वाले कंटेनर पर, वीडियो कंट्रोल के ओवरले को कैसे रजिस्टर किया जाता है:

Objective-C

- (void)registerObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
    UIView *transparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
    UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
    IMAFriendlyObstruction *overlayObstruction =
          [[IMAFriendlyObstruction alloc] initWithView:transparentTapOverlay
                                               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];
}

Swift

func registerObstructions(displayContainer: IMAAdDisplayContainer) {
  let transparentTapOverlay = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 250))
  let myPauseButton = UIButton(frame: CGRect(x: 0, y: 0, width: 50, height: 10))

  let overlayObstruction = IMAFriendlyObstruction(
    view: transparentTapOverlay,
    purpose: .notVisible,
    detailedReason: "This overlay is transparent")

  let pauseButtonObstruction = IMAFriendlyObstruction(
    view: myPauseButton,
    purpose: .mediaControls,
    detailedReason: "This is the video player pause button")

  displayContainer.register(overlayObstruction)
  displayContainer.register(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()
}