কাস্টম ওয়েব রিসিভার

জাম্প স্টার্ট - একটি বেসিক কাস্টম ওয়েব রিসিভার তৈরির কোড সহজ। আপনার ওয়েব রিসিভার অ্যাপ রেজিস্টার করতে এড়িয়ে যান, তারপর একটি বেসিক ওয়েব রিসিভার অ্যাপ তৈরি করুন

ওয়েব রিসিভার SDK একটি নিরবচ্ছিন্ন এবং সহজ প্লেব্যাক অভিজ্ঞতা প্রদান করতে একটি অন্তর্নির্মিত মিডিয়া প্লেয়ার ব্যবহার করে৷ এটি Google অ্যাসিস্ট্যান্টের পাশাপাশি কাস্ট-নির্দিষ্ট বৈশিষ্ট্যগুলির জন্য আউট-অফ-বক্স সমর্থন প্রদান করে যা সমস্ত প্রেরক এবং স্পর্শ-সক্ষম ডিভাইসগুলিতে স্বয়ংক্রিয়ভাবে সমর্থিত। নতুন বৈশিষ্ট্য প্রকাশ করা হলে সেগুলি অতিরিক্ত প্রেরক পরিবর্তন ছাড়াই সমর্থিত হতে থাকবে।

কাস্টম ওয়েব রিসিভার হল একটি কাস্টম-নির্মিত HTML5 অ্যাপ যা কাস্ট-সক্ষম ডিভাইসগুলিতে আপনার সামগ্রী প্রদর্শন করতে হোস্ট করা আবশ্যক৷ আপনার ব্যবসার প্রয়োজনের উপর নির্ভর করে আপনাকে একটি কাস্টম ওয়েব রিসিভার তৈরি করতে হতে পারে। কোন রিসিভার টাইপ ব্যবহার করতে হবে তা সিদ্ধান্ত নিতে সাহায্যের জন্য, একটি ওয়েব রিসিভার গাইড দেখুন।

Google ওয়েব রিসিভার SDK

আপনার ওয়েব রিসিভার অ্যাপ নিম্নলিখিত রেফারেন্স সহ ওয়েব রিসিভার API অ্যাক্সেস করে:

<script src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>

ইউআরএল প্রোটোকলের জন্য সর্বোত্তম অনুশীলন : লক্ষ্য করুন উপরের ইউআরএলটি একটি "http:" বা "https:" প্রোটোকল নির্দিষ্ট করে না। cast_receiver_framework.js রিসোর্স সোর্স করার সময় এই প্রোটোকলগুলি বাদ দিলে ওয়েব রিসিভার অ্যাপ হোস্ট করা সার্ভারের মতো একই প্রোটোকল ব্যবহার করে এই রিসোর্সটি আনতে সক্ষম করে৷ এর মানে হল যে উন্নয়নের জন্য HTTP এবং উৎপাদনের জন্য HTTPS-এর মধ্যে স্যুইচ করা স্বচ্ছ এবং কোড পরিবর্তনের প্রয়োজন হবে না। (প্রকাশিত ওয়েব রিসিভার অ্যাপগুলি অবশ্যই TLS-সক্ষম সার্ভারে হোস্ট করা উচিত।)

SDK পূর্বরূপ

কাস্ট ওয়েব রিসিভার SDK-এর একটি প্রাক-রিলিজ সংস্করণ অ-উৎপাদন অ্যাপ্লিকেশন পরীক্ষা করার জন্যও উপলব্ধ। SDK পূর্বরূপ URL সম্পর্কে আরও তথ্য Google Cast ওয়েব রিসিভার SDK পূর্বরূপ URL এ পাওয়া যেতে পারে৷

অ্যাপ্লিকেশন জীবনচক্র

ওয়েব রিসিভার অ্যাপের জীবনচক্র সেই বিন্দু থেকে শুরু হয় যেখান থেকে কাস্ট ডিভাইসে ওয়েব রিসিভার লোড হয় এবং সেই বিন্দুতে চলে যায় যেখান থেকে অ্যাপ্লিকেশানটি ভেঙে ফেলা হয় এবং কাস্ট ডিভাইসটি তার ডিফল্ট অবস্থায় ফিরে আসে।

