ภาพรวม

Cast SDK ช่วยให้ผู้ใช้เลือกการสตรีมเนื้อหาภาพและเสียงโดยใช้ผู้ส่ง และเล่นเนื้อหานั้นในอุปกรณ์ (หรือแคสต์ไปยัง) อุปกรณ์อื่นที่เรียกว่าตัวรับ ขณะควบคุมการเล่นโดยใช้ผู้ส่งได้

คำว่าผู้ส่งหมายถึงแอปที่มีบทบาทเป็นผู้ควบคุมเซสชันการแคสต์ ผู้ส่งจะเริ่มต้นเซสชันการแคสต์และจัดการการโต้ตอบของผู้ใช้กับเนื้อหา

ผู้ส่งมีหลายประเภท ได้แก่ แอปบนอุปกรณ์เคลื่อนที่และเว็บแอปของ Google Chrome ตลอดจนแพลตฟอร์มการควบคุมเสมือนจริงในอุปกรณ์ Google Home ที่เปิดใช้ระบบสัมผัส ตัวควบคุมสื่อในเว็บเบราว์เซอร์ Chrome จะทำหน้าที่เป็นผู้ส่ง เช่นเดียวกับ Google Assistant เอง

คำว่าตัวรับหมายถึงแอปที่ทำงานในอุปกรณ์ที่พร้อมใช้งาน Cast ซึ่งมีหน้าที่ตอบกลับคำสั่งของผู้ส่งและถ่ายทอดเนื้อหาการสตรีมจากบริการสตรีมมิงออนไลน์ไปยังอุปกรณ์ที่พร้อมใช้งาน Cast ตัวอย่างอุปกรณ์รีซีฟเวอร์ที่พร้อมใช้งาน Cast ได้แก่ Chromecast, สมาร์ททีวี, จออัจฉริยะ และลำโพงอัจฉริยะ

นอกจากนี้ Cast SDK ยังรองรับผู้ส่งหลายคนที่เชื่อมต่อกับเซสชันการแคสต์ด้วย ตัวอย่างเช่น ผู้ส่งคนหนึ่งสามารถเริ่มเซสชันจากบนรีซีฟเวอร์ และผู้ส่งอีกคนสามารถเข้าร่วมเซสชันเดียวกันเพื่อควบคุมการเล่น โหลดเนื้อหาใหม่ หรือจัดคิวเนื้อหาเพิ่มเติมไว้รอภายหลังได้

คอมโพเนนต์และสถาปัตยกรรมของแอป

Google Cast รองรับการพัฒนาแอปผู้ส่งสำหรับ Android, iOS และแพลตฟอร์มเว็บที่รองรับ Cast เช่น Google Chrome

แอปรีซีฟเวอร์จะทำงานในอุปกรณ์ที่พร้อมใช้งาน Cast ตัวอย่างเช่น

  • Chromecast ที่เชื่อมต่อกับทีวีหรือระบบเสียงความละเอียดสูง
  • ทีวีที่พร้อมใช้งาน Cast
  • จออัจฉริยะที่พร้อมใช้งาน Cast
  • อุปกรณ์ Android ที่พร้อมใช้งาน Cast เช่น Android TV

สถาปัตยกรรม Cast ระดับสูง

ผู้ส่งจะควบคุมการเล่นสื่อบนตัวรับสัญญาณโดยใช้ข้อความการเล่นสื่อที่ SDK กำหนดไว้ หากกรณีการใช้งานของแอปต้องส่งข้อมูลที่ไม่ได้กำหนดไว้อย่างเป็นทางการในข้อความการเล่นสื่อมาตรฐาน คุณอาจใช้ช่อง customData ที่ได้จากข้อความประเภทต่างๆ เพื่อส่งข้อมูลเสริมได้

