Co-डूइंग एपीआई लागू करना

Google Meet Live Share Co-ing API का इस्तेमाल, मीटिंग के बीच आर्बिट्रेरी डेटा को सिंक करने के लिए किया जाता है सदस्य. यह आपके ऐप्लिकेशन पर निर्भर कोई भी डेटा हो सकता है.

डेटा को ट्रांसमिट करने के लिए, आपको डेटा को Uint8Array में क्रम से लगाना होगा. इसके लिए और जानकारी के लिए, JavaScript मानक लाइब्रेरी देखें रेफ़रंस.

अगर आपको अपने डेटा को क्रम से लगाने का तरीका नहीं पता, तो नीचे दिए गए कोड सैंपल देखें.

इस गाइड में, को-डूइंग एपीआई को लागू करने का तरीका बताया गया है.

CoDoingClient बनाएं

शुरू करने के लिए, CoDoingClient AddonSession से जो आपने शुरू करें में बनाया है.

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 को ऐप्लिकेशन की मौजूदा स्थिति से बदलें.