DAI লাইভস্ট্রিমগুলি পরিচালনা করুন, DAI লাইভস্ট্রিমগুলি পরিচালনা করুন, DAI লাইভস্ট্রিমগুলি পরিচালনা করুন, DAI লাইভস্ট্রিমগুলি পরিচালনা করুন

Google DAI API আপনাকে এমন পরিবেশে Google DAI-সক্ষম স্ট্রিম প্রয়োগ করতে দেয় যেখানে IMA SDK প্রয়োগ করা সমর্থিত নয়। আমরা সুপারিশ করি যে, যেসব প্ল্যাটফর্মে IMA SDK সমর্থিত, সেখানে আপনি IMA ব্যবহার করুন।

আমরা নিম্নলিখিত প্ল্যাটফর্মগুলিতে DAI API ব্যবহার করার পরামর্শ দিই:

  • স্যামসাং স্মার্ট টিভি (টাইজেন)
  • এলজি টিভি
  • এইচবিবিটিভি
  • এক্সবক্স (জাভাস্ক্রিপ্ট অ্যাপস)
  • কাইওএস

এপিআইটি আইএমএ ডিএআই এসডিকে দ্বারা প্রদত্ত মৌলিক সক্ষমতাগুলো সমর্থন করে। সামঞ্জস্যতা বা সমর্থিত বৈশিষ্ট্য সম্পর্কে নির্দিষ্ট প্রশ্নের জন্য, আপনার গুগল অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন।

লাইভ স্ট্রিমের জন্য DAI API প্রয়োগ করুন

DAI API, HLS এবং DASH উভয় প্রোটোকল ব্যবহার করে লিনিয়ার (লাইভ) স্ট্রিম সমর্থন করে। এই নির্দেশিকায় বর্ণিত ধাপগুলো উভয় প্রোটোকলের ক্ষেত্রেই প্রযোজ্য।

লাইভ স্ট্রিমের জন্য আপনার অ্যাপে এপিআই (API) যুক্ত করতে, নিম্নলিখিত ধাপগুলো সম্পন্ন করুন:

১. একটি স্ট্রিমের জন্য অনুরোধ করুন

DAI API থেকে লাইভস্ট্রিম অনুরোধ করতে, স্ট্রিম এন্ডপয়েন্টে একটি POST কল করুন। JSON রেসপন্সটিতে স্ট্রিম ম্যানিফেস্টের পাশাপাশি সংশ্লিষ্ট DAI API এন্ডপয়েন্ট এবং ভ্যালুগুলো থাকে।

অনুরোধের বডির উদাহরণ

https://dai.google.com/linear/v1/dash/event/0ndl1dJcRmKDUPxTRjvdog/stream

{
  "key1" : "value1",
  "stream_parameter1" : "value2"
}

উদাহরণ প্রতিক্রিয়া বডি

{
"stream_id":"c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS",
"stream_manifest":"https://dai.google.com/linear/dash/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/manifest.mpd",
"media_verification_url":"https://dai.google.com/view/p/service/linear/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/",
"metadata_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/metadata",
"session_update_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/session",
"polling_frequency":10
}

ত্রুটিপূর্ণ প্রতিক্রিয়া

ত্রুটির ক্ষেত্রে, কোনো JSON রেসপন্স বডি ছাড়াই স্ট্যান্ডার্ড HTTP এরর কোডগুলো ফেরত দেওয়া হয়।

JSON প্রতিক্রিয়াটি পার্স করুন এবং নিম্নলিখিত মানগুলি সংরক্ষণ করুন:

স্ট্রিম_আইডি
এই মানটি ফেরত আসা স্ট্রিমটি শনাক্ত করতে ব্যবহার করা যেতে পারে।
স্ট্রিম_ম্যানিফেস্ট
স্ট্রিম প্লেব্যাকের জন্য এই ইউআরএলটি আপনার মিডিয়া প্লেয়ারে পাঠানো হয়।
মিডিয়া_ভেরিফিকেশন_ইউআরএল
এই ইউআরএলটি প্লেব্যাক ইভেন্ট ট্র্যাক করার জন্য মূল এন্ডপয়েন্ট।
মেটাডেটা_ইউআরএল
আসন্ন স্ট্রিম ইভেন্টগুলো সম্পর্কে পর্যায়ক্রমিক তথ্য জানতে এই ইউআরএলটি ব্যবহার করা হয়।
সেশন_আপডেট_ইউআরএল
প্রাথমিক স্ট্রিম অনুরোধের সময় পাঠানো প্যারামিটারগুলো আপডেট করার জন্য এই URL-টি ব্যবহৃত হয়। উল্লেখ্য যে, এই অনুরোধের প্যারামিটারগুলো পূর্ববর্তী স্ট্রিমের জন্য সেট করা সমস্ত প্যারামিটারকে প্রতিস্থাপন করে।
পোলিং_ফ্রিকোয়েন্সি
DAI API থেকে আপডেট করা AdBreak মেটাডেটা অনুরোধ করার পুনরাবৃত্তির হার (সেকেন্ডে)।

২. নতুন AdBreak মেটাডেটার জন্য ভোটগ্রহণ

মেটাডেটা ইউআরএল ব্যবহার করে, নির্দিষ্ট পোলিং ফ্রিকোয়েন্সিতে নতুন অ্যাডব্রেক মেটাডেটার জন্য পোল করতে একটি টাইমার সেট করুন। স্ট্রিম রেসপন্সে এটি নির্দিষ্ট করা না থাকলে, ডিফল্ট প্রস্তাবিত ব্যবধান হলো ১০ সেকেন্ড।

ব্যান্ডউইথ অপ্টিমাইজ করতে, নিম্নলিখিতগুলি করুন:

  1. metadata_url এন্ডপয়েন্টে একটি প্রাথমিক GET অনুরোধ পাঠান।
    • delta_token কোয়েরি প্যারামিটারটি বাদ দিন। এই প্রক্রিয়ার মাধ্যমে সার্ভার স্ট্রিমের ডিজিটাল ভিডিও রেকর্ডার (DVR) উইন্ডোর সম্পূর্ণ মেটাডেটা ফেরত দিতে পারে। DVR উইন্ডোতে সম্প্রচারের সেই সময়কাল থাকে যা একজন দর্শক রিওয়াইন্ড করে প্লে করতে পারেন। রেসপন্সে একটি next_delta_token অবজেক্ট ফিল্ড অন্তর্ভুক্ত থাকে।
  2. ক্লায়েন্ট সাইডে মেটাডেটা সংরক্ষণ করুন।
  3. সর্বশেষ রেসপন্স থেকে প্রাপ্ত next_delta_token ভ্যালুটি ব্যবহার করে পরবর্তী কলগুলো করুন। প্রতিটি রেসপন্সে একটি next_delta_token ভ্যালু থাকে। সর্বদা প্রাপ্ত সর্বশেষ ভ্যালুটিই পাঠান।
  4. পরিবর্তনগুলি একীভূত করতে এবং অপ্রচলিত বিজ্ঞাপন বিরতিগুলি সরাতে সংরক্ষিত মেটাডেটা আপডেট করুন।

