Android TV mit Google Cast

Mit der Veröffentlichung von Android 5.0 ist auch Android TV verfügbar, das Google Cast unterstützt. In diesem Dokument wird beschrieben, wie Sie Android TV einrichten und testen, wenn Sie Cast-Apps entwickeln. Deine bestehende Cast App läuft ohne zusätzlichen Aufwand auch auf Android TV. Wenn du zum ersten Mal eine Cast-App entwickelst, lies die Google Cast-Dokumentation und entwickle deine Cast-App für die Ausführung auf einem Chromecast-Gerät, bevor du sie mit Android TV entwickelst und testest.

Für die Entwicklung einrichten

  1. Richten Sie Ihr Android TV-Gerät ein:
    1. Verbinden Sie das Android TV-Gerät mit dem lokalen Netzwerk.
    2. Melde dich in deinem Google-Konto an.
  2. Wählen Sie unter Einstellungen in der Zeile Gerät die Option Info aus.
  3. Scrollen Sie nach unten und klicken Sie mehrmals auf Build, bis ein Dialogfeld mit der Meldung „Sie sind jetzt ein Entwickler“ angezeigt wird.
  4. Bei USB-Debugging:
    1. Installieren Sie das USB-Kabel, aber verbinden Sie das Master-Ende des USB-Kabels noch nicht mit Ihrem Computer.
    2. Wählen Sie in der Zeile Einstellungen die Option Entwickleroptionen, dann USB-Debugging und dann An aus.
  5. Kehren Sie zum Startbildschirm zurück. Das müssen Sie tun, um die soeben ausgewählten Einstellungen zu übernehmen. Die Einstellungen bleiben erhalten, sofern Sie das Gerät nicht auf die Werkseinstellungen zurücksetzen.
  6. Registriere dein Android TV-Gerät in der Google Cast SDK Developer Console, wie unter Geräteregistrierung beschrieben.

Debugging

So testen und debuggen Sie die Web Receiver App auf Ihrem Android TV-Gerät:

  1. Registrieren Sie Ihr Android TV-Gerät und Ihre App in der Google Cast SDK Developer Console. Weitere Informationen zum Registrieren von Geräten und Anwendungen finden Sie unter Registrierung.
  2. Starten Sie die Sender-App und streamen Sie sie auf das Android TV-Gerät.
  3. Stellen Sie über ADB eine Verbindung zu Ihrem Android TV-Gerät her, wie unter Android Debug Bridge verwenden beschrieben.
  4. Öffnen Sie auf Ihrem Entwicklungscomputer ein Chrome-Browserfenster und rufen Sie chrome://inspect auf.
  5. Klicken Sie auf den Link inspect, um den Web Receiver in den Debugger zu laden.
  6. Aktivieren Sie in der Chrome Remote Debugger-Konsole die Fehlerbehebungs-Protokollierung, indem Sie Folgendes eingeben:

    cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.DEBUG);
    

Weitere Informationen finden Sie unter Fehlerbehebung.

Richtlinien für die Kompatibilität mit Android TV

Die Kompatibilität Ihrer Google Cast App mit Android TV zu reduzieren, erfordert nur sehr wenig zusätzlichen Aufwand. Hier sind einige Empfehlungen und häufige Fallstricke, die du vermeiden solltest, damit deine App mit Android TV kompatibel ist:

  • Beachten Sie, dass der User-Agent-String sowohl "Android" als auch "CrKey" enthält. Einige Websites leiten möglicherweise zu einer rein mobilen Website weiter, weil sie das Label "Android" erkennen. Nicht davon ausgehen, dass „Android“ im User-Agent-String immer auf einen mobilen Nutzer verweist.
  • Der Media-Stack von Android kann transparente GZIP zum Abrufen von Daten verwenden. Prüfen Sie, ob Ihre Mediendaten auf Accept-Encoding: gzip reagieren können.
  • HTML5-Medienereignisse von Android TV können zu anderen Timings als Chromecast ausgelöst werden. Dadurch können Probleme auftauchen, die bei Chromecast verborgen waren.
  • Verwenden Sie zum Aktualisieren der Medien medienbezogene Ereignisse, die von <audio>/<video>-Elementen wie timeupdate, pause und waiting ausgelöst werden. Vermeiden Sie netzwerkbezogene Ereignisse wie progress, suspend und stalled, da diese normalerweise plattformabhängig sind.
  • Achten Sie beim Konfigurieren der HTTPS-Zertifikate Ihrer Webempfänger-Website darauf, Zwischenzertifikate von Zertifizierungsstellen hinzuzufügen. Sehen Sie sich die SSL-Testseite von Qualsys an: Wenn der Pfad für vertrauenswürdige Zertifizierungsstellen für Ihre Website ein CA-Zertifikat mit der Bezeichnung „zusätzlicher Download“ enthält, kann es auf Android-basierten Plattformen möglicherweise nicht geladen werden.
  • Während Chromecast die Web-Receiver-Seite auf einer 720p-Grafikebene anzeigt, können andere Cast-Plattformen, einschließlich Android TV, die Seite mit bis zu 1080p anzeigen. Stellen Sie sicher, dass Ihre Web Receiver-Seite bei verschiedenen Auflösungen reibungslos skaliert wird.

