นำ Co-Watching API ไปใช้

API การแชร์สดของ Google Meet จะจัดการประสบการณ์การประชุมของผู้เข้าร่วมหลายคนที่ดูหรือฟังเนื้อหาในแอป

คู่มือนี้อธิบายวิธีใช้ API การดูร่วมกัน

สร้าง CoWatchingClient

หากต้องการเริ่มต้นใช้งาน ให้สร้าง createCoWatchingClient จาก AddonSession ที่คุณสร้างไว้ในส่วนเริ่มต้นใช้งาน

หากต้องการสร้าง CoWatchingCient ให้เรียกใช้เมธอด 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: เรียกใช้เมื่อบัฟเฟอร์เสร็จสมบูรณ์และสื่อก็พร้อมให้เล่น