ডেল্টা টোকেনটি পার্স, গঠন বা পরিবর্তন করার চেষ্টা করবেন না। টোকেনের ফরম্যাট পরিবর্তিত হতে পারে। টোকেনটি যেমন পেয়েছেন, সেভাবেই সংরক্ষণ করুন এবং পরবর্তী অনুরোধে টোকেনটি অপরিবর্তিত অবস্থায় ফেরত পাঠান।

প্রাথমিক অনুরোধের উদাহরণ

প্রাথমিক অনুরোধটি কোনো কোয়েরি প্যারামিটার গ্রহণ করে না এবং সম্পূর্ণ মেটাডেটা ফেরত দেয়:

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/metadata

পরবর্তী অনুরোধের উদাহরণ

প্রতিটি পরবর্তী অনুরোধ পূর্ববর্তী প্রতিক্রিয়া থেকে next_delta_token মানটিকে delta_token প্যারামিটার হিসাবে প্রেরণ করে। প্রতিক্রিয়াটিতে নিম্নলিখিত বিষয়গুলো থাকে:

  • বিজ্ঞাপন
  • বিজ্ঞাপন বিরতি
  • সার্ভার টোকেনটি ইস্যু করার পর থেকে সার্ভার কর্তৃক যোগ করা বা আপডেট করা ট্যাগসমূহ।
  • আপনার সংরক্ষিত মেটাডেটা থেকে অপসারণ করার জন্য বিজ্ঞাপন বিরতির একটি obsolete_ad_break_ids তালিকা।

সার্ভারটি যেসব বিজ্ঞাপন বিরতি পরিবর্তিত হয়নি, সেগুলো বাদ দেয়। নিম্নলিখিত উদাহরণটি ডেল্টা টোকেন ব্যবহার করে শুধুমাত্র এই সাম্প্রতিক পরিবর্তনগুলো আনার জন্য একটি পরবর্তী পোল প্রদর্শন করে:

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/metadata?delta_token=eyJyYW5nZXMiOlt7InMiOjEsImUiOjJ9XX0

সফল হলে, আপনি নিম্নলিখিতের অনুরূপ একটি আউটপুট দেখতে পাবেন:

{
   "next_delta_token": "eyJyYW5nZXMiOlt7InMiOjEsImUiOjN9XX0",
   "obsolete_ad_break_ids": ["0003069407"],
   "tags":{
      "google_1022389921":{
         "ad":"0003069408_ad1",
         "ad_break_id":"0003069408",
         "type":"start"
      },
      ...
   },
   "ads":{
      "0003069408_ad1":{
         "ad_break_id":"0003069408",
         "position":1,
         "duration":10.01,
         "title":"External - Pod Midroll 1",
         ...
      }
   },
   "ad_breaks":{
      "0003069408":{
         "type":"mid",
         "duration":30,
         "expected_duration":30,
         "ads":3
      }
   }
}

৩. ID3 ইভেন্ট শুনুন এবং প্লেব্যাক ইভেন্ট ট্র্যাক করুন

একটি ভিডিও স্ট্রিমে নির্দিষ্ট ইভেন্ট ঘটেছে কিনা তা যাচাই করতে, ID3 ইভেন্টগুলি পরিচালনা করার জন্য এই ধাপগুলি অনুসরণ করুন:

  1. মিডিয়া ইভেন্টগুলোকে একটি কিউতে সংরক্ষণ করুন, এবং প্রতিটি মিডিয়া আইডি তার টাইমস্ট্যাম্পসহ (যদি প্লেয়ার দ্বারা প্রদর্শিত হয়) সংরক্ষণ করুন।
  2. প্লেয়ার থেকে প্রতিটি টাইম আপডেটের সময়, অথবা একটি নির্দিষ্ট ফ্রিকোয়েন্সিতে (প্রস্তাবিত ৫০০ মিলিসেকেন্ড), প্লেহেডের সাথে ইভেন্ট টাইমস্ট্যাম্প তুলনা করে মিডিয়া ইভেন্ট কিউতে সম্প্রতি প্লে হওয়া ইভেন্টগুলো পরীক্ষা করুন।
  3. যে মিডিয়া ইভেন্টগুলো প্লে হয়েছে বলে আপনি নিশ্চিত হয়েছেন, সেগুলোর ধরন যাচাই করতে সংরক্ষিত অ্যাড ব্রেক ট্যাগগুলোতে মিডিয়া আইডিটি খুঁজে দেখুন। মনে রাখবেন যে, সংরক্ষিত ট্যাগগুলোতে শুধুমাত্র মিডিয়া আইডির একটি প্রিফিক্স থাকে, তাই হুবহু মিল পাওয়া সম্ভব নয়।
  4. যেহেতু আপনার ভিডিও প্লেয়ার অ্যাপটি পর্যায়ক্রমে মেটাডেটা URL পোল করে, তাই স্ট্রিমে একটি ID3 ট্যাগ খুঁজে পাওয়ার এবং সংশ্লিষ্ট মেটাডেটা উপলব্ধ হওয়ার মধ্যে একটি বিলম্ব হতে পারে। যদি সংরক্ষিত ট্যাগগুলির মধ্যে কোনো ID3 ট্যাগ খুঁজে না পাওয়া যায়, তবে ট্যাগটিকে একটি কিউ-তে রাখুন এবং পরবর্তী মেটাডেটা পোলের পরে ট্যাগটি পুনরায় প্রসেস করুন। প্রসেসিং শেষ না হওয়া পর্যন্ত ইভেন্টটিকে কিউ-তে রাখুন।
  5. মেটাডেটাতে ট্যাগটি খুঁজে পাওয়ার পর, পরবর্তী বিভাগে তালিকাভুক্ত বিজ্ঞাপন ইভেন্টের প্রকারগুলোর সাথে ট্যাগটির ' type ফিল্ডটি মিলিয়ে দেখুন। ভিডিও প্লেয়ারে কোনো বিজ্ঞাপন বিরতি চলছে কিনা তা ট্র্যাক করতে, type ' ফিল্ডের ভ্যালু হিসেবে ' progress যুক্ত ইভেন্টগুলো ব্যবহার করুন। এই ইভেন্টগুলো মিডিয়া ভেরিফিকেশন এন্ডপয়েন্টে পাঠাবেন না। অন্য সব ধরনের ইভেন্টের জন্য, মিডিয়া ভেরিফিকেশন এন্ডপয়েন্টে মিডিয়া আইডি যুক্ত করুন এবং প্লেব্যাক ট্র্যাক করতে একটি GET রিকোয়েস্ট পাঠান।
  6. কিউ থেকে মিডিয়া ইভেন্টটি সরিয়ে ফেলুন।

