นำ Co-Watching API ไปใช้

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

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

เริ่มต้นใช้งาน

หากต้องการใช้ Co-Watching API คุณต้องติดตั้งใช้งานส่วนเสริมของ Meet ก่อน เมื่อทำตามขั้นตอนดังกล่าวแล้ว คุณจะเริ่มต้นใช้งาน Co-Watching API ได้ภายในส่วนเสริมใหม่

หากต้องการใช้ Co-Watching API ให้เริ่มต้นด้วยการสร้างออบเจ็กต์ AddonSession ซึ่งใช้เป็นจุดแรกเข้าสําหรับกิจกรรมร่วมของ Google Meet โดยทําดังนี้

TypeScript

const session = await window.meet.addon.createAddonSession({
    cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});

แทนที่ CLOUD_PROJECT_NUMBER ด้วยหมายเลขโปรเจ็กต์ Google Cloud

สร้างไคลเอ็นต์การดูร่วมกัน

หากต้องการเริ่มต้นใช้งาน ให้สร้างออบเจ็กต์ CoWatchingClient จาก AddonSession

หากต้องการสร้าง CoWatchingCient ให้เรียกใช้เมธอด 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 ด้วยชื่อสื่อของกิจกรรม

จัดการสถานะปัจจุบัน

เมื่อผู้ใช้ดำเนินการในแอปพลิเคชันของคุณ แอปพลิเคชันของคุณควรเรียกใช้เมธอด API ที่ระบุไว้ทันที

คุณควรเรียกใช้วิธีการเหล่านี้เพื่อตอบสนองต่อเหตุการณ์สำคัญเท่านั้น เช่น คุณไม่จำเป็นต้องเรียกใช้ทุกครั้งที่แอปเลื่อนวิดีโอที่เล่นอยู่ไปข้างหน้า CoWatchingDelegate ที่คุณสร้างแฮนเดิลจะมีตำแหน่งการเล่นที่อัปเดตในสถานการณ์เหล่านี้

คุณควบคุมสถานะการดูร่วมกันได้โดยใช้วิธีต่อไปนี้

  • notifyBuffering(): เรียกใช้เมื่อแอปของผู้ใช้เริ่มบัฟเฟอร์เนื่องจากมีการบัฟเฟอร์จากสวิตช์สื่อก่อนหน้า การค้นหาสื่อ หรือความหนาแน่นในเครือข่าย

  • notifyPauseState(): เรียกใช้เมื่อผู้ใช้หยุดเล่นสื่อชั่วคราวหรือยกเลิกการหยุดชั่วคราว

  • notifyPlayoutRate(): เรียกใช้เมื่อผู้ใช้อัปเดตความเร็วในการเล่นเป็นค่าใหม่ (เช่น 1.25x)

  • notifyReady(): เรียกใช้เมื่อบัฟเฟอร์เสร็จสมบูรณ์และสื่อก็พร้อมให้เล่น

  • notifySeekToTimestamp(): เรียกใช้เมื่อผู้ใช้เปลี่ยนตําแหน่งการเล่นอย่างชัดเจน

  • notifySwitchToMedia(): เรียกใช้เมื่อสื่อที่เล่นอยู่มีการเปลี่ยนแปลง ตัวอย่างเช่น ผู้ใช้เลือกวิดีโอใหม่ หรือเล่นอัตโนมัติจะเริ่มวิดีโอถัดไป