Google Meet Live Share Co-ing API का इस्तेमाल, मीटिंग में हिस्सा लेने वाले लोगों के बीच आर्बिट्रेरी डेटा को सिंक करने के लिए किया जाता है. यह आपके ऐप्लिकेशन पर निर्भर कोई भी डेटा हो सकता है.
डेटा को ट्रांसमिट करने के लिए, आपको डेटा को Uint8Array
में क्रम से लगाना होगा. ज़्यादा जानकारी के लिए, JavaScript की स्टैंडर्ड लाइब्रेरी का रेफ़रंस देखें.
अगर आपको अपने डेटा को क्रम से लगाने का तरीका नहीं पता, तो नीचे दिए गए कोड सैंपल देखें.
इस गाइड में, को-डूइंग एपीआई को लागू करने का तरीका बताया गया है.
CoDoingClient
बनाएं
शुरू करने के लिए, शुरू करें में बनाए गए AddonSession
से एक CoDoingClient
बनाएं.
CoDoingClient
बनाने के लिए, AddonSession.createCoDoingClient
तरीके को कॉल करें और CoDoingDelegate
उपलब्ध कराएं.
कोई नया स्टेटस उपलब्ध होने पर, CoDoingDelegate
के ज़रिए को-डूइंग एपीआई
आपके ऐप्लिकेशन को अपडेट करता है. CoDoingDelegate.onCoDoingStateChanged
वाले तरीके को कॉल करने पर, आपका ऐप्लिकेशन तुरंत नई स्थिति लागू कर देता है.
नीचे दिया गया कोड सैंपल, को-डूइंग एपीआई को इस्तेमाल करने का तरीका बताता है:
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 newState to your ongoing CoDoing activity
},
});
ACTIVITY_TITLE को अपनी गतिविधि के टाइटल से बदलें.
मौजूदा स्थिति को मैनेज करें
जब उपयोगकर्ता आपके ऐप्लिकेशन में कोई कार्रवाई करते हैं, तो यह उम्मीद की जाती है कि आपका ऐप्लिकेशन तुरंत CoDoingClient.broadcastStateUpdate
को कॉल करेगा.
नीचे दिए गए कोड सैंपल में, CoDoingClient.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 को ऐप्लिकेशन की मौजूदा स्थिति से बदलें.