কো-ডুয়িং এপিআই মিটিং অংশগ্রহণকারীদের মধ্যে ইচ্ছামত ডেটা সিঙ্ক্রোনাইজ করার জন্য ব্যবহৃত হয়। এটি আপনার অ্যাপের উপর নির্ভরশীল যেকোনো ডেটা হতে পারে।
ডেটা ট্রান্সমিট করার জন্য আপনাকে অবশ্যই Uint8Array তে সিরিয়ালাইজ করতে হবে। আরও তথ্যের জন্য, জাভাস্ক্রিপ্ট স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স দেখুন।
যদি আপনি নিশ্চিত না হন যে কীভাবে আপনার ডেটা সিরিয়ালাইজ করবেন, তাহলে নিম্নলিখিত কোড নমুনাগুলি পর্যালোচনা করুন।
এই নির্দেশিকাটি ব্যাখ্যা করে কিভাবে কো-ডুয়িং এপিআই বাস্তবায়ন করতে হয়।
শুরু করুন
Co-Doing API ব্যবহার করার জন্য, আপনাকে প্রথমে একটি Meet অ্যাড-অন স্থাপন করতে হবে। একবার আপনি এই পদক্ষেপগুলি সম্পন্ন করার পরে, আপনি আপনার নতুন অ্যাড-অনের মধ্যে থেকে Co-Doing API ব্যবহার শুরু করতে পারেন।
Co-Doing API ব্যবহার করতে, একটি AddonSession অবজেক্ট ব্যবহার করে শুরু করুন, যা Google Meet কো-অ্যাক্টিভিটির জন্য এন্ট্রি পয়েন্ট হিসেবে কাজ করে:
টাইপস্ক্রিপ্ট
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
আপনার Google Cloud প্রোজেক্টের প্রোজেক্ট নম্বর দিয়ে CLOUD_PROJECT_NUMBER পরিবর্তে লিখুন।
একটি সহ-কর্মরত ক্লায়েন্ট তৈরি করুন
শুরু করতে, আপনার AddonSession থেকে একটি CoDoingClient অবজেক্ট তৈরি করুন।
একটি CoDoingClient তৈরি করতে, createCoDoingClient() পদ্ধতিটি কল করুন এবং একটি CoDoingDelegate অবজেক্ট প্রদান করুন।
CoDoingDelegate হলো Co-Doing API, যখনই আপনার অ্যাপে নতুন অবস্থা উপলব্ধ হয়, তখনই তা আপডেট করে। আশা করা যায় যে, যখন onCoDoingStateChanged() পদ্ধতিটি কল করা হয়, তখন আপনার অ্যাপটি তাৎক্ষণিকভাবে নতুন অবস্থা প্রয়োগ করে।
নিম্নলিখিত কোড নমুনাটি কো-ডুয়িং এপিআই কীভাবে ব্যবহার করবেন তা দেখায়:
টাইপস্ক্রিপ্ট
interface MyState {
someString: string;
someNumber: number;
}
/**
* Serialize/deserialize using JSON.stringify
* You can use any method you want; this is included for as an example
*/
function toBytes(state: MyState): Uint8Array {
return new TextEncoder().encode(JSON.stringify(state));
}
function fromBytes(bytes: Uint8Array): MyState {
return JSON.parse(new TextDecoder().decode(bytes)) as MyState;
}
const coDoingClient = await addonSession.createCoDoingClient({
activityTitle: "ACTIVITY_TITLE",
onCoDoingStateChanged(coDoingState: CoDoingState) {
const newState = fromBytes(coDoingState.bytes);
// This function should apply the new state to your ongoing CoDoing activity
},
});
আপনার কার্যকলাপের শিরোনাম দিয়ে ACTIVITY_TITLE প্রতিস্থাপন করুন।
বর্তমান অবস্থা পরিচালনা করুন
যখন ব্যবহারকারীরা আপনার অ্যাপে কোনও পদক্ষেপ নেয়, তখন আশা করা যায় যে আপনার অ্যাপটি অবিলম্বে broadcastStateUpdate() পদ্ধতিটি কল করবে।
নিম্নলিখিত কোড নমুনাটি broadcastStateUpdate() পদ্ধতির বাস্তবায়ন দেখায়:
টাইপস্ক্রিপ্ট
const myState: MyState = {
someString: "SOME_STRING",
someNumber: 0
};
document.getElementById('some-button').onClick(() => {
myState.someNumber = myState.someNumber + 1;
coDoingClient.broadcastStateUpdate({ bytes: toBytes(myState) });
});
SOME_STRING পরিবর্তে অ্যাপের বর্তমান অবস্থা লিখুন।