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