המשתתפים בפגישה יכולים לעבוד יחד על פעילות בתוסף ל-Google Meet. כשמתחילים פעילות משותפת, כל המשתתפים בפגישה מקבלים הודעה שהפעילות מתבצעת.
ההתראה הזו מותאמת לזמינות ולסטטוס ההתקנה של התוסף:
אם התוסף מותקן אצל המשתתף: הוא יכול להצטרף לפעילות.
אם התוסף לא מותקן אצל המשתתף: הוא יופנה להתקין את התוסף.
אם התוסף לא זמין בפלטפורמה של המשתתף: המשתתף יקבל הודעה שהוא לא יכול להצטרף לפעילות באמצעות המכשיר הנוכחי שלו.
כשמשתמש מצטרף לפעילות, הוא טוען את מסגרות ה-iframe שלו עם התוכן של התוסף. אתם יכולים לקבוע אם משתתפים חדשים יפתחו את הפעילות המשותפת בשלב הראשי או בחלונית הצדדית.
התחלת הפעילות
פעילות מתחילה כשקוראים לשיטה
startActivity()
שמשתמשת בממשק
ActivityStartingState
.
שלב 1 (אופציונלי): התוסף מגדיר את מצב ההתחלה של הפעילות
הפרמטר ActivityStartingState
מכיל מידע על המצב ההתחלתי של התוסף שמשמש כשהמשתתף מאשר את ההזמנה להצטרף לפעילות.
תוסף יכול להגדיר או לעדכן את ActivityStartingState
על ידי קריאה לשיטה setActivityStartingState()
בכל שלב לפני הפעילות או במהלך הפעילות. אפשר להשמיט שיחות אל setActivityStartingState()
אם ActivityStartingState
מוגדר באופן בלעדי בשיחה אל startActivity()
.
שלב 2: התוסף מתחיל את הפעילות
הפעילות מתחילה כשהתוסף קורא לשיטה startActivity()
ב-MeetSidePanelClient
.
ה-method startActivity()
מקבלת אובייקט ActivityStartingState
כפרמטר, ולכן אפשר לקרוא ל-method startActivity()
במקום לקרוא ל-method setActivityStartingState()
.
אחרי שהמשתמש בוחר את התוכן ומוכן להתחיל פעילות, צריך לקרוא לפונקציה 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
, אפשר להשתמש בשיטה 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
צריכות להיות שייכות לאותו מקור כמו המקורות שצוינו במניפסט של התוסף. מידע נוסף זמין במאמר בנושא אבטחה של תוספים. - אורכי התווים של מאפייני
sidePanelUrl
property,mainStageUrl
property ושלadditionalData
property צריכים להיות בהתאם למגבלות הגודל שלהם, כפי שמפורט במסמכי העיון של ה-SDK.