কো-ডুইং এপিআই মিটিং অংশগ্রহণকারীদের মধ্যে যেকোনো ডেটা সিঙ্ক্রোনাইজ করতে ব্যবহৃত হয়। এটি এমন যেকোনো ডেটা হতে পারে যার ওপর আপনার অ্যাপ নির্ভর করে।
ডেটা প্রেরণের জন্য আপনাকে অবশ্যই এটিকে একটি Uint8Array তে সিরিয়ালাইজ করতে হবে। আরও তথ্যের জন্য, জাভাস্ক্রিপ্ট স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স দেখুন।
আপনার ডেটা কীভাবে সিরিয়ালাইজ করতে হয় সে সম্পর্কে নিশ্চিত না হলে, নিচের কোডের নমুনাগুলো পর্যালোচনা করুন।
এই নির্দেশিকায় কো-ডুইং এপিআই (Co-Doing API) প্রয়োগ করার পদ্ধতি ব্যাখ্যা করা হয়েছে।
শুরু করুন
Co-Doing API ব্যবহার করার জন্য, আপনাকে প্রথমে একটি Meet অ্যাড-অন Deploy করতে হবে। এই ধাপগুলো সম্পন্ন করার পর, আপনি আপনার নতুন অ্যাড-অনটির ভেতর থেকে Co-Doing API ব্যবহার করা শুরু করতে পারবেন।
Co-Doing API ব্যবহার করার জন্য, প্রথমে একটি AddonSession অবজেক্ট সংগ্রহ করুন, যা Google Meet-এর সহ-কার্যক্রমগুলোর প্রবেশদ্বার হিসেবে কাজ করে:
টাইপস্ক্রিপ্ট
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
CLOUD_PROJECT_NUMBER জায়গায় আপনার গুগল ক্লাউড প্রজেক্টের প্রজেক্ট নম্বরটি বসান।
একটি সহ-কর্ম ক্লায়েন্ট তৈরি করুন
শুরু করার জন্য, আপনার AddonSession থেকে একটি CoDoingClient অবজেক্ট তৈরি করুন।
একটি CoDoingClient তৈরি করতে, createCoDoingClient() মেথডটি কল করুন এবং একটি CoDoingDelegate অবজেক্ট প্রদান করুন।
CoDoingDelegate মাধ্যমেই Co-Doing API আপনার অ্যাপকে আপডেট করে, যখনই কোনো নতুন স্টেট উপলব্ধ হয়। আশা করা হয় যে, যখন onCoDoingStateChanged() মেথডটি কল করা হয়, আপনার অ্যাপ সাথে সাথে নতুন স্টেটটি প্রয়োগ করবে।
নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে Co-Doing API ব্যবহার করতে হয়:
টাইপস্ক্রিপ্ট
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 অ্যাপটির বর্তমান অবস্থা দিয়ে প্রতিস্থাপন করুন।