বিজ্ঞাপনের ইভেন্টের প্রকারভেদ

মেটাডেটা tags অবজেক্টের প্রতিটি ট্যাগে নিম্নলিখিত ইভেন্ট প্রকারগুলির মধ্যে একটি থাকে:

ইভেন্টের ধরণ বর্ণনা
start বিজ্ঞাপনের শুরুতে চলে।
firstquartile বিজ্ঞাপনের প্রথম চতুর্থাংশের শেষে চলে।
midpoint বিজ্ঞাপনটির মাঝামাঝি সময়ে চলে।
thirdquartile বিজ্ঞাপনটির তৃতীয় চতুর্থাংশের শেষে চলে।
complete বিজ্ঞাপনের শেষে চলে।
progress বিজ্ঞাপনের বিরতির সময় এটি পর্যায়ক্রমে চলে, যা বিজ্ঞাপন বিরতি চলার সংকেত দেয়। এই ইভেন্টগুলো মিডিয়া ভেরিফিকেশন এন্ডপয়েন্টে পাঠাবেন না।

উদাহরণ অনুরোধ

https://dai.google.com/view/p/service/linear/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/google_1022389921

উদাহরণমূলক উত্তর

Accepted for asynchronous verification - HTTP/1.1 202 Accepted
Successful empty response - HTTP/1.1 204 No Content
Media verification not found - HTTP/1.1 404 Not Found
Media verification sent by someone else - HTTP/1.1 409 Conflict

আপনি স্ট্রিম অ্যাক্টিভিটি মনিটরে ট্র্যাকিং ইভেন্টগুলো যাচাই করতে পারেন।

৪. লাইভস্ট্রিম সেশনের প্যারামিটার আপডেট করুন

একটি স্ট্রিম তৈরি হওয়ার পরে আপনি আপনার সেশন প্যারামিটারগুলো সামঞ্জস্য করতে চাইতে পারেন। তা করার জন্য, সেশন আপডেট URL-এ একটি অনুরোধ পাঠান।

অনুরোধের বডির উদাহরণ

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/session

{
  key1 : "value1",
  stream_parameter1 : "value2"
}

উদাহরণ প্রতিক্রিয়া বডি

Successful response would be to look for - HTTP/1.1 200

সীমাবদ্ধতা

ওয়েবভিউয়ের মধ্যে এপিআই ব্যবহার করার ক্ষেত্রে, টার্গেটিংয়ের বিষয়ে নিম্নলিখিত সীমাবদ্ধতাগুলো প্রযোজ্য:

  • ইউজারএজেন্ট: ইউজার এজেন্ট প্যারামিটারটি অন্তর্নিহিত প্ল্যাটফর্মের পরিবর্তে ব্রাউজার-নির্দিষ্ট মান হিসেবে পাস করা হয়।
  • rdid , idtype , is_lat : ডিভাইস আইডি সঠিকভাবে প্রদান করা হয়নি, যার ফলে নিম্নলিখিত ফিচারগুলোর কার্যকারিতা সীমিত হয়ে পড়েছে:
    • ফ্রিকোয়েন্সি ক্যাপিং
    • ক্রমিক বিজ্ঞাপন ঘূর্ণন
    • শ্রোতা বিভাজন এবং লক্ষ্য নির্ধারণ

সর্বোত্তম অনুশীলন

মনে রাখবেন যে লাইভস্ট্রিম ইনডেক্সগুলির মেটাডেটা এন্ডপয়েন্টটি সংশ্লিষ্ট ID3 ট্যাগের প্রিফিক্সের উপর ভিত্তি করে তৈরি। এটি ইচ্ছাকৃতভাবেই করা হয়েছে, যাতে মেটাডেটা এন্ডপয়েন্ট ব্যবহার করে তাৎক্ষণিকভাবে সমস্ত ভেরিফিকেশন নোডকে পিং করা না যায়।

অতিরিক্ত সম্পদ

,

Google DAI API আপনাকে এমন পরিবেশে Google DAI-সক্ষম স্ট্রিম প্রয়োগ করতে দেয় যেখানে IMA SDK প্রয়োগ করা সমর্থিত নয়। আমরা সুপারিশ করি যে, যেসব প্ল্যাটফর্মে IMA SDK সমর্থিত, সেখানে আপনি IMA ব্যবহার করুন।

আমরা নিম্নলিখিত প্ল্যাটফর্মগুলিতে DAI API ব্যবহার করার পরামর্শ দিই:

  • স্যামসাং স্মার্ট টিভি (টাইজেন)
  • এলজি টিভি
  • এইচবিবিটিভি
  • এক্সবক্স (জাভাস্ক্রিপ্ট অ্যাপস)
  • কাইওএস

এপিআইটি আইএমএ ডিএআই এসডিকে দ্বারা প্রদত্ত মৌলিক সক্ষমতাগুলো সমর্থন করে। সামঞ্জস্যতা বা সমর্থিত বৈশিষ্ট্য সম্পর্কে নির্দিষ্ট প্রশ্নের জন্য, আপনার গুগল অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন।

লাইভ স্ট্রিমের জন্য DAI API প্রয়োগ করুন

DAI API, HLS এবং DASH উভয় প্রোটোকল ব্যবহার করে লিনিয়ার (লাইভ) স্ট্রিম সমর্থন করে। এই নির্দেশিকায় বর্ণিত ধাপগুলো উভয় প্রোটোকলের ক্ষেত্রেই প্রযোজ্য।

লাইভ স্ট্রিমের জন্য আপনার অ্যাপে এপিআই (API) যুক্ত করতে, নিম্নলিখিত ধাপগুলো সম্পন্ন করুন:

১. একটি স্ট্রিমের জন্য অনুরোধ করুন