একটি ওয়েব রিসিভার অ্যাপের জীবনচক্রে, ওয়েব রিসিভার এবং যেকোনো সংযুক্ত প্রেরক অ্যাপ্লিকেশনের মধ্যে বার্তা আদান-প্রদান করা হয়। একটি প্রেরক অ্যাপ্লিকেশন একটি নির্দিষ্ট অ্যাপ আইডি ব্যবহার করে একটি সেশন তৈরি করার অনুরোধ করে একটি Google Cast ডিভাইসে একটি প্রাথমিক বার্তা পাঠাবে। এটি ওয়েব রিসিভারের জীবনচক্র শুরু করে, কারণ Google Cast ডিভাইস ওয়েব রিসিভার অ্যাপ লোড করার চেষ্টা করবে৷ কোনও নেটওয়ার্ক সমস্যা নেই বলে ধরে নিলাম, অ্যাপ আইডির সাথে যুক্ত সমাধান করা URL ব্যবহার করে নেটওয়ার্ক থেকে ওয়েব রিসিভার অ্যাপ ডাউনলোড করা হবে। একবার লোড হয়ে গেলে, ওয়েব রিসিভার অ্যাপটি তার সেটআপ ক্রিয়াকলাপ সম্পাদন করবে এবং নির্দেশ করবে যে এটি যেকোনো সংযুক্ত প্রেরক অ্যাপ্লিকেশন থেকে বার্তাগুলি প্রক্রিয়া করার জন্য প্রস্তুত৷

একটি ওয়েব রিসিভার অ্যাপ নিম্নলিখিত শর্তে বিচ্ছিন্ন হতে পারে (এর বর্তমান জীবনচক্র শেষ করে অ্যাপ্লিকেশনটি বন্ধ করে দিতে পারে)

  • ওয়েব রিসিভার অ্যাপটি অ্যাপ্লিকেশন সেশন শেষ করার জন্য সর্বশেষ সংযুক্ত প্রেরকের কাছ থেকে একটি স্পষ্ট বার্তা পায়।
  • ওয়েব রিসিভার অ্যাপটি কোনো সংযুক্ত প্রেরক ছাড়াই একটি নির্দিষ্ট সময়ের জন্য নিষ্ক্রিয় ছিল এবং অ্যাপ্লিকেশন সেশন শেষ করার সিদ্ধান্ত নেয়।
  • একটি ভিন্ন কাস্ট সেশন শুরু হয়েছিল।
  • ওয়েব রিসিভার তার স্বাভাবিক জীবনচক্রের সময় একটি মারাত্মক ত্রুটির সম্মুখীন হয়।

ওয়েব রিসিভার SDK আমাদের UX নির্দেশিকা অনুসারে সমস্ত সাধারণ কেস পরিচালনা করে৷

প্রধান ক্লাস

ওয়েব রিসিভার SDK ফ্রেমওয়ার্কের 2টি প্রধান ক্লাস রয়েছে:

  • cast.framework.CastReceiverContext - সামগ্রিক কাঠামো পরিচালনা করে এবং যেকোনো প্রয়োজনীয় লাইব্রেরি লোড করে। এই বস্তুর সাথে, আপনি করতে পারেন:

    • অ্যাপ্লিকেশন কনফিগারেশন বিকল্প সেট করুন
    • সিস্টেম ইভেন্টগুলি পরিচালনা করুন (যেমন প্রেরক সংযুক্ত বা সংযোগ বিচ্ছিন্ন)
    • কাস্টম চ্যানেল তৈরি করুন
    • কাস্ট যোগাযোগ শুরু করুন
  • cast.framework.PlayerManager - মিডিয়া প্লেব্যাক পরিচালনা করে। এটি প্রেরকের অনুরোধ অনুযায়ী অন্তর্নিহিত প্লেয়ার এবং মিডিয়া উপাদান পরিচালনা করে। এই বস্তুর সাথে, আপনি করতে পারেন:

    • প্লেব্যাক অপারেশন হ্যান্ডেল
    • প্রেরকের কাছ থেকে প্লেব্যাক-সম্পর্কিত অনুরোধগুলি পরিচালনা করুন
    • প্লেব্যাক-সম্পর্কিত ইভেন্টগুলি পরিচালনা করুন

আপনার ওয়েব রিসিভার অ্যাপ নিবন্ধন করুন

একটি ওয়েব রিসিভার অ্যাপ তৈরি করার আগে, আপনাকে আপনার ওয়েব রিসিভার অ্যাপটিকে Google Cast SDK ডেভেলপার কনসোলের সাথে নিবন্ধন করতে হবে। আরও তথ্যের জন্য নিবন্ধন দেখুন। সমস্ত ওয়েব রিসিভার অ্যাপ্লিকেশানগুলির জন্য প্রেরক অ্যাপ্লিকেশনগুলির জন্য প্রেরক API এর মাধ্যমে ওয়েব রিসিভারকে পাঠানো কমান্ড বার্তাগুলির সাথে একটি অ্যাপ আইডি প্রদান করতে হবে৷ আপনি যখন আপনার ওয়েব রিসিভার অ্যাপ্লিকেশনটি নিবন্ধন করবেন, তখন আপনি আপনার প্রেরকের API কলগুলিতে অন্তর্ভুক্ত করার জন্য অ্যাপ আইডি পাবেন৷

একটি বেসিক ওয়েব রিসিভার অ্যাপ তৈরি করুন

