এই নির্দেশিকাটি দেখায় কিভাবে ভিডিও-অন-ডিমান্ড (VOD) স্ট্রিমের জন্য ডাইনামিক অ্যাড ইনসারশন (DAI) ব্যবহার করার সময় IMA DAI SDK ব্যবহার করে বুকমার্কিং বাস্তবায়ন করতে হয়। এর জন্য একটি কার্যকর IMA DAI ইমপ্লিমেন্টেশন ধরে নেওয়া হয়েছে, যেমনটি 'Get Started'- এ দেখানো হয়েছে।
বুকমার্কিং বলতে কী বোঝায়?
বুকমার্কিং হলো কন্টেন্ট স্ট্রিমের কোনো একটি নির্দিষ্ট অংশ সংরক্ষণ করে পরে সেখানে ফিরে আসার ক্ষমতা। ধরুন, একজন ব্যবহারকারী পাঁচ মিনিটের কন্টেন্ট দেখলেন, ভিডিও স্ট্রিমটি ছেড়ে গেলেন এবং তারপর আবার তাতে ফিরে এলেন। বুকমার্কিং স্ট্রিমের মধ্যে ব্যবহারকারীর অবস্থানটি সংরক্ষণ করে রাখে, ফলে স্ট্রিমটি ঠিক যেখান থেকে থেমেছিল সেখান থেকেই আবার শুরু হতে পারে, যা দর্শককে একটি নির্বিঘ্ন অভিজ্ঞতা প্রদান করে।
DAI নেপথ্যে বুকমার্কিং
একটি DAI স্ট্রিম বুকমার্ক করার সময়, ব্যবহারকারী যখন ভিডিওটি ছেড়ে যান, তখন আপনাকে অবশ্যই স্ট্রিম আইডি এবং সময় রেকর্ড করতে হবে। ব্যবহারকারী ফিরে এলে, স্ট্রিমটির জন্য পুনরায় অনুরোধ করুন এবং সংরক্ষিত সময়ে যান। যেহেতু অনুরোধ করা স্ট্রিমের প্রতিটি সংস্করণে বিভিন্ন সময়কালের বিজ্ঞাপন বিরতি থাকতে পারে, তাই শুধু স্ট্রিমের সময় সংরক্ষণ করলেই কাজ হবে না। আপনাকে যা করতে হবে তা হলো, একই কন্টেন্টের সময় থেকে চালিয়ে যাওয়া।
রূপান্তর পদ্ধতি উদ্ধারে এগিয়ে আসে
IMA DAI SDK একটি নির্দিষ্ট স্ট্রিম টাইমের জন্য কন্টেন্ট টাইম এবং একটি নির্দিষ্ট কন্টেন্ট টাইমের জন্য স্ট্রিম টাইম অনুরোধ করার জন্য একজোড়া মেথড প্রদান করে। এই রূপান্তর মেথডগুলো ব্যবহার করে আপনি বুকমার্ক করা কন্টেন্ট টাইমটি সংরক্ষণ করতে পারেন এবং তারপর স্ট্রিমের নতুন ইনস্ট্যান্সে সংশ্লিষ্ট স্ট্রিম টাইমে সিক করতে পারেন। পদ্ধতিটি নিচে দেওয়া হলো, সাথে একটি নমুনা অ্যাপের লিঙ্কও রয়েছে যা একটি কার্যকর বুকমার্কিং ইমপ্লিমেন্টেশন প্রদর্শন করে।
বুকমার্ক সংরক্ষণ করা
Activity পজ করা হলে একটি বুকমার্ক সেভ করুন।
private double bookmarkTime;
@Override
public void onPause() {
super.onPause();
double streamTime = videoPlayer.getCurrentPosition() / 1000.0; // ms to s.
bookmarkTime = streamManager.getContentTimeForStreamTime(streamTime);
}
বুকমার্ক লোড হচ্ছে
স্ট্রিম পুনরায় অনুরোধ করার সময় বুকমার্কটি লোড করুন। এটি VideoStreamPlayer ইন্টারফেস বাস্তবায়নের একটি অংশ।
public void loadUrl(String url, List<HashMap<String, String>> subtitles) {
// Set video player's stream URL and subtitles, and play the stream.
...
// Bookmarking.
if (bookmarkTime > 0) {
double streamTime =
streamManager.getStreamTimeForContentTime(bookmarkTime);
videoPlayer.seek((long) (streamTime * 1000.0)); // s to ms.
}
}
নমুনা অ্যাপ
বুকমার্কিংয়ের বাস্তবায়ন দেখতে নমুনা অ্যাপটি ডাউনলোড করুন ।