การพัฒนาแอป Cast พื้นฐานมี 2 สถานการณ์ดังนี้

  1. โซลูชันการแคสต์จากต้นทางถึงปลายทาง ในสถานการณ์นี้ นักพัฒนาซอฟต์แวร์ต้อง สร้างทั้งแอปผู้ส่งและแอปรีซีฟเวอร์ 2 แอป คือ ตัวรับสัญญาณ Android TV และเว็บรีซีฟเวอร์ (ดูข้อมูลเพิ่มเติมด้านล่าง)
  2. แอปผู้ส่งที่พร้อมใช้งาน Cast ซึ่งแคสต์เนื้อหา (หน้าจอหรือสตรีมมัลติมีเดีย) ไปยังเครื่องรับการแคสต์เริ่มต้นของ Google ได้ ซึ่งเรียกว่าตัวรับสื่อเริ่มต้น ในสถานการณ์นี้ นักพัฒนาซอฟต์แวร์จะต้องสร้างแอปเพียง 1 แอป ซึ่งก็คือ Sender รีซีฟเวอร์สื่อเริ่มต้นมีประโยชน์สำหรับการเรียนรู้และสถานการณ์การเล่นที่จำกัดมาก แต่ผู้รับจะไม่ต้องการตรรกะทางธุรกิจ ข้อมูลเข้าสู่ระบบ การจัดการสิทธิ์ หรือข้อมูลวิเคราะห์ที่กำหนดเอง

Google Cast SDK

Google Cast SDK ประกอบด้วยไลบรารี Cast API มากมาย สำหรับ API แล้ว มีเอกสารประกอบ 2 ประเภท ได้แก่

  • คู่มือ API ที่ช่วยสอนวิธีใช้ API ด้วยโค้ดตัวอย่างซึ่งแสดงฟีเจอร์แคสต์ และ
  • บทแนะนำ Codelab ที่สอนคุณเกี่ยวกับขั้นตอนการพัฒนาแอป Cast บางประเภท

API ของ Cast แบ่งออกตามแพลตฟอร์มและประเภทแอปแคสต์ ตารางที่ 1 มีลิงก์ไปยังคำแนะนำสำหรับ Cast API ต่างๆ

ตารางที่ 1: คู่มือ Cast SDK
แพลตฟอร์ม ผู้ส่ง ผู้รับ
Android แอป Android Sender ภาพรวมของตัวรับสัญญาณ Android TV
เว็บ แอป Web Sender ภาพรวมของเว็บรีซีฟเวอร์
iOS แอปผู้ส่งใน iOS ไม่มี

ประเภทแอปของผู้ส่ง

แอปของผู้ส่งสามารถทำงานได้บน 3 แพลตฟอร์ม ได้แก่

  • เว็บ
  • Android
  • iOS

แม้ว่าตัวเลือกประเภทผู้ส่งส่วนใหญ่จะขึ้นอยู่กับแพลตฟอร์มผู้ส่งที่คุณต้องการจะรองรับ แต่คุณก็ควรทราบความสามารถและข้อจำกัดของผู้ส่งแต่ละประเภท (ดูตารางที่ 3)

ตารางที่ 3: การเปรียบเทียบผู้ส่ง
ความสามารถ ผู้ส่ง Android iOS Sender เครื่องมือส่งเว็บ
ช่วงพักโฆษณาและโฆษณาที่แสดงร่วมภายในสตรีมสื่อ
แทร็กข้อความที่จัดรูปแบบ
จัดกลุ่ม จัดรูปแบบ และเปิดใช้งานแทร็กสื่อ
การเล่นอัตโนมัติและการจัดคิว (แก้ไข เรียงลำดับใหม่ อัปเดต)
แชแนลที่กำหนดเอง
การทำงานที่กำหนดเอง
UI แคสต์เต็มรูปแบบ รวมถึงตัวควบคุมและมินิคอนโทรลเลอร์
ตั้งใจจะเข้าร่วม

ประเภทแอปรีซีฟเวอร์

แอปตัวรับจะจัดการการสื่อสารระหว่างแอปผู้ส่งและอุปกรณ์แคสต์ รีซีฟเวอร์มี 2 ประเภทหลักๆ ได้แก่ เว็บรีซีฟเวอร์ และตัวรับสัญญาณ Android TV คุณต้องจัดหาเว็บรีซีฟเวอร์เป็นอย่างต่ำ และขอแนะนำให้จัดหา Android TV Receiver เพื่อมอบประสบการณ์การใช้งานสูงสุดของผู้ใช้ด้วยแอปพลิเคชันของคุณ

Web Receiver มีอยู่ 3 ประเภท แต่ละประเภทก็มีคุณสมบัติและความสามารถที่แตกต่างกันดังนี้

  • ตัวรับสัญญาณที่กำหนดเอง ซึ่งช่วยให้สามารถใช้ตรรกะที่กำหนดเอง การสร้างแบรนด์ และการแก้ไขการควบคุม
  • ตัวรับสื่อที่มีสไตล์ ซึ่งช่วยให้สร้างแบรนด์ที่กำหนดเองได้
  • ตัวรับสัญญาณเริ่มต้น ซึ่งเป็นประเภทพื้นฐานที่สุด ตัวเลือกนี้ไม่อนุญาตให้ปรับแต่งใดๆ ทั้งสิ้น และไม่เหมาะสำหรับแอปเวอร์ชันที่ใช้งานจริง

