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