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

ממשק ה-API לצפייה משותפת של Google Meet בשידור חי מנהל את חוויית הפגישה כאשר מספר משתתפים צופים בתוכן באפליקציה או מאזינים לו.

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

צור CoWatchingClient

כדי להתחיל, צריך ליצור createCoWatchingClient מתוך AddonSession שיצרתם ב-תחילת העבודה.

כדי ליצור CoWatchingCient, קוראים ל-method AddonSession.createCoWatchingClient ומציינים את CoWatchingDelegate.

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

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

  • CoWatchingClient.notifySwitchToMedia: הפונקציה תחייג בכל פעם שמדיה פעילה משתנה. לדוגמה, המשתמש בוחר סרטון חדש, או שההפעלה האוטומטית מפעילה את הסרטון הבא.
  • CoWatchingClient.notifyPauseState: שיחה כשמשתמש משהה את המדיה שמופעלת או מבטל את ההשהיה שלה.
  • CoWatchingClient.notifySeekToTimestamp: קריאה כשמשתמש משנה באופן מפורש את מיקום המשחק.
  • CoWatchingClient.notifyPlayoutRate: מתבצעת קריאה כשמשתמש מעדכן את מהירות ההפעלה לערך חדש (לדוגמה, 1.25x).
  • CoWatchingClient.notifyBuffering: אפשר להתקשר כשאפליקציה של משתמש מתחילה בתהליך אגירת נתונים בעקבות מעבר למצב קודם במדיה, חיפוש מדיה או עומס ברשת.
  • CoWatchingClient.notifyReady: אפשר להתקשר בסיום תהליך אגירת הנתונים, וכשהמדיה מוכנה להפעלה.