המשתתפים בפגישה יכולים לעבוד יחד על פעילות בתוסף ל-Google Meet. כשמתחילים פעילות משותפת, כל המשתתפים בפגישה מקבלים הודעה שהפעילות מתבצעת.
ההתראה הזו מותאמת לזמינות ולסטטוס ההתקנה של התוסף:
אם התוסף מותקן אצל המשתתף: הוא יכול להצטרף לפעילות.
אם התוסף לא מותקן אצל המשתתף: הוא יופנה להתקין את התוסף.
אם התוסף לא זמין בפלטפורמה של המשתתף: המשתתף יקבל הודעה שהוא לא יכול להצטרף לפעילות באמצעות המכשיר הנוכחי שלו.
כשמשתמש מצטרף לפעילות, הוא טוען את מסגרות ה-iframe שלו עם התוכן של התוסף. אתם יכולים להגדיר אם משתתפים חדשים יפתחו את הפעילות המשותפת בשלב הראשי או בחלונית הצדדית.
התחלת הפעילות
כדי להתחיל פעילות, קוראים לשיטה startActivity(), שמשתמשת בממשק ActivityStartingState.
שלב 1 (אופציונלי): התוסף מגדיר את מצב ההתחלה של הפעילות
הפרמטר ActivityStartingState מכיל מידע על המצב ההתחלתי של התוסף שמשמש כשהמשתתף מאשר את ההזמנה להצטרף לפעילות.
התוסף יכול להגדיר או לעדכן את ActivityStartingState על ידי הפעלת השיטה setActivityStartingState() בכל שלב לפני או במהלך הפעילות. אפשר להשמיט שיחות אל setActivityStartingState() אם ActivityStartingState מוגדר באופן בלעדי בשיחה אל startActivity().
שלב 2: התוסף מתחיל את הפעילות
הפעילות מתחילה כשהתוסף קורא לשיטה startActivity() ב-MeetSidePanelClient.
ה-method startActivity() מקבלת אובייקט ActivityStartingState כפרמטר, כך שאפשר לקרוא ל-startActivity() במקום לקרוא ל-setActivityStartingState().
אחרי שהמשתמש מסיים לבחור את התוכן ומוכן להתחיל פעילות, קוראים ל-method startActivity() בתוסף באופן הבא:
sidePanelClient.startActivity({
mainStageUrl: "https://app.example.com/mainstage",
additionalData: JSON.stringify({
// State to send to participants.
})
});
כשמפעילים את השיטה startActivity(), מתבצעות הפעולות הבאות ב-Meet:
למשתתפים אחרים: ב-Meet מוצגת הודעה שהפעילות נמשכת.
למארח: אם צוינה כתובת URL של הבמה המרכזית בפרמטר
ActivityStartingState, מערכת Meet פותחת את הבמה המרכזית באמצעות כתובת ה-URL מהפרמטרActivityStartingState.
שלב 3: קבלת מצב ההתחלה של הפעילות
כשמשתמש מצטרף לפעילות, התוסף נטען באזור הראשי או בחלונית הצדדית, בהתאם לActivityStartingState.
המאפיין additionalData מאפשר לכם לשתף נתונים ראשוניים (שנקראים גם מצב) עם משתמשים שמצטרפים לפעילות. אחרי הפעלת MainStageClient או SidePanelClient, אפשר להפעיל את method getActivityStartingState() כדי לאחזר את המאפיין additionalData.
const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);
שלב 4 (אופציונלי): שיתוף מצב התוסף בפעילות
אפשר גם לשתף את הסטטוס בין המשתמשים בזמן שהפעילות מתבצעת. יש שתי דרכים לשתף את הסטטוס:
- אפשר לטפל בזה בעצמכם על ידי יצירת קצה עורפי משלכם לסנכרון.
- אפשר להשתמש ב-Co-Doing API, דרך נוחה ומהירה לשיתוף נתונים שרירותיים בין משתמשים.
דוגמה: תוסף אנימציה ב-GitHub
התוסף לדוגמה 'אנימציה' ב-GitHub כולל שיתוף פעולה בתוסף. שלב 1 מהמדריך הזה לא נכלל בדוגמה. במקום זאת, כשיוצר התוסף לוחץ על הלחצן 'הפעלת האנימציה' בחלונית הצדדית, מתבצעת קריאה לשיטה startActivity() (שלב 2) על ידי מילוי מצב ההתחלה בצבע שנבחר על ידי המשתמש. אחרי שהפעילות מתחילה, הבמה הראשית מאחזרת את מצב ההתחלה על ידי קריאה לשיטה getActivityStartingState() (שלב 3). שלב 4 לא מופיע, כי המצב (הצבע שנבחר) לא משותף בין המשתתפים במהלך הפעילות בתוסף לדוגמה הזה. עם זאת, משתמשים יכולים לשנות את הסטטוס שלהם על ידי בחירת צבע, שנשלח ממסגרת החלונית הצדדית למסגרת הבמה הראשית באמצעות העברת הודעות בין מסגרות.
מגבלות
- כתובות ה-URL שצוינו ב-
ActivityStartingStateצריכות להיות שייכות לאותו מקור כמו המקורות שצוינו בקובץ המניפסט של התוסף. מידע נוסף זמין במאמר בנושא אבטחת תוספים. - אורכי התווים של מאפייני
sidePanelUrlproperty,mainStageUrlproperty ושלadditionalDataproperty צריכים להיות בהתאם למגבלות הגודל שלהם, כפי שמפורט במסמכי העיון של ה-SDK.