DAI API থেকে লাইভস্ট্রিম অনুরোধ করতে, স্ট্রিম এন্ডপয়েন্টে একটি POST কল করুন। JSON রেসপন্সটিতে স্ট্রিম ম্যানিফেস্টের পাশাপাশি সংশ্লিষ্ট DAI API এন্ডপয়েন্ট এবং ভ্যালুগুলো থাকে।

অনুরোধের বডির উদাহরণ

https://dai.google.com/linear/v1/dash/event/0ndl1dJcRmKDUPxTRjvdog/stream

{
  "key1" : "value1",
  "stream_parameter1" : "value2"
}

উদাহরণ প্রতিক্রিয়া বডি

{
"stream_id":"c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS",
"stream_manifest":"https://dai.google.com/linear/dash/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/manifest.mpd",
"media_verification_url":"https://dai.google.com/view/p/service/linear/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/",
"metadata_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/metadata",
"session_update_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/session",
"polling_frequency":10
}

ত্রুটিপূর্ণ প্রতিক্রিয়া

ত্রুটির ক্ষেত্রে, কোনো JSON রেসপন্স বডি ছাড়াই স্ট্যান্ডার্ড HTTP এরর কোডগুলো ফেরত দেওয়া হয়।

JSON প্রতিক্রিয়াটি পার্স করুন এবং নিম্নলিখিত মানগুলি সংরক্ষণ করুন:

স্ট্রিম_আইডি
এই মানটি ফেরত আসা স্ট্রিমটি শনাক্ত করতে ব্যবহার করা যেতে পারে।
স্ট্রিম_ম্যানিফেস্ট
স্ট্রিম প্লেব্যাকের জন্য এই ইউআরএলটি আপনার মিডিয়া প্লেয়ারে পাঠানো হয়।
মিডিয়া_ভেরিফিকেশন_ইউআরএল
এই ইউআরএলটি প্লেব্যাক ইভেন্ট ট্র্যাক করার জন্য মূল এন্ডপয়েন্ট।
মেটাডেটা_ইউআরএল
আসন্ন স্ট্রিম ইভেন্টগুলো সম্পর্কে পর্যায়ক্রমিক তথ্য জানতে এই ইউআরএলটি ব্যবহার করা হয়।
সেশন_আপডেট_ইউআরএল
প্রাথমিক স্ট্রিম অনুরোধের সময় পাঠানো প্যারামিটারগুলো আপডেট করার জন্য এই URL-টি ব্যবহৃত হয়। উল্লেখ্য যে, এই অনুরোধের প্যারামিটারগুলো পূর্ববর্তী স্ট্রিমের জন্য সেট করা সমস্ত প্যারামিটারকে প্রতিস্থাপন করে।
পোলিং_ফ্রিকোয়েন্সি
DAI API থেকে আপডেট করা AdBreak মেটাডেটা অনুরোধ করার পুনরাবৃত্তির হার (সেকেন্ডে)।

২. নতুন AdBreak মেটাডেটার জন্য ভোটগ্রহণ

মেটাডেটা ইউআরএল ব্যবহার করে, নির্দিষ্ট পোলিং ফ্রিকোয়েন্সিতে নতুন অ্যাডব্রেক মেটাডেটার জন্য পোল করতে একটি টাইমার সেট করুন। স্ট্রিম রেসপন্সে এটি নির্দিষ্ট করা না থাকলে, ডিফল্ট প্রস্তাবিত ব্যবধান হলো ১০ সেকেন্ড।

ব্যান্ডউইথ অপ্টিমাইজ করতে, নিম্নলিখিতগুলি করুন:

  1. metadata_url এন্ডপয়েন্টে একটি প্রাথমিক GET অনুরোধ পাঠান।
    • delta_token কোয়েরি প্যারামিটারটি বাদ দিন। এই প্রক্রিয়ার মাধ্যমে সার্ভার স্ট্রিমের ডিজিটাল ভিডিও রেকর্ডার (DVR) উইন্ডোর সম্পূর্ণ মেটাডেটা ফেরত দিতে পারে। DVR উইন্ডোতে সম্প্রচারের সেই সময়কাল থাকে যা একজন দর্শক রিওয়াইন্ড করে প্লে করতে পারেন। রেসপন্সে একটি next_delta_token অবজেক্ট ফিল্ড অন্তর্ভুক্ত থাকে।
  2. ক্লায়েন্ট সাইডে মেটাডেটা সংরক্ষণ করুন।
  3. সর্বশেষ রেসপন্স থেকে প্রাপ্ত next_delta_token ভ্যালুটি ব্যবহার করে পরবর্তী কলগুলো করুন। প্রতিটি রেসপন্সে একটি next_delta_token ভ্যালু থাকে। সর্বদা প্রাপ্ত সর্বশেষ ভ্যালুটিই পাঠান।
  4. পরিবর্তনগুলি একীভূত করতে এবং অপ্রচলিত বিজ্ঞাপন বিরতিগুলি সরাতে সংরক্ষিত মেটাডেটা আপডেট করুন।

ডেল্টা টোকেনটি পার্স, গঠন বা পরিবর্তন করার চেষ্টা করবেন না। টোকেনের ফরম্যাট পরিবর্তিত হতে পারে। টোকেনটি যেমন পেয়েছেন, সেভাবেই সংরক্ষণ করুন এবং পরবর্তী অনুরোধে টোকেনটি অপরিবর্তিত অবস্থায় ফেরত পাঠান।

প্রাথমিক অনুরোধের উদাহরণ

প্রাথমিক অনুরোধটি কোনো কোয়েরি প্যারামিটার গ্রহণ করে না এবং সম্পূর্ণ মেটাডেটা ফেরত দেয়:

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/metadata

পরবর্তী অনুরোধের উদাহরণ

প্রতিটি পরবর্তী অনুরোধ পূর্ববর্তী প্রতিক্রিয়া থেকে next_delta_token মানটিকে delta_token প্যারামিটার হিসাবে প্রেরণ করে। প্রতিক্রিয়াটিতে নিম্নলিখিত বিষয়গুলো থাকে:

  • বিজ্ঞাপন
  • বিজ্ঞাপন বিরতি
  • সার্ভার টোকেনটি ইস্যু করার পর থেকে সার্ভার কর্তৃক যোগ করা বা আপডেট করা ট্যাগসমূহ।
  • আপনার সংরক্ষিত মেটাডেটা থেকে অপসারণ করার জন্য বিজ্ঞাপন বিরতির একটি obsolete_ad_break_ids তালিকা।