นอกเหนือจากความสามารถของตัวรับสัญญาณแบบกำหนดเองแล้ว ตัวรับสัญญาณ Android TV ยังมี Cast Connect ซึ่งเป็นชุดความสามารถที่มอบประสบการณ์การใช้งานแบบดั้งเดิมแก่ผู้ใช้ โดยสามารถรวม Cast เข้ากับ Android TV ได้อย่างราบรื่น

ตารางที่ 2 ไฮไลต์ความสามารถของ รีซีฟเวอร์ประเภทต่างๆ

ตารางที่ 2: การเปรียบเทียบตัวรับสัญญาณ
ตัวรับสัญญาณ Android TV ตัวรับสัญญาณแบบกำหนดเอง ตัวรับสัญญาณสื่อแบบมีสไตล์ (SMR) ตัวรับสื่อเริ่มต้น
แพลตฟอร์ม
ระบบ Android (Java/Kotlin)
บนเว็บ (HTML5)
ข้อกำหนด
ต้องลงทะเบียน
ความสามารถ
การเล่นสื่อ HLS และ DASH
รองรับการควบคุมด้วยการสัมผัส
จัดการคำสั่งเสียงจากอุปกรณ์ที่พร้อมใช้งาน Assistant
สไตล์ภาพและการสร้างแบรนด์ที่ปรับแต่งได้
จัดการข้อความที่กำหนดเอง
Cast Connect

ตัวเลือกระหว่างตัวเลือกเว็บรีซีฟเวอร์ทั้ง 3 ตัวเลือกจะขึ้นอยู่กับประเภทสื่อที่แอปต้องรองรับ ระดับการปรับแต่ง UI ที่จำเป็น และข้อกำหนดทางตรรกะที่กำหนดเอง

พิจารณาว่าจะสร้างเว็บรีซีฟเวอร์ประเภทใด

หากแอปของคุณสามารถผสานรวมกับ Cast ได้ ให้ใช้ข้อความแจ้งต่อไปนี้เพื่อระบุประเภทของเว็บรีซีฟเวอร์ที่คุณควรสร้าง

สร้างรีซีฟเวอร์ที่กำหนดเองในกรณีต่อไปนี้
แอปต้องใช้ความสามารถพิเศษต่อไปนี้อย่างน้อย 1 อย่าง

  • การจัดรูปแบบไม่ได้มาจากตัวรับสัญญาณสื่อที่มีสไตล์
  • การแก้ไขการควบคุมด้วยการสัมผัส
  • การให้สิทธิ์หรือการตรวจสอบสิทธิ์
  • ข้อมูลวิเคราะห์ของผู้รับ
  • ใบอนุญาต DRM ที่นำส่งแยกต่างหากจากไฟล์ Manifest
  • โฆษณาก่อน ระหว่าง หรือหลังโฆษณา
  • ฟังก์ชันรีซีฟเวอร์ที่กำหนดเองอื่นๆ หรือตรรกะ JavaScript ที่กำหนดเอง
หรือ
  • แอปนี้ต้องมีการจัดรูปแบบที่กำหนดเอง
และ
  • ความสามารถในการจัดรูปแบบของตัวรับสื่อที่มีสไตล์ไม่เพียงพอ
สร้างตัวรับสื่อที่มีการจัดรูปแบบในกรณีต่อไปนี้
  • แอปนี้ต้องมีการจัดรูปแบบที่กำหนดเอง
และ
  • ความสามารถในการจัดรูปแบบของตัวรับสื่อที่มีสไตล์เพียงพอแล้ว
และ
  • แอปไม่จำเป็นต้องใช้ความสามารถพิเศษที่ระบุไว้ข้างต้น
ใช้ตัวรับสื่อเริ่มต้นในกรณีต่อไปนี้
  • รองรับรูปแบบสื่อ
และ
  • แอปไม่จำเป็นต้องใช้การจัดรูปแบบที่กำหนดเอง
และ
  • แอปไม่จำเป็นต้องใช้ความสามารถพิเศษที่ระบุไว้ข้างต้น