הטמעת ממשק ה-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.

ממשק ה-API של CoWatchingDelegate מעדכן את האפליקציה בכל פעם שיש מצב חדש זמין. כשקוראים ל-method‏ 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 שצוינו.

צריך להפעיל את ה-methods האלה רק בתגובה לאירועים משמעותיים. לדוגמה, לא צריך להתקשר אליהם בכל פעם שהאפליקציה מעבירה סרטון שמופעל. ה-CoWatchingDelegate שאתם יוצרים מטפל בעדכון של מיקומי ההפעלה בנסיבות האלה.

אפשר לשלוט במצב הצפייה המשותפת באמצעות השיטות הבאות:

  • notifyBuffering(): קריאה כשמתחיל חיץ (באפרינג) באפליקציה של משתמש בגלל באפרינג מהחלפה קודמת של מדיה, חיפוש מדיה או עומס ברשת.

  • notifyPauseState(): התקשרות כשמשתמש משהה או מבטל את ההשהיה של הפעלת המדיה.

  • notifyPlayoutRate(): הפונקציה מופעלת כשמשתמש מעדכן את מהירות ההפעלה לערך חדש (לדוגמה, 1.25x).

  • notifyReady(): התקשרות כשהחציצה מסתיימת והמדיה מוכנה להפעלה.

  • notifySeekToTimestamp(): הפונקציה מופעלת כשמשתמש משנה באופן מפורש את מיקום ההפעלה.

  • notifySwitchToMedia(): הפעלת שיחה בכל פעם שהמדיה שמופעלת באופן פעיל משתנה. לדוגמה, המשתמש בוחר סרטון חדש או שההפעלה האוטומטית מתחילה את הסרטון הבא.