ה-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
, צריך לבצע קריאה ל-method 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 במצב הנוכחי של האפליקציה.