নিম্নোক্ত একটি মৌলিক ওয়েব রিসিভার অ্যাপের মূল কাঠামো যার কোনো কাস্টমাইজেশন নেই:

  1. মিডিয়া প্লেয়ারের প্রতিনিধিত্ব করার জন্য একটি cast-media-player HTML উপাদান।
  2. ওয়েব রিসিভার ফ্রেমওয়ার্ক লোড করার জন্য একটি স্ক্রিপ্ট HTML উপাদান।
  3. কোনো বিকল্প ছাড়াই ওয়েব রিসিভার অ্যাপ শুরু করতে start() এ কল করুন।

এখানে কোনো কাস্টমাইজেশন ছাড়াই কাস্ট অ্যাপ্লিকেশন ফ্রেমওয়ার্ক ব্যবহার করে একটি ওয়েব রিসিভার অ্যাপের ন্যূনতম কোড রয়েছে। আপনার ওয়েব রিসিভার অ্যাপ তৈরি করার জন্য আপনি এই স্ক্রিপ্টটি আপনার অ্যাপে ঠিক যেমন আছে কপি এবং পেস্ট করতে পারেন।

<html>
<head>
  <script type="text/javascript"
      src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js">
  </script>
</head>
<body>
  <cast-media-player></cast-media-player>
  <script>
    cast.framework.CastReceiverContext.getInstance().start();
  </script>
</body>
</html>

এই মুহুর্তে, একজন ব্যবহারকারী তাদের প্রেরক অ্যাপ খুলতে পারে, তাদের কাস্ট ডিভাইসের সাথে সংযোগ করতে পারে, তারপরে মিডিয়াতে নেভিগেট করতে পারে এবং প্লে টিপুন, যা ওয়েব রিসিভারকে ব্যবহারকারীর দেখার জন্য টিভিতে মিডিয়া স্ট্রিম করতে বলে৷

একটি কাস্টমাইজড রিসিভার অ্যাপের সাথে এই মৌলিক ওয়েব রিসিভারের তুলনা করুন৷

মিডিয়া এবং প্লেয়ার

কাস্ট ফ্রেমওয়ার্ক একটি অন্তর্নির্মিত মিডিয়া প্লেয়ার প্রদান করে, যা cast-media-player HTML উপাদান দ্বারা উপস্থাপিত হয়। এই মিডিয়া প্লেয়ারটি স্ট্রিমিং প্রোটোকল যেমন MPEG-DASH, HLS, এবং স্মুথ স্ট্রিমিংয়ের জন্য প্লেব্যাক সমর্থন করে।

সমর্থিত মিডিয়া কোডেক এবং কন্টেনারগুলির একটি সেট সমর্থিত মিডিয়াতে তালিকাভুক্ত করা হয়েছে। কাস্ট মেসেজিংয়ের মাধ্যমে, ডেভেলপাররা প্রেরক-সূচিত ক্রিয়াকলাপগুলির একটি তালিকা সমর্থন করতে পারে যেমন লোড, প্লে, পজ এবং সিক, যেখানে কাস্ট SDK মিডিয়ার সাথে মিথস্ক্রিয়া পরিচালনা করে। সমর্থিত ক্রিয়াকলাপগুলির একটি তালিকার জন্য, আপনার অ্যাপের প্ল্যাটফর্মের জন্য প্রেরক API রেফারেন্স দেখুন: Android RemoteMediaClient মধ্যে GCKMediaControlChannel , iOS প্রেরকের মধ্যে GCKMediaControlChannel এবং ওয়েব প্রেরকের মধ্যে Media

ক্রস-অরিজিন রিসোর্স শেয়ারিং

Google Cast সম্পূর্ণরূপে ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) সমর্থন করে। স্ট্রিমিং প্রোটোকল, বেশিরভাগ ফাইল-ভিত্তিক প্রোটোকলের বিপরীতে, XMLHttpRequest ব্যবহার করে অ্যাসিঙ্ক্রোনাস উপায়ে সামগ্রী অ্যাক্সেস করে। একটি CORS বিশ্বে, এই অনুরোধগুলি সার্ভার থেকে CORS শিরোনাম দ্বারা অনুপযুক্ত অ্যাক্সেস থেকে রক্ষা করা হয় যেখানে সংস্থানটি উদ্ভূত হয়। এর মানে হল আপনার বিষয়বস্তুর সার্ভারের একটি বক্তব্য রয়েছে যেখানে এটি অন্তর্ভুক্ত করা যেতে পারে। বেশিরভাগ আধুনিক ব্রাউজার সম্পূর্ণরূপে CORS সমর্থন করে। iOS এবং Android ডিভাইসগুলি নিম্ন স্তরে সামগ্রী অ্যাক্সেস করে এবং এই শিরোনামগুলির দিকে তাকায় না৷ যখন একজন বিকাশকারী স্ট্রিমিং সামগ্রী ব্যবহার করতে চান তখন এটি প্রায়শই প্রথম সমস্যা হয়। বিস্তারিত জানার জন্য ক্রস-অরিজিন রিসোর্স শেয়ারিং দেখুন।