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

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

במדריך הזה מוסבר איך להטמיע את ה-API של צפייה משותפת.

שנתחיל?

כדי להשתמש ב-API לצפייה משותפת, קודם צריך ליצור תוסף Meet אחרי שתסיימו את השלבים האלה, תוכלו להתחיל להשתמש ב-Co-Watching 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 מאפשר לעדכן את האפליקציה באמצעות ממשק ה-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 בשם המדיה של הפעילות.

ניהול המצב הנוכחי

כשמשתמשים מבצעים פעולה באפליקציה, האפליקציה צפויה קוראת מיד ל-methods של ה-API.

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

אתם יכולים לשלוט במצב הצפייה המשותפת בשיטות הבאות:

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

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

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

  • notifyReady(): השיחה תסתיים כשתהליך אגירת הנתונים יסתיים והתוכן מוכן להפעלה.

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

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