تنفيذ واجهة برمجة التطبيقات Co-Doing API

يتم استخدام Co-Doing API لمزامنة البيانات العشوائية بين الاجتماعات. المشاركين. ويمكن أن تكون أي بيانات يعتمد عليها تطبيقك.

يجب تسلسل البيانات إلى Uint8Array لكي يتم نقلها. لمزيد من المعلومات، راجع مكتبة JavaScript القياسية المرجع.

إذا لم تكن متأكدًا من كيفية إنشاء تسلسل لبياناتك، يمكنك مراجعة عيّنات التعليمات البرمجية. المتابعة.

يوضّح هذا الدليل كيفية تنفيذ Co-Doing API.

البدء

لاستخدام Co-Doing API، عليك أولاً إنشاء إضافة Meet مرة واحدة بعد إكمال تلك الخطوات، يمكنك البدء في استخدام Co-Doing API من داخل إضافتك الجديدة.

لاستخدام Co-Doing API، يمكنك البدء من خلال الحصول على AddonSession، والتي تعمل كنقطة دخول لأنشطة Google Meet المشترَكة:

TypeScript

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

استبدِل CLOUD_PROJECT_NUMBER برقم مشروع مشروعك على Google Cloud.

إنشاء عميل مشترك في الأداء

للبدء، أنشئ CoDoingClient من AddonSession.

لإنشاء 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 بالحالة الحالية للتطبيق.