ה-Google Meet Live Share Co-Doing API משמש לסנכרון נתונים שרירותיים בין המשתתפים בפגישות. אלה יכולים להיות כל נתונים שהאפליקציה שלכם תלויה בהם.
עליך לסדר את הנתונים עד ל-Uint8Array
כדי שהם יישלחו. למידע נוסף, עיינו בחומר העזר בנושא ספרייה רגילה של JavaScript.
אם אתם לא בטוחים איך לערוך את הנתונים בסדרה, אפשר לעיין בדוגמאות הקוד שבהמשך.
במדריך הזה מוסבר איך להטמיע את ה-Co-Doing API.
צור CoDoingClient
כדי להתחיל, צריך ליצור CoDoingClient
מתוך AddonSession
שיצרתם ב-תחילת העבודה.
כדי ליצור CoDoingClient
, קוראים ל-method AddonSession.createCoDoingClient
ומציינים את CoDoingDelegate
.
CoDoingDelegate
מאפשר ל-Co-Doing API לעדכן את האפליקציה בכל פעם שיש לה מצב חדש זמין. סביר להניח שכאשר מפעילים קריאה ל-method 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 במצב הנוכחי של האפליקציה.