IMA SDK-এর মাধ্যমে আপনার ওয়েবসাইট এবং অ্যাপে মাল্টিমিডিয়া বিজ্ঞাপন যুক্ত করা সহজ। IMA SDK যেকোনো VAST-সম্মত অ্যাড সার্ভার থেকে বিজ্ঞাপনের জন্য অনুরোধ করতে পারে এবং আপনার অ্যাপে বিজ্ঞাপনের প্লেব্যাক পরিচালনা করতে পারে। IMA DAI SDK-এর সাহায্যে, অ্যাপগুলো বিজ্ঞাপন এবং কন্টেন্ট ভিডিও—উভয়ই VOD বা লাইভ কন্টেন্টের জন্য একটি স্ট্রিম অনুরোধ করে। এরপর SDK একটি সম্মিলিত ভিডিও স্ট্রিম ফেরত দেয়, ফলে আপনাকে আপনার অ্যাপের মধ্যে বিজ্ঞাপন এবং কন্টেন্ট ভিডিওর মধ্যে পরিবর্তন পরিচালনা করতে হয় না।
আপনার পছন্দের DAI সমাধানটি নির্বাচন করুন।
পড সার্ভিং ডিএআই
এই নির্দেশিকাটি দেখায় কিভাবে একটি ভিডিও প্লেয়ার ব্যবহার করে tvOS-এর জন্য IMA DAI SDK দিয়ে একটি DAI Pod Serving লাইভ বা VOD স্ট্রিম চালানো যায়। একটি সম্পূর্ণ নমুনা ইন্টিগ্রেশন দেখতে বা অনুসরণ করতে, Pod Serving উদাহরণ অ্যাপটি ( Obj C বা Swift ) ডাউনলোড করুন।
আইএমএ ডিএআই পড পরিবেশনের সংক্ষিপ্ত বিবরণ
tvOS-এর জন্য IMA DAI SDK ব্যবহার করে পড সার্ভিং বাস্তবায়নে দুটি প্রধান উপাদান জড়িত:
StreamRequest: একটি অবজেক্ট যা গুগলের বিজ্ঞাপন সার্ভারে একটি স্ট্রিম রিকোয়েস্ট নির্ধারণ করে। পড সার্ভিং সক্ষম করার জন্য এটি অবশ্যইIMAPodStreamRequestঅথবাIMAPodVODStreamRequestব্যবহার করে তৈরি করতে হবে। উভয় পদ্ধতির জন্যই একটি নেটওয়ার্ক কোড প্রয়োজন এবংIMAPodStreamRequestজন্য একটি কাস্টম অ্যাসেট কী- ও দরকার। একটি এপিআই কী ঐচ্ছিক।IMAStreamManager: একটি অবজেক্ট যা ভিডিও স্ট্রিম এবং IMA DAI SDK-এর মধ্যে যোগাযোগ পরিচালনা করে, যেমন ট্র্যাকিং পিং পাঠানো এবং স্ট্রিম ইভেন্টগুলো পাবলিশারের কাছে ফরোয়ার্ড করা।
পূর্বশর্ত
শুরু করার আগে আপনার নিম্নলিখিত জিনিসগুলো প্রয়োজন হবে:
- এক্সকোড ১৩ বা তার পরবর্তী সংস্করণ।
- IMA SDK ইনস্টল করার পদ্ধতি:
- সুইফট প্যাকেজ ম্যানেজার (পছন্দনীয়)
- কোকোপড
- tvOS-এর জন্য IMA SDK- এর একটি ডাউনলোড কপি
- DAI বিজ্ঞাপন সহ ভিডিও স্ট্রিম চালানোর জন্য IMA DAI SDK দিয়ে আগে থেকেই সেট আপ করা একটি tvOS অ্যাপ। যদি আপনার কাছে আগে থেকে এমন কোনো অ্যাপ না থাকে, তাহলে আমরা শুরু করার জন্য tvOS DAI BasicExample ব্যবহার করার পরামর্শ দিই। এই গাইডে উল্লেখিত কোডবেসটি BasicExample-এ রয়েছে। IMA DAI SDK কীভাবে প্রয়োগ করতে হয় সে সম্পর্কে আরও তথ্যের জন্য, কুইক স্টার্ট গাইড দেখুন।
আপনার পড পরিবেশনের ভেরিয়েবলগুলো সেট আপ করুন
পড সার্ভিং-এর জন্য সমস্ত পরিবর্তন Swift-এ ViewController.swift অথবা Objective-C-তে ViewController.m এ করুন। এই গাইডের কোড স্নিপেটগুলিতে ডিফল্টভাবে Swift ভাষা ব্যবহার করা হয়েছে। প্রথম ধাপ হলো কনস্ট্যান্ট ভেরিয়েবলগুলো আপডেট করা।
নিম্নলিখিত অ্যাড পড স্ট্রিম অনুরোধ কনস্ট্যান্টগুলো যোগ করুন:
-
STREAM_URL( শুধুমাত্র লাইভস্ট্রিমের জন্য ব্যবহৃত ): আপনার ম্যানিফেস্ট ম্যানিপুলেটর বা পড সার্ভিং ব্যবহারকারী তৃতীয় পক্ষের পার্টনার দ্বারা সরবরাহ করা ভিডিও স্ট্রিম ইউআরএল। অনুরোধ করার আগে, এটির জন্য আপনাকে IMA DAI SDK দ্বারা প্রদত্ত স্ট্রিম আইডি প্রবেশ করাতে হবে। এক্ষেত্রে, স্ট্রিম ইউআরএল-এ একটি প্লেসহোল্ডার,"[[STREAMID]]"অন্তর্ভুক্ত থাকে, যা আপনি অনুরোধ করার আগে স্ট্রিম আইডি দিয়ে প্রতিস্থাপন করবেন। -
NETWORK_CODE: আপনার অ্যাড ম্যানেজার ৩৬০ অ্যাকাউন্টের নেটওয়ার্ক কোড। -
CUSTOM_ASSET_KEY( শুধুমাত্র লাইভস্ট্রিমের জন্য ব্যবহৃত ): এটি হলো সেই কাস্টম অ্যাসেট কী যা অ্যাড ম্যানেজার ৩৬০-এ আপনার পড সার্ভিং ইভেন্টকে শনাক্ত করে। আপনার ম্যানিফেস্ট ম্যানিপুলেটর অথবা তৃতীয় পক্ষের পড সার্ভিং পার্টনার এটি তৈরি করতে পারেন। -
API_KEY( শুধুমাত্র লাইভস্ট্রিমের জন্য ব্যবহৃত ): একটি ঐচ্ছিক API কী, যা IMA DAI SDK থেকে একটি স্ট্রিম আইডি পুনরুদ্ধার করার জন্য প্রয়োজন হতে পারে।
উদাহরণটির ভেরিয়েবল সেকশনটি নিম্নলিখিত অনুযায়ী পরিবর্তন করুন:
...
class ViewController:
UIViewController,
IMAAdsLoaderDelegate,
IMAStreamManagerDelegate,
AVPlayerViewControllerDelegate
{
static let streamUrl = ""
static let networkCode = ""
static let customAssetKey = ""
static let APIKey = ""
static let backupStreamURLString = ""
var adsLoader: IMAAdsLoader?
...
একটি লাইভ অথবা ভিওডি পড স্ট্রিম অনুরোধ তৈরি করুন
লাইভস্ট্রিম পড পরিবেশন
IMAPodStreamRequest ইনস্ট্যানশিয়েট করে একটি লাইভ পড স্ট্রিম রিকোয়েস্ট তৈরি করতে requestStream মেথডটি পরিবর্তন করুন।
...
func requestStream() {
guard let playerViewController = self.playerViewController else return
guard let adContainerView = self.adContainerView else return
guard let adsLoader = self.adsLoader else return
self.videoDisplay = IMAAVPlayerVideoDisplay(avPlayer: playerViewController.player)
adDisplayContainer = IMAAdDisplayContainer(
adContainer: adContainerView, viewController: self)
// Create a podserving stream request.
request = IMAPodStreamRequest(
networkCode: self.networkCode,
customAssetKey: self.customAssetKey,
adDisplayContainer: adDisplayContainer,
videoDisplay: self.videoDisplay,
userContext: nil)
adsLoader.requestStream(with: request)
}
...
ভিওডি স্ট্রিম পড পরিবেশন
IMAPodVODStreamRequest ইনস্ট্যানশিয়েট করে একটি VOD পড স্ট্রিম রিকোয়েস্ট তৈরি করতে requestStream মেথডটি পরিবর্তন করুন।
...
func requestStream() {
guard let playerViewController = self.playerViewController else return
guard let adContainerView = self.adContainerView else return
guard let adsLoader = self.adsLoader else return
self.videoDisplay = IMAAVPlayerVideoDisplay(avPlayer: playerViewController.player)
adDisplayContainer = IMAAdDisplayContainer(
adContainer: adContainerView, viewController: self)
// Create a podserving stream request.
request = IMAPodVODStreamRequest(
networkCode: self.networkCode,
adDisplayContainer: adDisplayContainer,
videoDisplay: self.videoDisplay,
userContext: nil)
adsLoader.requestStream(with: request)
}
...
স্ট্রিম URL সম্পাদনা করুন এবং সেট করুন
লাইভস্ট্রিম পড পরিবেশন
streamManager.streamId ব্যবহার করে স্ট্রিম আইডি পেতে IMAAdsLoaderDelegate মেথডটি পরিবর্তন করুন। তারপর, "[[STREAMID]]" এর পরিবর্তে স্ট্রিম আইডিটি STREAM_URL এ যুক্ত করুন। এই পরিবর্তনটি করার পর, videoDisplay.loadStream() ব্যবহার করে নতুন স্ট্রিম URL-টি সেট করুন।
...
// MARK: - IMAAdsLoaderDelegate
func adsLoader(_ loader: IMAAdsLoader!, adsLoadedWith adsLoadedData: IMAAdsLoadedData!) {
let streamManager = adsLoadedData.streamManager
let streamId = streamManager.streamId
let urlString = streamUrl.replacingOccurrences(of: "[[STREAMID]]", with: streamId)
let loadedStreamUrl = URL(string:urlString)
self.videoDisplay.loadStream(loadedStreamUrl, subtitles:@[])
self.videoDisplay.play()
streamManager.delegate = self
streamManager.initialize(with: nil)
self.streamManager = streamManager
}
...
ভিওডি স্ট্রিম পড পরিবেশন
স্ট্রিম আইডি পেতে streamManager.streamId ব্যবহার করে IMAAdsLoaderDelegate মেথডগুলো পরিবর্তন করুন। এরপর, আপনার ভিডিও টেকনোলজি পার্টনার (VTP) থেকে একটি স্ট্রিম ইউআরএল-এর জন্য অনুরোধ করুন এবং IMAStreamManager.loadThirdPartyStream() কল করুন, যাতে IMA স্ট্রিম ইউআরএল এবং আপনার TVP দ্বারা ফেরত দেওয়া যেকোনো সাবটাইটেল লোড করে।
...
// MARK: - IMAAdsLoaderDelegate
func adsLoader(_ loader: IMAAdsLoader!, adsLoadedWith adsLoadedData: IMAAdsLoadedData!) {
let streamManager = adsLoadedData.streamManager
let streamId = streamManager.streamId
// 'vtpInterface' is a place holder for your own video technology partner
// (VTP) API calls.
let streamUrl = vtpInterface.requestStreamURL(streamID)
self.streamManager.loadThirdPartyStream(streamUrl, streamSubtitles:@[])
streamManager.delegate = self
streamManager.initialize(with: nil)
self.streamManager = streamManager
}
IMA DAI সম্পদ পরিষ্কার করুন
IMA DAI SDK ব্যবহার করে একটি পড সার্ভিং স্ট্রিমে বিজ্ঞাপন অনুরোধ করা এবং প্রদর্শন করা সফলভাবে শেষ করার পর, আমরা পরামর্শ দিই যে পড সার্ভিং সেশনটি সম্পূর্ণ হলে আপনি সমস্ত রিসোর্স পরিষ্কার করে ফেলুন। স্ট্রিম প্লেব্যাক বন্ধ করতে, সমস্ত বিজ্ঞাপন ট্র্যাকিং বন্ধ করতে এবং লোড করা সমস্ত স্ট্রিম অ্যাসেট মুক্ত করতে IMAStreamManager.destroy() কল করুন।
tvOS SDK-এর ব্যবহারের অন্যান্য উদাহরণ দেখতে, GitHub-এ থাকা নমুনাগুলো দেখুন।