Co-Watching API จะจัดการประสบการณ์การใช้งานการประชุมของผู้เข้าร่วมหลายคนที่ดูหรือฟังเนื้อหาในแอปของคุณ
คู่มือนี้อธิบายวิธีใช้ Co-Watching 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 เป็นวิธีที่ Co-Watching API อัปเดตแอปของคุณทุกครั้งที่มีสถานะใหม่ ระบบคาดหวังว่าเมื่อมีการเรียกใช้เมธอด
onCoWatchingStateChanged()
แอปของคุณจะใช้สถานะใหม่ทันที
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ Co-Watching 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.25 เท่า)notifyReady(): เรียกใช้เมื่อการบัฟเฟอร์เสร็จสมบูรณ์และสื่อพร้อมเล่นแล้วnotifySeekToTimestamp(): เรียกใช้เมื่อผู้ใช้เปลี่ยนตำแหน่งการเล่นอย่างชัดเจนnotifySwitchToMedia(): เรียกใช้ทุกครั้งที่สื่อที่เล่นอยู่มีการเปลี่ยนแปลง เช่น ผู้ใช้เลือกวิดีโอใหม่ หรือการเล่นอัตโนมัติเริ่มวิดีโอถัดไป