সার্ভারটি যেসব বিজ্ঞাপন বিরতি পরিবর্তিত হয়নি, সেগুলো বাদ দেয়। নিম্নলিখিত উদাহরণটি ডেল্টা টোকেন ব্যবহার করে শুধুমাত্র এই সাম্প্রতিক পরিবর্তনগুলো আনার জন্য একটি পরবর্তী পোল প্রদর্শন করে:

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/metadata?delta_token=eyJyYW5nZXMiOlt7InMiOjEsImUiOjJ9XX0

সফল হলে, আপনি নিম্নলিখিতের অনুরূপ একটি আউটপুট দেখতে পাবেন:

{
   "next_delta_token": "eyJyYW5nZXMiOlt7InMiOjEsImUiOjN9XX0",
   "obsolete_ad_break_ids": ["0003069407"],
   "tags":{
      "google_1022389921":{
         "ad":"0003069408_ad1",
         "ad_break_id":"0003069408",
         "type":"start"
      },
      ...
   },
   "ads":{
      "0003069408_ad1":{
         "ad_break_id":"0003069408",
         "position":1,
         "duration":10.01,
         "title":"External - Pod Midroll 1",
         ...
      }
   },
   "ad_breaks":{
      "0003069408":{
         "type":"mid",
         "duration":30,
         "expected_duration":30,
         "ads":3
      }
   }
}

৩. ID3 ইভেন্ট শুনুন এবং প্লেব্যাক ইভেন্ট ট্র্যাক করুন

একটি ভিডিও স্ট্রিমে নির্দিষ্ট ইভেন্ট ঘটেছে কিনা তা যাচাই করতে, ID3 ইভেন্টগুলি পরিচালনা করার জন্য এই ধাপগুলি অনুসরণ করুন:

  1. মিডিয়া ইভেন্টগুলোকে একটি কিউতে সংরক্ষণ করুন, এবং প্রতিটি মিডিয়া আইডি তার টাইমস্ট্যাম্পসহ (যদি প্লেয়ার দ্বারা প্রদর্শিত হয়) সংরক্ষণ করুন।
  2. প্লেয়ার থেকে প্রতিটি টাইম আপডেটের সময়, অথবা একটি নির্দিষ্ট ফ্রিকোয়েন্সিতে (প্রস্তাবিত ৫০০ মিলিসেকেন্ড), প্লেহেডের সাথে ইভেন্ট টাইমস্ট্যাম্প তুলনা করে মিডিয়া ইভেন্ট কিউতে সম্প্রতি প্লে হওয়া ইভেন্টগুলো পরীক্ষা করুন।
  3. যে মিডিয়া ইভেন্টগুলো প্লে হয়েছে বলে আপনি নিশ্চিত হয়েছেন, সেগুলোর ধরন যাচাই করতে সংরক্ষিত অ্যাড ব্রেক ট্যাগগুলোতে মিডিয়া আইডিটি খুঁজে দেখুন। মনে রাখবেন যে, সংরক্ষিত ট্যাগগুলোতে শুধুমাত্র মিডিয়া আইডির একটি প্রিফিক্স থাকে, তাই হুবহু মিল পাওয়া সম্ভব নয়।
  4. যেহেতু আপনার ভিডিও প্লেয়ার অ্যাপটি পর্যায়ক্রমে মেটাডেটা URL পোল করে, তাই স্ট্রিমে একটি ID3 ট্যাগ খুঁজে পাওয়ার এবং সংশ্লিষ্ট মেটাডেটা উপলব্ধ হওয়ার মধ্যে একটি বিলম্ব হতে পারে। যদি সংরক্ষিত ট্যাগগুলির মধ্যে কোনো ID3 ট্যাগ খুঁজে না পাওয়া যায়, তবে ট্যাগটিকে একটি কিউ-তে রাখুন এবং পরবর্তী মেটাডেটা পোলের পরে ট্যাগটি পুনরায় প্রসেস করুন। প্রসেসিং শেষ না হওয়া পর্যন্ত ইভেন্টটিকে কিউ-তে রাখুন।
  5. মেটাডেটাতে ট্যাগটি খুঁজে পাওয়ার পর, পরবর্তী বিভাগে তালিকাভুক্ত বিজ্ঞাপন ইভেন্টের প্রকারগুলোর সাথে ট্যাগটির ' type ফিল্ডটি মিলিয়ে দেখুন। ভিডিও প্লেয়ারে কোনো বিজ্ঞাপন বিরতি চলছে কিনা তা ট্র্যাক করতে, type ' ফিল্ডের ভ্যালু হিসেবে ' progress যুক্ত ইভেন্টগুলো ব্যবহার করুন। এই ইভেন্টগুলো মিডিয়া ভেরিফিকেশন এন্ডপয়েন্টে পাঠাবেন না। অন্য সব ধরনের ইভেন্টের জন্য, মিডিয়া ভেরিফিকেশন এন্ডপয়েন্টে মিডিয়া আইডি যুক্ত করুন এবং প্লেব্যাক ট্র্যাক করতে একটি GET রিকোয়েস্ট পাঠান।
  6. কিউ থেকে মিডিয়া ইভেন্টটি সরিয়ে ফেলুন।

বিজ্ঞাপনের ইভেন্টের প্রকারভেদ

মেটাডেটা tags অবজেক্টের প্রতিটি ট্যাগে নিম্নলিখিত ইভেন্ট প্রকারগুলির মধ্যে একটি থাকে:

ইভেন্টের ধরণ বর্ণনা
start বিজ্ঞাপনের শুরুতে চলে।
firstquartile বিজ্ঞাপনের প্রথম চতুর্থাংশের শেষে চলে।
midpoint বিজ্ঞাপনটির মাঝামাঝি সময়ে চলে।
thirdquartile বিজ্ঞাপনটির তৃতীয় চতুর্থাংশের শেষে চলে।
complete বিজ্ঞাপনের শেষে চলে।
progress বিজ্ঞাপনের বিরতির সময় এটি পর্যায়ক্রমে চলে, যা বিজ্ঞাপন বিরতি চলার সংকেত দেয়। এই ইভেন্টগুলো মিডিয়া ভেরিফিকেশন এন্ডপয়েন্টে পাঠাবেন না।

উদাহরণ অনুরোধ

https://dai.google.com/view/p/service/linear/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/google_1022389921

উদাহরণমূলক উত্তর

Accepted for asynchronous verification - HTTP/1.1 202 Accepted
Successful empty response - HTTP/1.1 204 No Content
Media verification not found - HTTP/1.1 404 Not Found
Media verification sent by someone else - HTTP/1.1 409 Conflict

আপনি স্ট্রিম অ্যাক্টিভিটি মনিটরে ট্র্যাকিং ইভেন্টগুলো যাচাই করতে পারেন।

