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