Web Receiver SDK ใช้โปรแกรมเล่นสื่อในตัวเพื่อมอบประสบการณ์การเล่นที่สะดวกและราบรื่น ฟีเจอร์นี้รองรับ Google Assistant ทันทีที่แกะกล่อง รวมทั้งฟีเจอร์เฉพาะสําหรับ Cast ที่รองรับผู้ส่งและอุปกรณ์ที่ใช้ระบบสัมผัสทั้งหมดโดยอัตโนมัติ เมื่อมีการเปิดตัวฟีเจอร์ใหม่ ระบบจะยังรองรับฟีเจอร์เหล่านั้นต่อไปโดยไม่มีการเปลี่ยนแปลงผู้ส่งเพิ่มเติม
ตัวรับสัญญาณเว็บที่กําหนดเองเป็นแอป HTML5 ที่สร้างขึ้นเอง ซึ่งต้องโฮสต์เพื่อแสดงเนื้อหาบนอุปกรณ์ที่พร้อมใช้งาน Cast คุณอาจต้องสร้างตัวรับสัญญาณเว็บที่กําหนดเอง ทั้งนี้ขึ้นอยู่กับความต้องการของธุรกิจของคุณ สําหรับความช่วยเหลือในการตัดสินใจว่าจะใช้ตัวรับสัญญาณประเภทใด โปรดดูคู่มือการเลือกตัวรับสัญญาณเว็บ
SDK ตัวรับเว็บของ Google
แอป Web Receiver จะเข้าถึง Web Receiver API โดยใช้ข้อมูลอ้างอิงต่อไปนี้
<script src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
แนวทางปฏิบัติแนะนําสําหรับโปรโตคอล URL: โปรดทราบว่า URL ด้านบนไม่ได้ระบุโปรโตคอล "http:" หรือ "https:" การละเว้นโปรโตคอลเหล่านี้เมื่อจัดหาทรัพยากร cast_receiver_framework.js
จะช่วยให้ดึงทรัพยากรนี้ได้โดยใช้โปรโตคอลเดียวกับเซิร์ฟเวอร์ที่โฮสต์แอปตัวรับเว็บ ซึ่งหมายความว่าการสลับไปมาระหว่าง HTTP สําหรับการพัฒนาและ HTTPS สําหรับเวอร์ชันที่ใช้งานจริงจะโปร่งใสและไม่จําเป็นต้องเปลี่ยนแปลงโค้ด (แอปผู้รับเว็บที่เผยแพร่ต้องโฮสต์
ในเซิร์ฟเวอร์ที่ใช้ TLS ได้)
ตัวอย่าง SDK
Cast Web Receiver SDK รุ่นทดลองพร้อมใช้งานสําหรับการทดสอบแอปพลิเคชันที่ไม่ได้ใช้งานจริงด้วย ดูข้อมูลเพิ่มเติมเกี่ยวกับ URL ตัวอย่าง SDK ได้ที่URL ตัวอย่าง SDK ของ Google Cast Web Receiver
วงจรการใช้งานแอปพลิเคชัน
วงจรการทํางานของตัวรับสัญญาณแอปจะเริ่มจากจุดที่ตัวรับสัญญาณเว็บโหลดขึ้นไปยังอุปกรณ์แคสต์ และดําเนินการต่อไปจนถึงจุดที่แอปพลิเคชันถูกแยกออกจากกัน และอุปกรณ์แคสต์จะกลับสู่สถานะเริ่มต้น
วงจรการทํางานของตัวรับสัญญาณเว็บจะกระจายข้อความระหว่างตัวรับสัญญาณของแอปพลิเคชันและแอปพลิเคชันผู้ส่งที่เชื่อมต่ออยู่ แอปพลิเคชันผู้ส่งจะส่งข้อความเริ่มต้นไปยังอุปกรณ์ Google Cast ที่ขอสร้างเซสชันโดยใช้รหัสแอปที่เจาะจง การดําเนินการนี้จะเริ่มต้นวงจรของเครื่องรับเว็บ เนื่องจากอุปกรณ์ Google Cast จะพยายามโหลดแอปตัวรับเว็บ สมมติว่าไม่มีปัญหาด้านเครือข่าย แอปตัวรับเว็บจะดาวน์โหลดจากเครือข่ายโดยใช้ URL ที่แก้ไขซึ่งเชื่อมโยงกับรหัสแอป เมื่อโหลดแล้ว แอป Web Receiver จะดําเนินการตั้งค่าและระบุแอปนั้นพร้อมที่จะประมวลผลข้อความจากแอปพลิเคชันผู้ส่งที่เชื่อมต่อ
แอปตัวรับข้อมูลเว็บอาจฉีกกฎ (สิ้นสุดอายุการใช้งานปัจจุบันและปิดแอปพลิเคชัน) ตามเงื่อนไขต่อไปนี้
- แอปผู้รับเว็บได้รับข้อความที่ชัดเจนจากผู้ส่งที่เชื่อมต่อคนสุดท้ายเพื่อสิ้นสุดเซสชันของแอปพลิเคชัน
- แอปผู้รับเว็บไม่มีการใช้งานเป็นระยะเวลาตามที่กําหนดไว้โดยไม่มีผู้ส่งที่เชื่อมต่อและตัดสินใจสิ้นสุดเซสชันแอปพลิเคชัน
- เซสชันการแคสต์เริ่มต้นแล้ว
- ตัวรับสัญญาณเว็บพบข้อผิดพลาดร้ายแรงในช่วงชีวิตปกติ
Web Receiver SDK จะจัดการกรณีทั่วไปทั้งหมดตามหลักเกณฑ์ด้าน UX ของเรา
ชั้นเรียนหลัก
เฟรมเวิร์ก SDK ตัวรับสัญญาณเว็บมี 2 คลาสหลัก ดังนี้
cast.framework.CastReceiverContext
- จัดการเฟรมเวิร์กโดยรวมและโหลดไลบรารีที่จําเป็น คุณจะทําสิ่งต่อไปนี้ได้จากออบเจ็กต์นี้- ตั้งค่าตัวเลือกการกําหนดค่าแอปพลิเคชัน
- จัดการเหตุการณ์ของระบบ (เช่น ผู้ส่งเชื่อมต่อหรือยกเลิกการเชื่อมต่อ)
- สร้างแชแนลที่กําหนดเอง
- เริ่มแคสต์การแคสต์
cast.framework.PlayerManager
- จัดการการเล่นสื่อ โดยจะจัดการโปรแกรมเล่นและองค์ประกอบสื่อตาม คําขอจากผู้ส่ง คุณจะทําสิ่งต่อไปนี้ได้จากออบเจ็กต์นี้- จัดการการดําเนินการเล่น
- จัดการคําขอที่เกี่ยวกับการเล่นจากผู้ส่ง
- จัดการเหตุการณ์เกี่ยวกับการเล่น
ลงทะเบียนแอปตัวรับเว็บ
ก่อนที่จะพัฒนาแอป Web Receiver คุณจะต้องลงทะเบียนแอป Web Receiver กับ Google Cast SDK Developer Console ดูข้อมูลเพิ่มเติมได้ในการจดทะเบียน แอป Web Receiver ทั้งหมดกําหนดให้แอปพลิเคชันของผู้ส่งต้องระบุรหัสแอปพร้อมด้วยข้อความคําสั่งที่จะส่งไปยัง Web Receiver ผ่าน API ของผู้ส่ง เมื่อลงทะเบียนแอปพลิเคชัน Web Receiver คุณจะได้รับรหัสแอปที่จะรวมไว้ในการเรียก API ของผู้ส่ง
สร้างแอปตัวรับสัญญาณพื้นฐาน
ต่อไปนี้คือโครงสร้างหลักของแอปผู้รับเว็บพื้นฐานที่ไม่มีการปรับแต่ง
- องค์ประกอบ HTML
cast-media-player
ที่ใช้แสดงโปรแกรมเล่นสื่อ - องค์ประกอบ HTML สคริปต์สําหรับโหลดเฟรมเวิร์ก Web Receiver
- โทร
start()
เพื่อเริ่มแอปตัวรับเว็บโดยไม่มีตัวเลือก
นี่คือโค้ดขั้นต่ําสําหรับแอป Web Receiver ที่ใช้เฟรมการทํางานของแอปพลิเคชัน Cast โดยไม่มีการปรับแต่ง คุณคัดลอกและวางสคริปต์ตามที่เป็นอยู่ในแอปเพื่อสร้างแอปตัวรับเว็บได้
<html>
<head>
<script type="text/javascript"
src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js">
</script>
</head>
<body>
<cast-media-player></cast-media-player>
<script>
cast.framework.CastReceiverContext.getInstance().start();
</script>
</body>
</html>
ณ จุดนี้ ผู้ใช้สามารถเปิดแอปผู้ส่ง เชื่อมต่อกับอุปกรณ์แคสต์ จากนั้นไปที่สื่อแล้วกด "เล่น" ซึ่งจะบอกให้ตัวรับเว็บสตรีมสื่อไปยังทีวีให้ผู้ใช้ดู
เปรียบเทียบตัวรับสัญญาณพื้นฐานนี้กับแอปตัวรับสัญญาณที่กําหนดเอง
สื่อและโปรแกรมเล่น
เฟรมเวิร์กแคสต์มีโปรแกรมเล่นสื่อในตัว ซึ่งนําเสนอโดยองค์ประกอบ HTML cast-media-player
โปรแกรมเล่นสื่อนี้รองรับการเล่นสําหรับโปรโตคอลสตรีมมิง เช่น MPEG-DASH, HLS และ Smooth Streaming
ชุดตัวแปลงรหัสและคอนเทนเนอร์สื่อที่รองรับจะแสดงอยู่ในสื่อที่รองรับ นักพัฒนาซอฟต์แวร์สามารถรองรับรายการการดําเนินการที่ผู้ส่งเป็นผู้เริ่ม เช่น การโหลด การเล่น การหยุดชั่วคราว และการตรวจหาข้อมูล โดยการแคสต์ SDK จะจัดการการโต้ตอบกับสื่อผ่านการรับส่งข้อความ Cast โปรดดูรายชื่อการดําเนินการที่รองรับในข้อมูลอ้างอิงของ API ผู้ส่งสําหรับแพลตฟอร์มของแอปคุณ:
RemoteMediaClient
ใน Android Sender,
GCKMediaControlChannel
ใน iOS Sender
และ
Media
ใน Web Sender
กลไกการแชร์ทรัพยากรข้ามโดเมน
Google Cast รองรับการแชร์ทรัพยากรข้ามโดเมน (CORS) อย่างเต็มรูปแบบ โปรโตคอลสตรีมมิงต่างจากโปรโตคอลที่ใช้ไฟล์ส่วนใหญ่ และเข้าถึงเนื้อหาได้แบบไม่พร้อมกันโดยใช้ XMLHttpRequest
ในโลกของ CORS คําขอเหล่านี้จะป้องกันการเข้าถึงที่ไม่เหมาะสมด้วยส่วนหัว CORS จากเซิร์ฟเวอร์ที่มีทรัพยากรนั้น ซึ่งหมายความว่าเซิร์ฟเวอร์เนื้อหาของคุณมีคําอธิบายว่าจะให้รวมอยู่ในนั้นที่ตําแหน่งใด เบราว์เซอร์รุ่นใหม่ส่วนใหญ่รองรับ CORS อย่างสมบูรณ์ อุปกรณ์ iOS และ Android
เข้าถึงเนื้อหาในระดับที่ต่ําลงและไม่ได้ดูที่ส่วนหัวเหล่านี้ ซึ่งมักจะเป็นปัญหาแรกที่เกิดขึ้นเมื่อนักพัฒนาซอฟต์แวร์ต้องการใช้เนื้อหาสตรีมมิง โปรดดูรายละเอียดที่การแชร์ทรัพยากรข้ามโดเมน