লাইভ স্ট্রিমগুলির জন্য ডায়নামিক বিজ্ঞাপন সন্নিবেশ API

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

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

  • স্যামসাং স্মার্ট টিভি (টিজেন)
  • এলজি টিভি
  • HbbTV
  • Xbox (জাভাস্ক্রিপ্ট অ্যাপস)
  • KaiOS

API IMA DAI SDK দ্বারা প্রদত্ত মৌলিক ক্ষমতাগুলিকে সমর্থন করে৷ সামঞ্জস্য বা সমর্থিত বৈশিষ্ট্য সম্পর্কে নির্দিষ্ট প্রশ্নের জন্য, আপনার Google অ্যাকাউন্ট পরিচালকের সাথে যোগাযোগ করুন।

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

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

লাইভ স্ট্রিমগুলির জন্য আপনার অ্যাপে API একত্রিত করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

1. একটি স্ট্রীম অনুরোধ

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

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

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

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

উদাহরণ প্রতিক্রিয়া শরীর

{
"stream_id":"c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL",
"stream_manifest":"https://dai.google.com/linear/dash/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/manifest.mpd",
"media_verification_url":"https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/",
"metadata_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/metadata",
"session_update_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/session",
"polling_frequency":10
}

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

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

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

stream_id
এই মানটি প্রত্যাবর্তিত স্ট্রিম সনাক্ত করতে ব্যবহার করা যেতে পারে।
stream_manifest
এই ইউআরএলটি স্ট্রিম প্লেব্যাকের জন্য আপনার মিডিয়া প্লেয়ারে পাঠানো হয়েছে।
media_verification_url
প্লেব্যাক ইভেন্টগুলি ট্র্যাক করার জন্য এই URL হল বেস এন্ডপয়েন্ট৷
মেটাডেটা_ইউআরএল
এই ইউআরএলটি আসন্ন স্ট্রিম ইভেন্টগুলি সম্পর্কে পর্যায়ক্রমিক তথ্যের জন্য পোল করতে ব্যবহৃত হয়।
session_update_url
এই ইউআরএলটি প্রাথমিক স্ট্রিম অনুরোধের সময় পাঠানো স্ট্রিম অনুরোধের প্যারামিটার আপডেট করতে ব্যবহার করা হয়। মনে রাখবেন যে এই অনুরোধের প্যারামিটারগুলি আগের স্ট্রীমের জন্য সেট করা সমস্ত প্যারামিটার প্রতিস্থাপন করে৷
পোলিং_ফ্রিকোয়েন্সি
DAI API থেকে আপডেট করা অ্যাডব্রেক মেটাডেটা অনুরোধ করার সময় সেকেন্ডের মধ্যে ফ্রিকোয়েন্সি।

2. নতুন অ্যাডব্রেক মেটাডেটার জন্য পোল৷

মেটাডেটা URL ব্যবহার করে পোলিং ফ্রিকোয়েন্সিতে নতুন AdBreak মেটাডেটার জন্য পোল করার জন্য একটি টাইমার সেট করুন। স্ট্রীম প্রতিক্রিয়াতে নির্দিষ্ট না থাকলে, ডিফল্ট প্রস্তাবিত ব্যবধান 10 সেকেন্ড।

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

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/metadata

উদাহরণ প্রতিক্রিয়া শরীর

{
   "tags":{
      "google_0492266569":{
         "ad":"0000229836_ad1",
         "ad_break_id":"0000229836",
         "type":"firstquartile"
      },
      "google_1560331148":{
         "ad":"0000229836_ad1",
         "ad_break_id":"0000229836",
         "type":"thirdquartile"
      },
      "google_1877686714378797835":{
         "ad":"0000229836_slate",
         "ad_break_id":"0000229836",
         "type":"progress"
      },
      "google_1vRyQBYPw_7Gg3MrZ6S5EjmV9aLje-YpW8QHed1DSlU":{
         "ad":"0000229835_ad1",
         "ad_break_id":"0000229835",
         "type":"progress"
      },
      "google_2032765498":{
         "ad":"0000229835_ad1",
         "ad_break_id":"0000229835",
         "type":"midpoint"
      },......
      "google_5646900623":{
         "ad":"0000229837_ad1",
         "ad_break_id":"0000229837",
         "type":"complete"
      }
   },
   "ads":{
      "0000229834_ad1":{
         "ad_break_id":"0000229834",
         "position":1,
         "duration":15.01,
         "title":"truman-e2e-creativeset4",
         "description":"truman-e2e-creativeset4 ad",
         "ad_system":"GDFP",
         "ad_id":"39066884",
         "creative_id":"58092079124",
         "clickthrough_url":"https://pubads.g.doubleclick.net/pcs/click?xai=AKAO...\u0026adurl=http://google.com",
         "universal_ad_id":{
            "id_value":"58092079124",
            "id_registry":"GDFP"
         }
      },
      "0000229834_slate":{
         "ad_break_id":"0000229834",
         "position":-1,
         "duration":14.974977777,
         "slate":true
      },...
   },
   "ad_breaks":{
      "0000229834":{
         "type":"mid",
         "duration":15.01,
         "expected_duration":29.984977776999997,
         "ads":1
      },....
   }
}

3. ID3 ইভেন্টগুলি শুনুন এবং প্লেব্যাক ইভেন্টগুলি ট্র্যাক করুন৷

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

  1. মিডিয়া ইভেন্টগুলিকে একটি সারিতে সংরক্ষণ করুন, প্রতিটি মিডিয়া আইডি তার টাইমস্ট্যাম্প সহ সংরক্ষণ করুন (যদি প্লেয়ার দ্বারা প্রদর্শিত হয়)।
  2. প্লেয়ার থেকে প্রতিবার আপডেটের সময়, বা একটি সেট ফ্রিকোয়েন্সিতে (প্রস্তাবিত 500 ms), প্লেহেডের সাথে ইভেন্ট টাইমস্ট্যাম্পের তুলনা করে সম্প্রতি প্লে হওয়া ইভেন্টগুলির জন্য মিডিয়া ইভেন্টের সারিটি পরীক্ষা করুন৷
  3. মিডিয়া ইভেন্টগুলির জন্য যা আপনি নিশ্চিত করেছেন যে প্লে হয়েছে, সঞ্চিত বিজ্ঞাপন বিরতি ট্যাগগুলিতে মিডিয়া আইডি সন্ধান করে টাইপটি পরীক্ষা করুন৷ মনে রাখবেন যে সঞ্চিত ট্যাগগুলিতে শুধুমাত্র মিডিয়া আইডির একটি উপসর্গ থাকে তাই একটি সঠিক মিল সম্ভব নয়৷
  4. একজন ব্যবহারকারী বিজ্ঞাপন বিরতির মধ্যে আছে কিনা তা ট্র্যাক রাখতে "প্রগতি" ইভেন্টগুলি ব্যবহার করুন৷ মিডিয়া যাচাইকরণের শেষ পয়েন্টে এই ইভেন্টগুলি পাঠাবেন না। অন্যান্য ইভেন্ট প্রকারের জন্য, মিডিয়া যাচাইকরণের শেষ পয়েন্টে মিডিয়া আইডি যুক্ত করুন এবং প্লেব্যাক ট্র্যাক করার জন্য একটি GET অনুরোধ করুন৷
  5. সারি থেকে মিডিয়া ইভেন্ট সরান.

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

https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/

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

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

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

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

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

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

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/session

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

উদাহরণ প্রতিক্রিয়া শরীর

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

সীমাবদ্ধতা

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

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

সেরা অনুশীলন

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

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