৪. লাইভস্ট্রিম সেশনের প্যারামিটার আপডেট করুন

একটি স্ট্রিম তৈরি হওয়ার পরে আপনি আপনার সেশন প্যারামিটারগুলো সামঞ্জস্য করতে চাইতে পারেন। তা করার জন্য, সেশন আপডেট URL-এ একটি অনুরোধ পাঠান।

অনুরোধের বডির উদাহরণ

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/session

{
  key1 : "value1",
  stream_parameter1 : "value2"
}

উদাহরণ প্রতিক্রিয়া বডি

Successful response would be to look for - HTTP/1.1 200

সীমাবদ্ধতা

ওয়েবভিউয়ের মধ্যে এপিআই ব্যবহার করার ক্ষেত্রে, টার্গেটিংয়ের বিষয়ে নিম্নলিখিত সীমাবদ্ধতাগুলো প্রযোজ্য:

  • ইউজারএজেন্ট: ইউজার এজেন্ট প্যারামিটারটি অন্তর্নিহিত প্ল্যাটফর্মের পরিবর্তে ব্রাউজার-নির্দিষ্ট মান হিসেবে পাস করা হয়।
  • rdid , idtype , is_lat : ডিভাইস আইডি সঠিকভাবে প্রদান করা হয়নি, যার ফলে নিম্নলিখিত ফিচারগুলোর কার্যকারিতা সীমিত হয়ে পড়েছে:
    • ফ্রিকোয়েন্সি ক্যাপিং
    • ক্রমিক বিজ্ঞাপন ঘূর্ণন
    • শ্রোতা বিভাজন এবং লক্ষ্য নির্ধারণ

সর্বোত্তম অনুশীলন

মনে রাখবেন যে লাইভস্ট্রিম ইনডেক্সগুলির মেটাডেটা এন্ডপয়েন্টটি সংশ্লিষ্ট ID3 ট্যাগের প্রিফিক্সের উপর ভিত্তি করে তৈরি। এটি ইচ্ছাকৃতভাবেই করা হয়েছে, যাতে মেটাডেটা এন্ডপয়েন্ট ব্যবহার করে তাৎক্ষণিকভাবে সমস্ত ভেরিফিকেশন নোডকে পিং করা না যায়।

অতিরিক্ত সম্পদ

,

Google DAI API আপনাকে এমন পরিবেশে Google DAI-সক্ষম স্ট্রিম প্রয়োগ করতে দেয় যেখানে IMA SDK প্রয়োগ করা সমর্থিত নয়। আমরা সুপারিশ করি যে, যেসব প্ল্যাটফর্মে IMA SDK সমর্থিত, সেখানে আপনি IMA ব্যবহার করুন।

আমরা নিম্নলিখিত প্ল্যাটফর্মগুলিতে DAI API ব্যবহার করার পরামর্শ দিই:

  • স্যামসাং স্মার্ট টিভি (টাইজেন)
  • এলজি টিভি
  • এইচবিবিটিভি
  • এক্সবক্স (জাভাস্ক্রিপ্ট অ্যাপস)
  • কাইওএস

এপিআইটি আইএমএ ডিএআই এসডিকে দ্বারা প্রদত্ত মৌলিক সক্ষমতাগুলো সমর্থন করে। সামঞ্জস্যতা বা সমর্থিত বৈশিষ্ট্য সম্পর্কে নির্দিষ্ট প্রশ্নের জন্য, আপনার গুগল অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন।

লাইভ স্ট্রিমের জন্য DAI API প্রয়োগ করুন

DAI API, HLS এবং DASH উভয় প্রোটোকল ব্যবহার করে লিনিয়ার (লাইভ) স্ট্রিম সমর্থন করে। এই নির্দেশিকায় বর্ণিত ধাপগুলো উভয় প্রোটোকলের ক্ষেত্রেই প্রযোজ্য।

লাইভ স্ট্রিমের জন্য আপনার অ্যাপে এপিআই (API) যুক্ত করতে, নিম্নলিখিত ধাপগুলো সম্পন্ন করুন:

১. একটি স্ট্রিমের জন্য অনুরোধ করুন

DAI API থেকে লাইভস্ট্রিম অনুরোধ করতে, স্ট্রিম এন্ডপয়েন্টে একটি POST কল করুন। JSON রেসপন্সটিতে স্ট্রিম ম্যানিফেস্টের পাশাপাশি সংশ্লিষ্ট DAI API এন্ডপয়েন্ট এবং ভ্যালুগুলো থাকে।

অনুরোধের বডির উদাহরণ

https://dai.google.com/linear/v1/dash/event/0ndl1dJcRmKDUPxTRjvdog/stream

{
  "key1" : "value1",
  "stream_parameter1" : "value2"
}

উদাহরণ প্রতিক্রিয়া বডি

{
"stream_id":"c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS",
"stream_manifest":"https://dai.google.com/linear/dash/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/manifest.mpd",
"media_verification_url":"https://dai.google.com/view/p/service/linear/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/",
"metadata_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/metadata",
"session_update_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/session",
"polling_frequency":10
}

ত্রুটিপূর্ণ প্রতিক্রিয়া

ত্রুটির ক্ষেত্রে, কোনো JSON রেসপন্স বডি ছাড়াই স্ট্যান্ডার্ড HTTP এরর কোডগুলো ফেরত দেওয়া হয়।

JSON প্রতিক্রিয়াটি পার্স করুন এবং নিম্নলিখিত মানগুলি সংরক্ষণ করুন:

স্ট্রিম_আইডি
এই মানটি ফেরত আসা স্ট্রিমটি শনাক্ত করতে ব্যবহার করা যেতে পারে।
স্ট্রিম_ম্যানিফেস্ট
স্ট্রিম প্লেব্যাকের জন্য এই ইউআরএলটি আপনার মিডিয়া প্লেয়ারে পাঠানো হয়।
মিডিয়া_ভেরিফিকেশন_ইউআরএল
এই ইউআরএলটি প্লেব্যাক ইভেন্ট ট্র্যাক করার জন্য মূল এন্ডপয়েন্ট।
মেটাডেটা_ইউআরএল
আসন্ন স্ট্রিম ইভেন্টগুলো সম্পর্কে পর্যায়ক্রমিক তথ্য জানতে এই ইউআরএলটি ব্যবহার করা হয়।
সেশন_আপডেট_ইউআরএল
প্রাথমিক স্ট্রিম অনুরোধের সময় পাঠানো প্যারামিটারগুলো আপডেট করার জন্য এই URL-টি ব্যবহৃত হয়। উল্লেখ্য যে, এই অনুরোধের প্যারামিটারগুলো পূর্ববর্তী স্ট্রিমের জন্য সেট করা সমস্ত প্যারামিটারকে প্রতিস্থাপন করে।
পোলিং_ফ্রিকোয়েন্সি
DAI API থেকে আপডেট করা AdBreak মেটাডেটা অনুরোধ করার পুনরাবৃত্তির হার (সেকেন্ডে)।

