הטמעת ממשק ה-API לצפייה משותפת

ה-Co-Watching API מנהל את חוויית הפגישה של כמה משתתפים שצופים או מקשיבים לתוכן באפליקציה.

במדריך הזה נסביר איך להטמיע את Co-Watching API.

שנתחיל?

כדי להשתמש ב-Co-Watching API, קודם צריך לפרוס תוסף ל-Meet. אחרי שמשלימים את השלבים האלה, אפשר להתחיל להשתמש ב-Co-Watching API מתוך התוסף החדש.

כדי להשתמש ב-Co-Watching 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, ממשק ה-API של צפייה משותפת מעדכן את האפליקציה בכל פעם שיש סטטוס חדש זמין. כשמתבצעת קריאה ל-method‏ onCoWatchingStateChanged(), האפליקציה אמורה ליישם את המצב החדש באופן מיידי.

דוגמת הקוד הבאה מראה איך משתמשים ב-Co-Watching 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(): קריאה בכל פעם שהמדיה שמופעלת משתנה. לדוגמה, המשתמש בחר סרטון חדש או שההפעלה האוטומטית השיקה את הסרטון הבא.