विज्ञापन प्लेलिस्ट को ऑटोमेट करना

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

IMA Android SDK, पूरी तरह से अपने-आप चलने वाली विज्ञापन प्लेलिस्ट के साथ काम करता है. यह सुविधा, विज्ञापनों को ट्रैफ़िक करते समय, Google Ad Manager में बताए गए तरीके से कॉन्टेंट में विज्ञापन ब्रेक डालती है. इससे, वीडियो प्लेयर के उस कोड को भी काफ़ी हद तक आसान बनाया जा सकता है जो विज्ञापन ब्रेक के लिए ज़रूरी होता है. इसमें वीडियो शुरू होने से पहले, बीच में, और वीडियो खत्म होने के बाद दिखने वाले विज्ञापन शामिल हैं.

  • Ad Manager में विज्ञापनों को ट्रैफ़िक करते समय, विज्ञापन दिखाने के अलग-अलग नियम तय किए जा सकते हैं. जैसे, "कॉन्टेंट की शुरुआत में हमेशा विज्ञापन ब्रेक दिखाएं" या "हर 30 मिनट के कॉन्टेंट के बाद एक मिनट का विज्ञापन ब्रेक दिखाएं".
  • विज्ञापनों का अनुरोध किए जाने पर, विज्ञापन सर्वर एक विज्ञापन प्लेलिस्ट दिखा सकता है. एसडीके, प्लेलिस्ट को प्रोसेस करता है और विज्ञापन दिखाने के लिए तय की गई जगहों को अपने-आप शेड्यूल करता है.
  • Android, विज्ञापन और कॉन्टेंट चलाने के लिए एक ही वीडियो प्लेयर का इस्तेमाल करता है. इसलिए, अगर आपको विज्ञापन के नियम लागू करने हैं, तो विज्ञापन शुरू होने पर आपको अपने कॉन्टेंट की प्लेहेड पोज़िशन सेव करनी होगी. इसके बाद, विज्ञापन खत्म होने पर उस पोज़िशन पर जाना होगा. पक्का करें कि आपने अपने वीडियो प्लेयर में VideoAdPlayer इंटरफ़ेस लागू किया हो. इससे यह पक्का होता है कि Ad Manager में तय किए गए समय पर, विज्ञापन के लिए ब्रेक अपने-आप जुड़ जाएं.
    private boolean playingContent = true;
    private int contentPosition = -1;
    private List callbacks =
        new ArrayList();
    
    @Override
    public void addCallback(VideoAdPlayerCallback callback) {
      callbacks.add(callback);
    }
    
    @Override
    public void removeCallback(VideoAdPlayerCallback callback) {
      callbacks.remove(callback);
    }
    
    public void loadContent() {
      playingContent = true;
      load(CONTENT_URL);
    }
    
    @Override
    public void loadAd(String mediaUrl) {
      playingContent = false;
      load(mediaUrl);
    }
    
    public void pauseContent() {
      savePosition();
      pause();
    }
    
    @Override
    public void pauseAd() {
      pause();
    }
    
    private void pause() {
      myVideoView.pause();
      for (VideoAdPlayerCallback callback : callbacks) {
        callback.onPause();
      }
    }
    
    public void resumeContent() {
      loadContent();
      if (contentPosition > 0) {
        restorePosition();
      }
      resume();
    }
    
    @Override
    public void resumeAd() {
      resume();
    }
    
    private void resume() {
      myVideoView.start();
      for (VideoAdPlayerCallback callback : callbacks) {
        callback.onResume();
      }
    }
    
    public void savePosition() {
      contentPosition = myVideoView.getCurrentPosition();
    }
    
    public void restorePosition() {
      myVideoView.seekTo(contentPosition);
    }
  • विज्ञापन ब्रेक के दौरान कॉन्टेंट को रोकने और फिर से शुरू करने के लिए, CONTENT_PAUSE_REQUESTED और CONTENT_RESUME_REQUESTED इवेंट का इस्तेमाल किया जाता है. इन इवेंट के बारे में ज़्यादा जानने के लिए, एपीआई से जुड़े दस्तावेज़ देखें.

ध्यान दें: जब कॉन्टेंट चलना बंद हो जाए या उपयोगकर्ता ने प्लेबैक रोक दिया हो, तो AdsLoader.contentComplete को कॉल करना न भूलें. इससे SDK को यह सूचना मिलती है कि कॉन्टेंट चलना बंद हो गया है. इसके बाद, एसडीके, वीडियो खत्म होने के बाद दिखने वाले विज्ञापन ब्रेक को चलाता है. हालांकि, ऐसा तब होता है, जब उसे शेड्यूल किया गया हो. ALL_ADS_COMPLETED इवेंट तब ट्रिगर होता है, जब सभी विज्ञापन ब्रेक चल चुके हों. इसके अलावा, ध्यान दें कि कॉन्टेंट को ट्रैक करना तब शुरू होता है, जब init() को कॉल किया जाता है. आपको कॉन्टेंट चलाने से पहले हमेशा init() को कॉल करना चाहिए.