يتم استخدام Co-Doing API لمزامنة البيانات العشوائية بين الاجتماعات. المشاركين. ويمكن أن تكون هذه البيانات أي بيانات يعتمد عليها تطبيقك.
ويجب إنشاء تسلسل للبيانات في Uint8Array
ليتم إرسالها. بالنسبة
لمزيد من المعلومات، راجع مكتبة JavaScript القياسية
المرجع.
إذا لم تكن متأكّدًا من كيفية إنشاء تسلسل للبيانات، يمكنك مراجعة عيّنات التعليمات البرمجية. المتابعة.
يوضّح هذا الدليل كيفية تنفيذ Co-Doing API.
البدء
لاستخدام Co-Doing API، عليك أولاً إنشاء إضافة Meet مرة واحدة بعد إكمال تلك الخطوات، يمكنك البدء في استخدام Co-Doing API من داخل إضافتك الجديدة.
لاستخدام Co-Doing API، يمكنك البدء من خلال الحصول على
AddonSession
،
تعمل كنقطة دخول للأنشطة المشتركة:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
إنشاء عميل CoDoing
للبدء، أنشئ
CoDoingClient
من AddonSession
.
لإنشاء CoDoingClient
، يمكنك طلب
AddonSession.createCoDoingClient
طريقة وتوفير
CoDoingDelegate
CoDoingDelegate
هي واجهة Co-Doing API
يحدّث تطبيقك عند توفّر حالة جديدة له. من المتوقع
عندما
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 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 بالحالة الحالية للتطبيق.