Co-Doing API का इस्तेमाल, मीटिंग में हिस्सा लेने वाले लोगों के बीच डेटा सिंक करने के लिए किया जाता है. यह ऐसा कोई भी डेटा हो सकता है जिस पर आपका ऐप्लिकेशन निर्भर करता है.
डेटा को ट्रांसमिट करने के लिए, आपको उसे Uint8Array
में सीरियलाइज़ करना होगा. ज़्यादा जानकारी के लिए, JavaScript स्टैंडर्ड लाइब्रेरी का रेफ़रंस देखें.
अगर आपको अपने डेटा को सीरियलाइज़ करने का तरीका नहीं पता है, तो नीचे दिए गए कोड सैंपल देखें.
इस गाइड में, Co-Doing API को लागू करने का तरीका बताया गया है.
अपनी प्रोफ़ाइल बनाना शुरू करें
Co-Doing API का इस्तेमाल करने के लिए, आपको पहले Meet ऐड-ऑन डिप्लॉय करना होगा. ये चरण पूरे करने के बाद, अपने नए ऐड-ऑन में जाकर, Co-Doing API का इस्तेमाल शुरू किया जा सकता है.
साथ मिलकर गतिविधियां करने की सुविधा देने वाले एपीआई का इस्तेमाल करने के लिए, सबसे पहले AddonSession
ऑब्जेक्ट पाएं. यह ऑब्जेक्ट, Google Meet में साथ मिलकर गतिविधियां करने की सुविधा के लिए एंट्री पॉइंट के तौर पर काम करता है:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
CLOUD_PROJECT_NUMBER की जगह अपने Google Cloud प्रोजेक्ट का प्रोजेक्ट नंबर डालें.
साथ मिलकर काम करने वाला क्लाइंट बनाना
शुरू करने के लिए, अपने AddonSession
से CoDoingClient
ऑब्जेक्ट बनाएं.
CoDoingClient
बनाने के लिए, createCoDoingClient()
तरीका कॉल करें और CoDoingDelegate
ऑब्जेक्ट दें.
CoDoingDelegate
की मदद से, Co-Doing API आपके ऐप्लिकेशन को अपडेट करता है. ऐसा तब होता है, जब ऐप्लिकेशन की स्थिति में कोई बदलाव होता है. उम्मीद है कि onCoDoingStateChanged()
वाला तरीका इस्तेमाल करने पर, आपका ऐप्लिकेशन नई स्थिति को तुरंत लागू कर देगा.
नीचे दिए गए कोड सैंपल में, Co-Doing API का इस्तेमाल करने का तरीका बताया गया है:
TypeScript
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()
तरीके को लागू करने का तरीका बताया गया है:
TypeScript
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 की जगह, ऐप्लिकेशन की मौजूदा स्थिति डालें.