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

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

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

अगर आपको अपने डेटा को क्रम से लगाने का तरीका नहीं पता, तो कोड सैंपल की समीक्षा करें फ़ॉलो किया जा रहा है.

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

अपनी प्रोफ़ाइल बनाना शुरू करें

को-डूइंग एपीआई का इस्तेमाल करने के लिए, आपको पहले 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, को-डूइंग एपीआई का इस्तेमाल करता है ऐप्लिकेशन की नई स्थिति उपलब्ध होने पर, उसे अपडेट कर दिया जाता है. ऐसी उम्मीद है कि, जब यह 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 की जगह, ऐप्लिकेशन की मौजूदा स्थिति डालें.