অ্যাড পড সেগমেন্ট অনুরোধগুলি প্রমাণীকরণ করুন

সার্ভার-সাইড অ্যাড স্টিচিং-এর জন্য, আপনার ম্যানিফেস্ট ম্যানিপুলেটর গুগল ডিএআই (Google DAI)-তে অ্যাড পড সেগমেন্ট রিকোয়েস্ট পাঠায়। আরও তথ্যের জন্য, ‘অ্যাড সেগমেন্ট ইউআরএল তৈরি করুন’ (Build ad segment URLs) দেখুন।

এই পৃষ্ঠায় HMAC টোকেন ব্যবহার করে অ্যাড পড সেগমেন্ট অনুরোধের প্রমাণীকরণ সম্পর্কে আলোচনা করা হয়েছে।

শুরু করার আগে

চালিয়ে যাওয়ার আগে, নিম্নলিখিতগুলি করুন:

একটি HMAC টোকেন তৈরি করুন

টোকেন তৈরি করতে, নিম্নলিখিতগুলি করুন:

  1. আপনার পড সেগমেন্ট অনুরোধের জন্য ব্যবহৃত পাথ এবং কোয়েরি প্যারামিটারগুলো (অথ-টোকেন ছাড়া) সংগ্রহ করুন। সম্পূর্ণ তালিকার জন্য, পদ্ধতি: পড সেগমেন্ট দেখুন।
  2. আপনার প্যারামিটারগুলোকে একটিমাত্র স্ট্রিং-এ সাজান। আপনাকে অবশ্যই প্যারামিটারগুলো বর্ণানুক্রমিকভাবে সাজাতে হবে এবং টিল্ড ( ~ চিহ্ন দিয়ে আলাদা করতে হবে, উদাহরণস্বরূপ:

    custom_asset_key=CUSTOM_ASSET_KEY~exp=EXPIRATION~network_code=NETWORK_CODE~pd=POD_DURATION~pod_id=POD_IDENTIFIER
    
  3. আপনার DAI প্রমাণীকরণ কী ব্যবহার করে টোকেন স্ট্রিংটির একটি SHA-256 হ্যাশ গণনা করুন।

  4. হ্যাশ আউটপুটটি হেক্সাডেসিমেল ফরম্যাটে সাজান।

  5. টোকেন স্ট্রিংটিতে স্বাক্ষর করতে, পূর্বে সংগৃহীত প্যারামিটারগুলোর শেষে স্বাক্ষরটি যুক্ত করুন:

    custom_asset_key=...~hmac=HMAC_SIGNATURE
    

    আপনার DAI অথেন্টিকেশন কী ব্যবহার করে টোকেন স্ট্রিংটিকে হ্যাশ করে তৈরি করা সিগনেচারটি দিয়ে HMAC_SIGNATURE প্রতিস্থাপন করুন।

  6. স্বাক্ষরিত টোকেন স্ট্রিংটি নিরাপদে প্রেরণ করতে, এতে ইউআরএল-এনকোডিং প্রয়োগ করুন।

    নিম্নলিখিত উদাহরণটি একটি স্বাক্ষরিত টোকেন স্ট্রিং-এর URL-এনকোডেড মান তৈরি করে:

এইচএলএস

# Add 60 seconds to the current time
future_epoch=$((EPOCHSECONDS + 60))

echo "Current: $EPOCHSECONDS"
echo "Future: $future_epoch"
# Current: 1774465950
# Future: 1774466010

# Sample DAI pod resource authentication key
key="EB08..."

# Sort parameters in the token string
token="ad_break_id=ab1~custom_asset_key=hls-pod-serving-redirect-auth-stream-pod~exp=1774466010~network_code=21775744923~pd=30000"

# Generate the token's signature.
echo -n $token | openssl dgst -sha256 -mac HMAC -macopt key:$key

# SHA2-256(stdin)= ff38abab31b436351e20ecd57bcc5b97acd9461abb71c4cf9c9731add965ecf2

# Sign the token: ad_break_id=ab1~custom_asset_key=hls-pod-serving-redirect-auth-stream-pod~exp=1774466010~network_code=21775744923~pd=30000~hmac=ff38abab31b436351e20ecd57bcc5b97acd9461abb71c4cf9c9731add965ecf2

# Encode the token: ad_break_id%3Dab1~custom_asset_key%3Dhls-pod-serving-redirect-auth-stream-pod~exp%3D1774466010~network_code%3D21775744923~pd%3D30000~hmac%3Dff38abab31b436351e20ecd57bcc5b97acd9461abb71c4cf9c9731add965ecf2

ড্যাশ

# Add 60 seconds to the current time
future_epoch=$((EPOCHSECONDS + 60))

echo "Current: $EPOCHSECONDS"
echo "Future: $future_epoch"
# Current: 1769540517
# Future: 1769540577

# Sample DAI pod resource authentication key
key="EB08..."

# Sort parameters in the token string
token="ad_break_id=ab1~custom_asset_key=dash-pod-serving-redirect-auth-stream-pod~exp=1774466641~network_code=21775744923~pd=30000"

# Generate the token's signature.
echo -n $token | openssl dgst -sha256 -mac HMAC -macopt key:$key

# SHA2-256(stdin)= 7249f9193778f2318314519ff2cea5c47958bc7fdd2eaf24008352867af0a050

# Sign the token: ad_break_id=ab1~custom_asset_key=dash-pod-serving-redirect-auth-stream-pod~exp=1774466641~network_code=21775744923~pd=30000~hmac=7249f9193778f2318314519ff2cea5c47958bc7fdd2eaf24008352867af0a050

# Encode the token: ad_break_id%3Dab1~custom_asset_key%3Ddash-pod-serving-redirect-auth-stream-pod~exp%3D1774466641~network_code%3D21775744923~pd%3D30000~hmac%3D7249f9193778f2318314519ff2cea5c47958bc7fdd2eaf24008352867af0a050

একটি HLS অ্যাড পড সেগমেন্ট অনুরোধ প্রমাণীকরণ করুন

আপনার পড রিসোর্স অনুরোধগুলি প্রমাণীকরণ করতে, URL-এনকোডেড স্বাক্ষরিত HMAC টোকেনটি পাঠানোর জন্য auth-token কোয়েরি স্ট্রিং প্যারামিটারটি ব্যবহার করুন।

এইচএলএস

নিম্নলিখিত উদাহরণটি একটি HLS পড সেগমেন্ট অনুরোধ প্রমাণীকরণের জন্য একটি HMAC টোকেন ব্যবহার করে:

curl --include "https://dai.google.com/linear/pods/v1/seg/network/21775744923/custom_asset/hls-pod-serving-redirect-auth-stream-pod/ad_break_id/ab1/profile/media-ts-4628000bps/0.ts?stream_id=51b85d28-7ed5-48da-bfd8-e013b7d7b204:DLS&&sd=10000&pd=30000&auth-token=ad_break_id%3Dab1~custom_asset_key%3Dhls-pod-serving-redirect-auth-stream-pod~exp%3D1774466010~network_code%3D21775744923~pd%3D30000~hmac%3Dff38abab31b436351e20ecd57bcc5b97acd9461abb71c4cf9c9731add965ecf2"

সফল হলে, আপনি নিম্নলিখিত প্রতিক্রিয়াটি দেখতে পাবেন:

...
< HTTP/2 302
< access-control-allow-headers: Authorization
< access-control-allow-origin: *
< access-control-expose-headers: Location
< cache-control: no-cache, no-store, max-age=0, must-revalidate
< date: Wed, 25 Mar 2026 18:13:40 GMT
< expires: Mon, 01 Jan 1990 00:00:00 GMT
< location: https://redirector.googlevideo.com/....
< pragma: no-cache
< x-content-type-options: nosniff
< x-frame-options: SAMEORIGIN
...

প্রতিক্রিয়ার কাঠামো এবং স্ট্যাটাস কোডগুলো বুঝতে, 'পদ্ধতি: পড সেগমেন্ট' অংশটি দেখুন।

প্রমাণীকরণ ব্যর্থ হলে আপনি x-ad-manager-dai-warning দেখতে পাবেন:

...
< HTTP/2 302
< access-control-allow-headers: Authorization
< access-control-allow-origin: *
< access-control-expose-headers: Location
< cache-control: no-cache, no-store, max-age=0, must-revalidate
< date: Wed, 25 Mar 2026 18:17:21 GMT
< expires: Mon, 01 Jan 1990 00:00:00 GMT
< location: https://redirector.googlevideo.com/....
< pragma: no-cache
< x-ad-manager-dai-warning: Unable to create ad break due to Unauthorized error (skipping ad break creation)
< x-content-type-options: nosniff
...

ড্যাশ

নিম্নলিখিত উদাহরণটি একটি DASH পড সেগমেন্ট অনুরোধ প্রমাণীকরণের জন্য একটি HMAC টোকেন ব্যবহার করে:

curl --include "https://dai.google.com/linear/pods/v1/seg/network/21775744923/custom_asset/dash-pod-serving-redirect-auth-stream-pod/ad_break_id/ab1/profile/media-ts-4628000bps/0.ts?stream_id=8b061ab5-1efc-4e4d-882f-ae3c071df854:ATL&&sd=10000&pd=30000&auth-token=ad_break_id%3Dab1~custom_asset_key%3Ddash-pod-serving-redirect-auth-stream-pod~exp%3D1774466641~network_code%3D21775744923~pd%3D30000~hmac%3D7249f9193778f2318314519ff2cea5c47958bc7fdd2eaf24008352867af0a050"

সফল হলে, আপনি নিম্নলিখিত প্রতিক্রিয়াটি দেখতে পাবেন:

...
HTTP/2 302
..
location: https://redirector.googlevideo.com/....
...

প্রতিক্রিয়ার কাঠামো এবং স্ট্যাটাস কোডগুলো বুঝতে, 'পদ্ধতি: পড সেগমেন্ট' অংশটি দেখুন।

প্রমাণীকরণ ব্যর্থ হলে, আপনি নিম্নলিখিত x-ad-manager-dai-warning টি দেখতে পাবেন:

...
HTTP/2 302
..
location: https://redirector.googlevideo.com/....
pragma: no-cache
x-ad-manager-dai-warning: Unable to create ad break due to Unauthorized error (skipping ad break creation)
x-content-type-options: nosniff
...