Android Debug Bridge verwenden

Die Android TV-Plattform wird auf vielen Arten von Geräten der Unterhaltungselektronik verwendet, z. B. auf Fernsehern, Set-Top-Boxen und Spielekonsolen. Beide können unterschiedlich konfiguriert werden. Wenn Sie Probleme haben, über die Benutzeroberfläche des Geräts auf die Android TV-Systemressourcen zuzugreifen, können Sie die Seriennummer Ihres Geräts mithilfe der Android Debug Bridge (ADB) für die Registrierung abrufen und Fehler in Ihrer App beheben. Weitere Informationen finden Sie unter Android Debug Bridge.

ADB über WLAN verwenden

So stellen Sie über eine WLAN-Verbindung über ADB eine Verbindung zu Ihrem Gerät her:

  1. Aktivieren Sie auf Ihrem Android TV-Gerät die Entwickleroptionen, wie unter Für die Entwicklung einrichten beschrieben.
  2. Achte darauf, dass dein Computer mit demselben Netzwerk wie dein Android TV-Gerät verbunden ist.
  3. Öffnen Sie ein Terminal und geben Sie Folgendes ein:

    adb connect Android TV device IP address:4321
    
  4. Öffnen Sie auf Ihrem Computer ein Terminal und geben Sie ADB-Befehle ein. Mit dem folgenden Befehl können Sie prüfen, ob die Verbindung hergestellt wurde und das Android TV-Gerät über das Netzwerk kommuniziert:

    adb logcat

ADB mit einem USB-Kabel verwenden

So stellen Sie per USB-Kabel eine Verbindung zu Ihrem Gerät über ADB her:

  1. Richten Sie Ihr Android TV-Gerät für die Entwicklung ein, wie unter Für die Entwicklung einrichten beschrieben.
  2. Verbinden Sie das Master-Ende des USB-Kabels mit Ihrem Computer.
  3. Wählen Sie im Dialogfeld USB-Debugging zulassen? die Option Immer von diesem Computer zulassen und OK aus.
  4. Öffnen Sie auf Ihrem Computer ein Terminal und geben Sie ADB-Befehle ein. Mit dem folgenden Befehl können Sie prüfen, ob die Verbindung hergestellt wurde und das Android TV-Gerät über das Netzwerk kommuniziert:

    adb logcat

ADB über TCP/IP verwenden

ADB funktioniert ohne USB-Kabel über TCP/IP, Sie müssen jedoch zuerst die IP-Adresse des Android TV-Geräts abrufen. Geräte von Entwicklerproblemen warten automatisch auf ADB-Portverbindungen und können verbunden werden, ohne den Port zu initialisieren. Android TV-Standardgeräte überwachen ADB-Verbindungen nicht automatisch. Für diese Geräte müssen Sie zuerst über ein USB-Kabel eine Verbindung zu ADB herstellen und den Port initialisieren.

  1. Richten Sie Ihr Android TV-Gerät für die Entwicklung ein, wie unter Für die Entwicklung einrichten beschrieben.
  2. Wählen Sie auf Android TV in der Zeile Gerät die Option Netzwerk > WLAN und dann das verbundene Netzwerk aus.
  3. Wählen Sie Statusinformationen aus und notieren Sie sich die IP-Adresse.
  4. Wenn es sich bei Ihrem Gerät um ein standardmäßiges Android TV-Gerät für den Einzelhandel handelt, gehen Sie so vor:

    1. Führen Sie die Schritte unter ADB mit einem USB-Kabel verwenden aus.
    2. Achte darauf, dass dein Computer mit demselben Netzwerk wie das Android TV-Gerät verbunden ist.
    3. Initialisieren Sie auf dem Computer in einem Terminal den Port für TCP/IP. Geben Sie dazu Folgendes ein:

      adb tcpip 5555
    4. Entferne das USB-Kabel und gib Folgendes am Anschluss ein:

      adb connect Android TV device IP address:5555
      
  5. Wenn es sich bei Ihrem Gerät um ein Android TV-Gerät handelt, das vom Entwickler ausgegeben wurde, gehen Sie so vor:

    1. Achte darauf, dass dein Computer mit demselben Netzwerk wie dein Android TV-Gerät verbunden ist.
    2. Öffnen Sie ein Terminal und geben Sie Folgendes ein:

      adb connect Android TV device IP address:4321
      
  6. Wählen Sie auf Android TV im Dialogfeld USB-Debugging zulassen? die Option Von diesem Computer immer zulassen und dann OK aus. Mit dem folgenden Befehl können Sie prüfen, ob die Verbindung hergestellt wurde und das Android TV-Gerät über das Netzwerk kommuniziert:

    adb logcat