นำ Co-Watching 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 ให้เรียกใช้เมธอด 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(): โทรเมื่อสื่อที่เล่นอยู่มีการเปลี่ยนแปลง เช่น ผู้ใช้เลือกวิดีโอใหม่ หรือการเล่นอัตโนมัติเริ่มวิดีโอถัดไป