কো-ওয়াচিং এপিআই আপনার অ্যাপে একাধিক অংশগ্রহণকারীর কন্টেন্ট দেখা বা শোনার মিটিং অভিজ্ঞতা পরিচালনা করে।
এই নির্দেশিকায় কো-ওয়াচিং এপিআই (Co-Watching API) প্রয়োগ করার পদ্ধতি ব্যাখ্যা করা হয়েছে।
শুরু করুন
কো-ওয়াচিং এপিআই ব্যবহার করার জন্য, আপনাকে প্রথমে একটি Meet অ্যাড-অন ডিপ্লয় করতে হবে। এই ধাপগুলো সম্পন্ন করার পর, আপনি আপনার নতুন অ্যাড-অনটির ভেতর থেকে কো-ওয়াচিং এপিআই ব্যবহার শুরু করতে পারবেন।
কো-ওয়াচিং এপিআই ব্যবহার করতে, প্রথমে একটি AddonSession অবজেক্ট সংগ্রহ করুন, যা গুগল মিট-এর সহ-কার্যক্রমগুলোর প্রবেশদ্বার হিসেবে কাজ করে:
টাইপস্ক্রিপ্ট
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
CLOUD_PROJECT_NUMBER জায়গায় আপনার গুগল ক্লাউড প্রজেক্টের প্রজেক্ট নম্বরটি বসান।
একজন সহ-পর্যবেক্ষণকারী ক্লায়েন্ট তৈরি করুন
শুরু করার জন্য, আপনার AddonSession থেকে একটি CoWatchingClient অবজেক্ট তৈরি করুন।
একটি CoWatchingCient তৈরি করতে, createCoWatchingClient() মেথডটি কল করুন এবং একটি CoWatchingDelegate অবজেক্ট প্রদান করুন।
CoWatchingDelegate মাধ্যমেই Co-Watching API আপনার অ্যাপকে আপডেট করে, যখনই কোনো নতুন স্টেট উপলব্ধ হয়। আশা করা হয় যে, যখন onCoWatchingStateChanged() মেথডটি কল করা হয়, আপনার অ্যাপ সঙ্গে সঙ্গে নতুন স্টেটটি প্রয়োগ করবে।
নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে কো-ওয়াচিং এপিআই ব্যবহার করতে হয়:
টাইপস্ক্রিপ্ট
const coWatchingClient = await addonSession.createCoWatchingClient({
activityTitle: "ACTIVITY_TITLE",
onCoWatchingStateQuery() {
// This function should return the current state of your CoWatching activity
return getMyApplicationCoWatchingState();
},
onCoWatchingStateChanged(coWatchingState: CoWatchingState) {
// This function should apply newState to your ongoing CoWatching activity
},
});
ACTIVITY_TITLE এর জায়গায় আপনার অ্যাক্টিভিটির মিডিয়া টাইটেলটি বসান।
বর্তমান অবস্থা পরিচালনা করুন
যখন ব্যবহারকারীরা আপনার অ্যাপ্লিকেশনে কোনো কাজ করেন, তখন আশা করা হয় যে আপনার অ্যাপ্লিকেশনটি অবিলম্বে প্রদত্ত API মেথডগুলোকে কল করবে।
আপনার কেবল গুরুত্বপূর্ণ ঘটনার প্রতিক্রিয়ায় এই মেথডগুলো কল করা উচিত। উদাহরণস্বরূপ, আপনার অ্যাপ যখনই কোনো চলমান ভিডিওকে এগিয়ে নিয়ে যায়, তখন প্রতিবারই এগুলো কল করার প্রয়োজন নেই। এই পরিস্থিতিতে আপনার তৈরি করা CoWatchingDelegate টিই আপডেট হওয়া প্লেআউট পজিশনগুলো সংগ্রহ করার কাজটি করে।
আপনি এই পদ্ধতিগুলো ব্যবহার করে সহ-পর্যবেক্ষণ অবস্থা নিয়ন্ত্রণ করতে পারেন:
notifyBuffering(): পূর্ববর্তী মিডিয়া স্যুইচ, মিডিয়া সিক, বা নেটওয়ার্ক কনজেশনের কারণে কোনো ব্যবহারকারীর অ্যাপ বাফারিং শুরু করলে এই ফাংশনটি কল করা হয়।notifyPauseState(): যখন কোনো ব্যবহারকারী চলমান মিডিয়া পজ বা আনপজ করেন, তখন এই ফাংশনটি কল করা হয়।notifyPlayoutRate(): যখন কোনো ব্যবহারকারী প্লেব্যাকের গতি একটি নতুন মানে (উদাহরণস্বরূপ, 1.25x) আপডেট করেন, তখন এই ফাংশনটি কল করা হয়।notifyReady(): বাফারিং সম্পন্ন হলে এবং মিডিয়াটি প্লে করার জন্য প্রস্তুত হলে এই ফাংশনটি কল করা হয়।notifySeekToTimestamp(): যখন কোনো ব্যবহারকারী স্পষ্টভাবে প্লে আউট পজিশন পরিবর্তন করেন, তখন এই ফাংশনটি কল করা হয়।notifySwitchToMedia(): যখনই সক্রিয়ভাবে প্লে হওয়া মিডিয়া পরিবর্তিত হয়, তখন এটি কল করা হয়। উদাহরণস্বরূপ, ব্যবহারকারী একটি নতুন ভিডিও নির্বাচন করলে, বা অটোপ্লে পরবর্তী ভিডিওটি শুরু করলে।