২. নতুন AdBreak মেটাডেটার জন্য ভোটগ্রহণ

মেটাডেটা ইউআরএল ব্যবহার করে, নির্দিষ্ট পোলিং ফ্রিকোয়েন্সিতে নতুন অ্যাডব্রেক মেটাডেটার জন্য পোল করতে একটি টাইমার সেট করুন। স্ট্রিম রেসপন্সে এটি নির্দিষ্ট করা না থাকলে, ডিফল্ট প্রস্তাবিত ব্যবধান হলো ১০ সেকেন্ড।

ব্যান্ডউইথ অপ্টিমাইজ করতে, নিম্নলিখিতগুলি করুন:

  1. metadata_url এন্ডপয়েন্টে একটি প্রাথমিক GET অনুরোধ পাঠান।
    • delta_token কোয়েরি প্যারামিটারটি বাদ দিন। এই প্রক্রিয়ার মাধ্যমে সার্ভার স্ট্রিমের ডিজিটাল ভিডিও রেকর্ডার (DVR) উইন্ডোর সম্পূর্ণ মেটাডেটা ফেরত দিতে পারে। DVR উইন্ডোতে সম্প্রচারের সেই সময়কাল থাকে যা একজন দর্শক রিওয়াইন্ড করে প্লে করতে পারেন। রেসপন্সে একটি next_delta_token অবজেক্ট ফিল্ড অন্তর্ভুক্ত থাকে।
  2. ক্লায়েন্ট সাইডে মেটাডেটা সংরক্ষণ করুন।
  3. সর্বশেষ রেসপন্স থেকে প্রাপ্ত next_delta_token ভ্যালুটি ব্যবহার করে পরবর্তী কলগুলো করুন। প্রতিটি রেসপন্সে একটি next_delta_token ভ্যালু থাকে। সর্বদা প্রাপ্ত সর্বশেষ ভ্যালুটিই পাঠান।
  4. পরিবর্তনগুলি একীভূত করতে এবং অপ্রচলিত বিজ্ঞাপন বিরতিগুলি সরাতে সংরক্ষিত মেটাডেটা আপডেট করুন।

ডেল্টা টোকেনটি পার্স, গঠন বা পরিবর্তন করার চেষ্টা করবেন না। টোকেনের ফরম্যাট পরিবর্তিত হতে পারে। টোকেনটি যেমন পেয়েছেন, সেভাবেই সংরক্ষণ করুন এবং পরবর্তী অনুরোধে টোকেনটি অপরিবর্তিত অবস্থায় ফেরত পাঠান।

প্রাথমিক অনুরোধের উদাহরণ

প্রাথমিক অনুরোধটি কোনো কোয়েরি প্যারামিটার গ্রহণ করে না এবং সম্পূর্ণ মেটাডেটা ফেরত দেয়:

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/metadata

পরবর্তী অনুরোধের উদাহরণ

প্রতিটি পরবর্তী অনুরোধ পূর্ববর্তী প্রতিক্রিয়া থেকে next_delta_token মানটিকে delta_token প্যারামিটার হিসাবে প্রেরণ করে। প্রতিক্রিয়াটিতে নিম্নলিখিত বিষয়গুলো থাকে:

  • বিজ্ঞাপন
  • বিজ্ঞাপন বিরতি
  • সার্ভার টোকেনটি ইস্যু করার পর থেকে সার্ভার কর্তৃক যোগ করা বা আপডেট করা ট্যাগসমূহ।
  • আপনার সংরক্ষিত মেটাডেটা থেকে অপসারণ করার জন্য বিজ্ঞাপন বিরতির একটি obsolete_ad_break_ids তালিকা।

সার্ভারটি যেসব বিজ্ঞাপন বিরতি পরিবর্তিত হয়নি, সেগুলো বাদ দেয়। নিম্নলিখিত উদাহরণটি ডেল্টা টোকেন ব্যবহার করে শুধুমাত্র এই সাম্প্রতিক পরিবর্তনগুলো আনার জন্য একটি পরবর্তী পোল প্রদর্শন করে:

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/metadata?delta_token=eyJyYW5nZXMiOlt7InMiOjEsImUiOjJ9XX0

সফল হলে, আপনি নিম্নলিখিতের অনুরূপ একটি আউটপুট দেখতে পাবেন:

{
   "next_delta_token": "eyJyYW5nZXMiOlt7InMiOjEsImUiOjN9XX0",
   "obsolete_ad_break_ids": ["0003069407"],
   "tags":{
      "google_1022389921":{
         "ad":"0003069408_ad1",
         "ad_break_id":"0003069408",
         "type":"start"
      },
      ...
   },
   "ads":{
      "0003069408_ad1":{
         "ad_break_id":"0003069408",
         "position":1,
         "duration":10.01,
         "title":"External - Pod Midroll 1",
         ...
      }
   },
   "ad_breaks":{
      "0003069408":{
         "type":"mid",
         "duration":30,
         "expected_duration":30,
         "ads":3
      }
   }
}

৩. ID3 ইভেন্ট শুনুন এবং প্লেব্যাক ইভেন্ট ট্র্যাক করুন

