Android 5.0 發布後,Android TV 可支援 Google Cast。本文說明開發 Cast 應用程式時,需要在 Android TV 上設定及測試哪些操作。現有的 Cast 應用程式可在 Android TV 上執行,您不必額外費心。如果您是第一次開發 Cast 應用程式,請先參閱 Google Cast 說明文件並開發您的 Cast 應用程式,以便在 Chromecast 裝置上執行,接著再透過 Android TV 進行測試。
設定開發
- 設定 Android TV 裝置:
- 將 Android TV 裝置連上區域網路。
- 登入 Google 帳戶。
- 從「設定」的「裝置」列中,選取「關於」。
- 向下捲動並點選「Build」數次,直到畫面上顯示「開發人員設定已啟用」訊息為止。
- 如果 USB 偵錯:
- 安裝 USB 傳輸線,但暫時還不要將 USB 傳輸線的主端連接至電腦。
- 在「Preferences」列中,依序選取「Developer options」和「USB debugging」,然後選取「On」。
- 返回主畫面。您必須這麼做,才能套用剛選取的設定。除非恢復原廠設定,否則這些設定不會發揮作用。
- 按照「裝置註冊」一文所述,在 Google Cast SDK 開發人員控制台中註冊 Android TV 裝置。
偵錯
如要在 Android TV 裝置上測試 Web Receiver 應用程式並進行偵錯,請按照下列步驟操作:
- 在 Google Cast SDK 開發人員控制台中註冊 Android TV 裝置和您的應用程式。如要進一步瞭解如何註冊裝置和應用程式,請參閱註冊一文。
- 啟動寄件者應用程式,然後投放到 Android TV 裝置。
- 按照「使用 Android Debug Bridge」一節的說明,透過 ADB 連線至 Android TV 裝置。
- 在開發機器上開啟 Chrome 瀏覽器視窗,然後前往 chrome://inspect。
- 按一下「檢查」inspect連結,將 Web Receiver 導入偵錯工具。
請在 Chrome 遠端偵錯工具控制台中輸入以下內容,啟用偵錯記錄功能:
cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.DEBUG);
詳情請參閱「偵錯」一節。
Android TV 相容性規範
想讓 Google Cast 應用程式與 Android TV 相容,只需要執行一些額外工作。為確保應用程式與 Android TV 相容,請參考以下建議和常見錯誤:
- 請注意,使用者代理程式字串同時包含「Android」和「CrKey」;有些網站如果偵測到「Android」標籤,可能會重新導向至行動裝置專用網站。請勿假設使用者代理程式字串中的「Android」一律代表行動裝置使用者。
- Android 的媒體堆疊可能會使用透明 GZIP 擷取資料。確保您的媒體資料可以回應
Accept-Encoding: gzip
。 - Android TV HTML5 媒體事件的觸發時間可能與 Chromecast 不同,這可能顯示 Chromecast 隱藏的問題。
- 更新媒體時,請使用
<audio>/<video>
元素觸發的媒體相關事件,例如timeupdate
、pause
和waiting
。請避免使用progress
、suspend
和stalled
等網路相關事件,因為這類事件通常因平台而異。 - 設定 Web Receiver 網站的 HTTPS 憑證時,請務必加入中繼 CA 憑證。請參閱 Qualsys SSL 測試頁面來進行驗證:如果您網站的受信任憑證路徑包含標示為「額外下載」的 CA 憑證,則該憑證可能無法在搭載 Android 系統的平台上載入。
- 雖然 Chromecast 在 720p 圖形平面上顯示網路接收器頁面,但其他 Cast 平台 (包括 Android TV) 可能會顯示最高 1080p 的網頁。確保「網路接收端」頁面能以不同解析度正常縮放。
使用 Android Debug Bridge
Android TV 平台支援多種消費性電子裝置:電視、機上盒、遊戲主機等。兩者的設定方式可能不盡相同。如果您無法透過裝置使用者介面存取 Android TV 系統資源,可以使用 Android Debug Bridge (ADB) 取得用於註冊的裝置序號,以及對應用程式進行偵錯。詳情請參閱 Android Debug Bridge。
透過 Wi-Fi 使用 ADB
如何透過 ADB 與 Wi-Fi 連線連線至裝置:
- 在 Android TV 裝置上,按照「設定開發」的說明啟用開發人員選項。
- 確認電腦與 Android TV 裝置連上相同的網路。
開啟終端機並輸入下列內容:
adb connect Android TV device IP address:4321
在電腦上開啟終端機,然後輸入 ADB 指令。您可以使用下列指令確認連線已建立,以及 Android TV 裝置是否透過網路通訊:
adb logcat
透過 USB 傳輸線使用 ADB
如何使用 USB 傳輸線連線透過 ADB 連接裝置:
- 按照「為開發設定設定」所述,設定用於開發的 Android TV 裝置。
- 將 USB 傳輸線的主端連接到電腦。
- 在「Allow USB debugging?」對話方塊中,選取「Always」允許這部電腦,然後選取「OK」。
在電腦上開啟終端機,然後輸入 ADB 指令。您可以使用下列指令確認連線已建立,以及 Android TV 裝置是否透過網路通訊:
adb logcat
透過 TCP/IP 使用 ADB
ADB 無需 USB 傳輸線即可透過 TCP/IP 運作,但您必須先取得 Android TV 裝置的 IP 位址。開發人員問題裝置會自動監聽 ADB 通訊埠連線,而且不需要將通訊埠初始化即可連線。標準零售 Android TV 裝置不會自動監聽 ADB 連線;針對這些裝置,您必須先使用 USB 傳輸線連線至 ADB,然後初始化通訊埠。
- 按照「為開發設定設定」所述,設定用於開發的 Android TV 裝置。
- 在 Android TV 的「裝置」列中,依序選取「網路」 >「Wi-Fi」,然後選取已連線的網路。
- 選取「狀態資訊」,並記下「IP 位址」。
如果你的裝置是標準零售 Android TV 裝置,請按照下列步驟操作:
- 請按照「透過 USB 傳輸線使用 ADB」底下的步驟操作。
- 確認您的電腦與 Android TV 裝置連上相同的網路。
在電腦上的終端機中輸入以下內容,初始化 TCP/IP 的通訊埠:
adb tcpip 5555
移除 USB 傳輸線,並在終端機中輸入以下內容:
adb connect Android TV device IP address:5555
如果您的裝置是 Android TV 開發人員問題,請按照下列步驟操作:
- 確認電腦與 Android TV 裝置連上相同的網路。
開啟終端機並輸入下列內容:
adb connect Android TV device IP address:4321
在 Android TV 的「Allow USB debugging?」對話方塊中,選取「Always allow from this computer」,然後選取「OK」。您可以使用下列指令,確認連線已建立,以及 Android TV 裝置是否透過網路進行通訊:
adb logcat