API Co-Doing را پیاده سازی کنید

API مربوط به Co-Doing برای همگام‌سازی داده‌های دلخواه بین شرکت‌کنندگان جلسه استفاده می‌شود. این داده‌ها می‌توانند هر داده‌ای باشند که برنامه شما به آنها وابسته است.

برای انتقال داده‌ها، باید آنها را به صورت Uint8Array مرتب کنید. برای اطلاعات بیشتر، به مرجع کتابخانه استاندارد جاوا اسکریپت مراجعه کنید.

اگر مطمئن نیستید که چگونه داده‌های خود را سریالایز کنید، نمونه‌های کد زیر را بررسی کنید.

این راهنما نحوه پیاده‌سازی API همکاری در انجام کار (Co-Doing API) را توضیح می‌دهد.

شروع کنید

برای استفاده از API همکاری در انجام کار، ابتدا باید یک افزونه Meet را نصب کنید . پس از انجام این مراحل، می‌توانید از طریق افزونه جدید خود، استفاده از API همکاری در انجام کار را شروع کنید.

برای استفاده از API همکاری در انجام (Co-Doing API)، با دریافت یک شیء AddonSession شروع کنید، که به عنوان نقطه ورود برای فعالیت‌های مشترک Google Meet عمل می‌کند:

تایپ اسکریپت

const session = await window.meet.addon.createAddonSession({
    cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});

CLOUD_PROJECT_NUMBER با شماره پروژه Google Cloud خود جایگزین کنید.

یک مشتری همکاری ایجاد کنید

برای شروع، یک شیء CoDoingClient از AddonSession خود ایجاد کنید.

برای ایجاد یک CoDoingClient ، متد createCoDoingClient() را فراخوانی کرده و یک شیء CoDoingDelegate ارائه دهید.

CoDoingDelegate روشی است که API مربوط به Co-Doing هر زمان که وضعیت جدیدی در دسترس باشد، برنامه شما را به‌روزرسانی می‌کند. انتظار می‌رود وقتی متد onCoDoingStateChanged() فراخوانی می‌شود، برنامه شما بلافاصله وضعیت جدید را اعمال کند.

نمونه کد زیر نحوه استفاده از API همکاری در انجام (Co-Doing) را نشان می‌دهد:

تایپ اسکریپت

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 با وضعیت فعلی برنامه جایگزین کنید.