পুশ বিজ্ঞপ্তিতে সদস্যতা নিন

ইউটিউব ডেটা এপিআই (v3) পাবসাবহাব (PubSubHubbub)-এর মাধ্যমে পুশ নোটিফিকেশন সমর্থন করে, যা ওয়েব-অ্যাক্সেসযোগ্য রিসোর্সের জন্য একটি সার্ভার-টু-সার্ভার পাবলিশ/সাবস্ক্রাইব প্রোটোকল। নোটিফিকেশনগুলো HTTP ওয়েবহুকের মাধ্যমে সাবস্ক্রাইবারদের কাছে পাঠানো হয়, যা পোলিং-ভিত্তিক সমাধানের চেয়ে অনেক বেশি কার্যকর। পাবসাবহাব ব্যবহার করে, আপনার সার্ভার প্রায় রিয়েল-টাইমে ইভেন্টগুলো সম্পর্কে জানতে পারে, যার জন্য সর্বোত্তম পোলিং ব্যবধান নির্ধারণ করা বা অপরিবর্তিত ডেটা বারবার ফেচ করার প্রয়োজন হয় না।

যখন কোনো চ্যানেল নিম্নলিখিত কার্যকলাপগুলির মধ্যে যেকোনো একটি করে, তখন আপনার PubSubHubbub কলব্যাক সার্ভার Atom ফিড নোটিফিকেশন গ্রহণ করে:

  • একটি ভিডিও আপলোড করে
  • একটি ভিডিওর শিরোনাম আপডেট করে
  • একটি ভিডিওর বিবরণ আপডেট করে

নিম্নলিখিত ধাপগুলিতে নোটিফিকেশন সাবস্ক্রাইব করার পদ্ধতি ব্যাখ্যা করা হয়েছে:

  1. একটি কলব্যাক সার্ভার সেট আপ করুন যা আগত অ্যাটম ফিড নোটিফিকেশনগুলি পরিচালনা করতে পারে।

  2. পুশ নোটিফিকেশন পেতে গুগল হাব ব্যবহার করে সাবস্ক্রাইব করুন:

    • মোডটি subscribe -এ সেট করুন। (অথবা সাবস্ক্রিপশন বাতিল করতে মোডটি unsubscribe এ সেট করুন।)

    • ধাপ ১-এ সেট করা URL-টিতে কলব্যাক URL সেট করুন।

    • টপিক ইউআরএলটি https://www.youtube.com/feeds/videos.xml?channel_id= CHANNEL_ID তে সেট করুন, যেখানে CHANNEL_ID হলো সেই ইউটিউব চ্যানেল আইডি যার জন্য আপনি পুশ নোটিফিকেশন পেতে চান।

  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>