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

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