Push Notifications के सदस्य बनें

YouTube Data API (v3), PubSubHubbub के ज़रिए पुश नोटिफ़िकेशन पाने की सुविधा देता है. यह वेब पर उपलब्ध संसाधनों के लिए, सर्वर-टू-सर्वर पब्लिश/सब्सक्राइब प्रोटोकॉल है. सूचनाएं, सदस्यों को एचटीटीपी वेबहुक के ज़रिए भेजी जाती हैं. यह पोलिंग पर आधारित समाधानों की तुलना में ज़्यादा असरदार है. PubSubHubbub की मदद से, आपका सर्वर इवेंट के बारे में करीब-करीब रीयल टाइम में पता लगाता है. इसके लिए, उसे न तो सबसे सही पोलिंग इंटरवल तय करना पड़ता है और न ही ऐसे डेटा को बार-बार फ़ेच करना पड़ता है जिसमें कोई बदलाव नहीं हुआ है.

जब कोई चैनल इनमें से कोई भी गतिविधि करता है, तब आपके PubSubHubbub कॉलबैक सर्वर को ऐटम फ़ीड की सूचनाएं मिलती हैं:

  • वीडियो अपलोड करता है
  • वीडियो का टाइटल अपडेट करता है
  • वीडियो का ब्यौरा अपडेट करता है

सूचनाएं पाने के लिए ऑप्ट-इन करने का तरीका यहां बताया गया है:

  1. एक ऐसा कॉलबैक सर्वर सेट अप करें जो आने वाली Atom फ़ीड सूचनाओं को मैनेज कर सके.

  2. पुश नोटिफ़िकेशन पाने के लिए, Google हब का इस्तेमाल करें:

    • mode को subscribe पर सेट करें. (सदस्यता रद्द करने के लिए, मोड को unsubscribe पर सेट करें.)

    • कॉलबैक यूआरएल को उस यूआरएल पर सेट करें जिसे आपने पहले चरण में सेट अप किया था.

    • विषय का यूआरएल https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID पर सेट करें. यहां CHANNEL_ID वह YouTube चैनल आईडी है जिसके लिए आपको पुश नोटिफ़िकेशन पाने हैं.

  3. आपके कॉलबैक सर्वर को भेजी गई सूचनाओं को प्रोसेस करता है. सूचना का फ़ॉर्मैट यहां दिखाया गया है. ध्यान दें कि <yt:videoId> एलिमेंट की वैल्यू का इस्तेमाल करके, जोड़े गए या अपडेट किए गए वीडियो की पहचान की जा सकती है. उस वीडियो के मालिकाना हक वाले चैनल की पहचान करने के लिए, <yt:channelId> एलिमेंट की वैल्यू का भी इस्तेमाल किया जा सकता है.

    <feed xmlns:yt="http://www.youtube.com/xml/schemas/2015"
             xmlns="http://www.w3.org/2005/Atom">
      <link rel="hub" href="https://pubsubhubbub.appspot.com"/>
      <link rel="self" href="https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID"/>
      <title>YouTube video feed</title>
      <updated>2015-04-01T19:05:24.552394234+00:00</updated>
      <entry>
        <id>yt:video:VIDEO_ID</id>
        <yt:videoId>VIDEO_ID</yt:videoId>
        <yt:channelId>CHANNEL_ID</yt:channelId>
        <title>Video title</title>
        <link rel="alternate" href="http://www.youtube.com/watch?v=VIDEO_ID"/>
        <author>
         <name>Channel title</name>
         <uri>http://www.youtube.com/channel/CHANNEL_ID</uri>
        </author>
        <published>2015-03-06T21:40:57+00:00</published>
        <updated>2015-03-09T19:05:24.552394234+00:00</updated>
      </entry>
    </feed>