ה-API של צפייה משותפת מנהל את חוויית הפגישה של כמה משתתפים שצופים בתוכן באפליקציה שלכם או מאזינים לו.
במדריך הזה מוסבר איך מטמיעים את Co-Watching API.
שנתחיל?
כדי להשתמש ב-Co-Watching API, קודם צריך לפרוס תוסף ל-Meet. אחרי שתסיימו את השלבים האלה, תוכלו להתחיל להשתמש ב-API של הצפייה המשותפת מתוך התוסף החדש.
כדי להשתמש בממשק ה-API של הצפייה המשותפת, צריך קודם לקבל אובייקט AddonSession, שהוא נקודת הכניסה לפעילויות ב-Google Meet:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
מחליפים את CLOUD_PROJECT_NUMBER במספר הפרויקט ב-Google Cloud.
יצירת לקוח לצפייה משותפת
כדי להתחיל, יוצרים אובייקט CoWatchingClient מ-AddonSession.
כדי ליצור CoWatchingCient, צריך לבצע קריאה ל-method createCoWatchingClient() ולספק אובייקט CoWatchingDelegate.
CoWatchingDelegate הוא האופן שבו Co-Watching API מעדכן את האפליקציה בכל פעם שיש מצב חדש זמין. כשקוראים לשיטה onCoWatchingStateChanged(), האפליקציה אמורה להחיל את המצב החדש באופן מיידי.
בדוגמת הקוד הבאה אפשר לראות איך משתמשים ב-API של צפייה משותפת:
TypeScript
const coWatchingClient = await addonSession.createCoWatchingClient({
activityTitle: "ACTIVITY_TITLE",
onCoWatchingStateQuery() {
// This function should return the current state of your CoWatching activity
return getMyApplicationCoWatchingState();
},
onCoWatchingStateChanged(coWatchingState: CoWatchingState) {
// This function should apply newState to your ongoing CoWatching activity
},
});
מחליפים את ACTIVITY_TITLE בכותרת המדיה של הפעילות.
ניהול המצב הנוכחי
כשמשתמשים מבצעים פעולה באפליקציה שלכם, האפליקציה אמורה לקרוא באופן מיידי לשיטות ה-API שצוינו.
צריך להפעיל את השיטות האלה רק בתגובה לאירועים משמעותיים. לדוגמה, לא צריך להתקשר אליהם בכל פעם שהאפליקציה מעבירה סרטון שמופעל. ה-CoWatchingDelegate שאתם יוצרים מטפל בעדכון של מיקומי ההפעלה בנסיבות האלה.
אפשר לשלוט במצב הצפייה המשותפת באמצעות השיטות הבאות:
notifyBuffering(): התקשרות כשמתחילה שמירת נתונים במאגר זמני באפליקציה של משתמש בגלל שמירת נתונים במאגר זמני ממעבר מדיה קודם, חיפוש מדיה או עומס ברשת.
notifyPauseState(): התקשרות כשמשתמש משהה או מבטל את ההשהיה של הפעלת המדיה.
notifyPlayoutRate(): התקשרות כשמשתמש מעדכן את מהירות ההפעלה לערך חדש (לדוגמה, 1.25x).
notifyReady(): התקשרות כשהחציצה מסתיימת והמדיה מוכנה להפעלה.
notifySeekToTimestamp(): הפונקציה מופעלת כשמשתמש משנה באופן מפורש את מיקום ההפעלה.
notifySwitchToMedia(): הפונקציה מופעלת בכל פעם שהמדיה שמופעלת כרגע משתנה. לדוגמה, המשתמש בוחר סרטון חדש או שההפעלה האוטומטית מתחילה את הסרטון הבא.