একটি ভিডিও স্ট্রিমে নির্দিষ্ট ইভেন্ট ঘটেছে কিনা তা যাচাই করতে, ID3 ইভেন্টগুলি পরিচালনা করার জন্য এই ধাপগুলি অনুসরণ করুন:

  1. মিডিয়া ইভেন্টগুলোকে একটি কিউতে সংরক্ষণ করুন, এবং প্রতিটি মিডিয়া আইডি তার টাইমস্ট্যাম্পসহ (যদি প্লেয়ার দ্বারা প্রদর্শিত হয়) সংরক্ষণ করুন।
  2. প্লেয়ার থেকে প্রতিটি টাইম আপডেটের সময়, অথবা একটি নির্দিষ্ট ফ্রিকোয়েন্সিতে (প্রস্তাবিত ৫০০ মিলিসেকেন্ড), প্লেহেডের সাথে ইভেন্ট টাইমস্ট্যাম্প তুলনা করে মিডিয়া ইভেন্ট কিউতে সম্প্রতি প্লে হওয়া ইভেন্টগুলো পরীক্ষা করুন।
  3. যে মিডিয়া ইভেন্টগুলো প্লে হয়েছে বলে আপনি নিশ্চিত হয়েছেন, সেগুলোর ধরন যাচাই করতে সংরক্ষিত অ্যাড ব্রেক ট্যাগগুলোতে মিডিয়া আইডিটি খুঁজে দেখুন। মনে রাখবেন যে, সংরক্ষিত ট্যাগগুলোতে শুধুমাত্র মিডিয়া আইডির একটি প্রিফিক্স থাকে, তাই হুবহু মিল পাওয়া সম্ভব নয়।
  4. যেহেতু আপনার ভিডিও প্লেয়ার অ্যাপটি পর্যায়ক্রমে মেটাডেটা URL পোল করে, তাই স্ট্রিমে একটি ID3 ট্যাগ খুঁজে পাওয়ার এবং সংশ্লিষ্ট মেটাডেটা উপলব্ধ হওয়ার মধ্যে একটি বিলম্ব হতে পারে। যদি সংরক্ষিত ট্যাগগুলির মধ্যে কোনো ID3 ট্যাগ খুঁজে না পাওয়া যায়, তবে ট্যাগটিকে একটি কিউ-তে রাখুন এবং পরবর্তী মেটাডেটা পোলের পরে ট্যাগটি পুনরায় প্রসেস করুন। প্রসেসিং শেষ না হওয়া পর্যন্ত ইভেন্টটিকে কিউ-তে রাখুন।
  5. মেটাডেটাতে ট্যাগটি খুঁজে পাওয়ার পর, পরবর্তী বিভাগে তালিকাভুক্ত বিজ্ঞাপন ইভেন্টের প্রকারগুলোর সাথে ট্যাগটির ' type ফিল্ডটি মিলিয়ে দেখুন। ভিডিও প্লেয়ারে কোনো বিজ্ঞাপন বিরতি চলছে কিনা তা ট্র্যাক করতে, type ' ফিল্ডের ভ্যালু হিসেবে ' progress যুক্ত ইভেন্টগুলো ব্যবহার করুন। এই ইভেন্টগুলো মিডিয়া ভেরিফিকেশন এন্ডপয়েন্টে পাঠাবেন না। অন্য সব ধরনের ইভেন্টের জন্য, মিডিয়া ভেরিফিকেশন এন্ডপয়েন্টে মিডিয়া আইডি যুক্ত করুন এবং প্লেব্যাক ট্র্যাক করতে একটি GET রিকোয়েস্ট পাঠান।
  6. কিউ থেকে মিডিয়া ইভেন্টটি সরিয়ে ফেলুন।

বিজ্ঞাপনের ইভেন্টের প্রকারভেদ

মেটাডেটা tags অবজেক্টের প্রতিটি ট্যাগে নিম্নলিখিত ইভেন্ট প্রকারগুলির মধ্যে একটি থাকে:

ইভেন্টের ধরণ বর্ণনা
start বিজ্ঞাপনের শুরুতে চলে।
firstquartile বিজ্ঞাপনের প্রথম চতুর্থাংশের শেষে চলে।
midpoint বিজ্ঞাপনটির মাঝামাঝি সময়ে চলে।
thirdquartile বিজ্ঞাপনটির তৃতীয় চতুর্থাংশের শেষে চলে।
complete বিজ্ঞাপনের শেষে চলে।
progress বিজ্ঞাপনের বিরতির সময় এটি পর্যায়ক্রমে চলে, যা বিজ্ঞাপন বিরতি চলার সংকেত দেয়। এই ইভেন্টগুলো মিডিয়া ভেরিফিকেশন এন্ডপয়েন্টে পাঠাবেন না।

উদাহরণ অনুরোধ

https://dai.google.com/view/p/service/linear/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/google_1022389921

উদাহরণমূলক উত্তর

Accepted for asynchronous verification - HTTP/1.1 202 Accepted
Successful empty response - HTTP/1.1 204 No Content
Media verification not found - HTTP/1.1 404 Not Found
Media verification sent by someone else - HTTP/1.1 409 Conflict

আপনি স্ট্রিম অ্যাক্টিভিটি মনিটরে ট্র্যাকিং ইভেন্টগুলো যাচাই করতে পারেন।

৪. লাইভস্ট্রিম সেশনের প্যারামিটার আপডেট করুন

একটি স্ট্রিম তৈরি হওয়ার পরে আপনি আপনার সেশন প্যারামিটারগুলো সামঞ্জস্য করতে চাইতে পারেন। তা করার জন্য, সেশন আপডেট URL-এ একটি অনুরোধ পাঠান।

অনুরোধের বডির উদাহরণ

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c4a5dad5-aaa8-4550-8acb-7cda3cdb21bb:DLS/session

{
  key1 : "value1",
  stream_parameter1 : "value2"
}

উদাহরণ প্রতিক্রিয়া বডি

Successful response would be to look for - HTTP/1.1 200

সীমাবদ্ধতা

ওয়েবভিউয়ের মধ্যে এপিআই ব্যবহার করার ক্ষেত্রে, টার্গেটিংয়ের বিষয়ে নিম্নলিখিত সীমাবদ্ধতাগুলো প্রযোজ্য:

  • ইউজারএজেন্ট: ইউজার এজেন্ট প্যারামিটারটি অন্তর্নিহিত প্ল্যাটফর্মের পরিবর্তে ব্রাউজার-নির্দিষ্ট মান হিসেবে পাস করা হয়।
  • rdid , idtype , is_lat : ডিভাইস আইডি সঠিকভাবে প্রদান করা হয়নি, যার ফলে নিম্নলিখিত ফিচারগুলোর কার্যকারিতা সীমিত হয়ে পড়েছে:
    • ফ্রিকোয়েন্সি ক্যাপিং
    • ক্রমিক বিজ্ঞাপন ঘূর্ণন
    • শ্রোতা বিভাজন এবং লক্ষ্য নির্ধারণ

সর্বোত্তম অনুশীলন

মনে রাখবেন যে লাইভস্ট্রিম ইনডেক্সগুলির মেটাডেটা এন্ডপয়েন্টটি সংশ্লিষ্ট ID3 ট্যাগের প্রিফিক্সের উপর ভিত্তি করে তৈরি। এটি ইচ্ছাকৃতভাবেই করা হয়েছে, যাতে মেটাডেটা এন্ডপয়েন্ট ব্যবহার করে তাৎক্ষণিকভাবে সমস্ত ভেরিফিকেশন নোডকে পিং করা না যায়।

অতিরিক্ত সম্পদ