支援 Google Cast 的 Android TV

Android 5.0 發布後,Android TV 可支援 Google Cast。本文說明開發 Cast 應用程式時,需要在 Android TV 上設定及測試哪些操作。現有的 Cast 應用程式可在 Android TV 上執行,您不必額外費心。如果您是第一次開發 Cast 應用程式,請先參閱 Google Cast 說明文件並開發您的 Cast 應用程式,以便在 Chromecast 裝置上執行,接著再透過 Android TV 進行測試。

設定開發

  1. 設定 Android TV 裝置:
    1. 將 Android TV 裝置連上區域網路。
    2. 登入 Google 帳戶。
  2. 從「設定」的「裝置」列中,選取「關於」
  3. 向下捲動並點選「Build」數次,直到畫面上顯示「開發人員設定已啟用」訊息為止。
  4. 如果 USB 偵錯:
    1. 安裝 USB 傳輸線,但暫時還不要將 USB 傳輸線的主端連接至電腦。
    2. 在「Preferences」列中,依序選取「Developer options」和「USB debugging」,然後選取「On」
  5. 返回主畫面。您必須這麼做,才能套用剛選取的設定。除非恢復原廠設定,否則這些設定不會發揮作用。
  6. 按照「裝置註冊」一文所述,在 Google Cast SDK 開發人員控制台中註冊 Android TV 裝置。

偵錯

如要在 Android TV 裝置上測試 Web Receiver 應用程式並進行偵錯,請按照下列步驟操作:

  1. Google Cast SDK 開發人員控制台中註冊 Android TV 裝置和您的應用程式。如要進一步瞭解如何註冊裝置和應用程式,請參閱註冊一文。
  2. 啟動寄件者應用程式,然後投放到 Android TV 裝置。
  3. 按照「使用 Android Debug Bridge」一節的說明,透過 ADB 連線至 Android TV 裝置。
  4. 在開發機器上開啟 Chrome 瀏覽器視窗,然後前往 chrome://inspect
  5. 按一下「檢查」inspect連結,將 Web Receiver 導入偵錯工具。
  6. 請在 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> 元素觸發的媒體相關事件,例如 timeupdatepausewaiting。請避免使用 progresssuspendstalled 等網路相關事件,因為這類事件通常因平台而異。
  • 設定 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 連線連線至裝置:

  1. 在 Android TV 裝置上,按照「設定開發」的說明啟用開發人員選項。
  2. 確認電腦與 Android TV 裝置連上相同的網路。
  3. 開啟終端機並輸入下列內容:

    adb connect Android TV device IP address:4321
    
  4. 在電腦上開啟終端機,然後輸入 ADB 指令。您可以使用下列指令確認連線已建立,以及 Android TV 裝置是否透過網路通訊:

    adb logcat

透過 USB 傳輸線使用 ADB

如何使用 USB 傳輸線連線透過 ADB 連接裝置:

  1. 按照「為開發設定設定」所述,設定用於開發的 Android TV 裝置。
  2. 將 USB 傳輸線的主端連接到電腦。
  3. 在「Allow USB debugging?」對話方塊中,選取「Always」允許這部電腦,然後選取「OK」
  4. 在電腦上開啟終端機,然後輸入 ADB 指令。您可以使用下列指令確認連線已建立,以及 Android TV 裝置是否透過網路通訊:

    adb logcat

透過 TCP/IP 使用 ADB

ADB 無需 USB 傳輸線即可透過 TCP/IP 運作,但您必須先取得 Android TV 裝置的 IP 位址。開發人員問題裝置會自動監聽 ADB 通訊埠連線,而且不需要將通訊埠初始化即可連線。標準零售 Android TV 裝置不會自動監聽 ADB 連線;針對這些裝置,您必須先使用 USB 傳輸線連線至 ADB,然後初始化通訊埠。

  1. 按照「為開發設定設定」所述,設定用於開發的 Android TV 裝置。
  2. 在 Android TV 的「裝置」列中,依序選取「網路」 >「Wi-Fi」,然後選取已連線的網路。
  3. 選取「狀態資訊」,並記下「IP 位址」
  4. 如果你的裝置是標準零售 Android TV 裝置,請按照下列步驟操作:

    1. 請按照「透過 USB 傳輸線使用 ADB」底下的步驟操作。
    2. 確認您的電腦與 Android TV 裝置連上相同的網路。
    3. 在電腦上的終端機中輸入以下內容,初始化 TCP/IP 的通訊埠:

      adb tcpip 5555
    4. 移除 USB 傳輸線,並在終端機中輸入以下內容:

      adb connect Android TV device IP address:5555
      
  5. 如果您的裝置是 Android TV 開發人員問題,請按照下列步驟操作:

    1. 確認電腦與 Android TV 裝置連上相同的網路。
    2. 開啟終端機並輸入下列內容:

      adb connect Android TV device IP address:4321
      
  6. 在 Android TV 的「Allow USB debugging?」對話方塊中,選取「Always allow from this computer」,然後選取「OK」。您可以使用下列指令,確認連線已建立,以及 Android TV 裝置是否透過網路進行通訊:

    adb logcat