Benutzerdefinierter Webempfänger

Jump start – Der Code zum Erstellen eines einfachen benutzerdefinierten Webempfängers ist einfach. Springe direkt zu Web Receiver-App registrieren und registriere eine einfache Web Receiver-App.

Das Web Receiver SDK verwendet einen integrierten Mediaplayer, um eine nahtlose und einfache Wiedergabe zu ermöglichen. Es bietet Google Assistant ohne weitere Unterstützung sowie Google Cast-spezifische Funktionen, die automatisch von allen Absendern und Geräten mit Touchscreen unterstützt werden. Neue Funktionen werden weiterhin ohne zusätzliche Absenderänderungen unterstützt.

Der Custom Web Receiver ist eine benutzerdefinierte HTML5-App, die gehostet werden muss, damit deine Inhalte auf für Google Cast optimierten Geräten angezeigt werden können. Je nach den Anforderungen Ihres Unternehmens müssen Sie möglicherweise einen benutzerdefinierten Webempfänger erstellen. Hilfe bei der Entscheidung, welchen Empfängertyp Sie verwenden sollten, finden Sie in der Anleitung zum Auswählen eines Webempfängers.

Google Web Receiver SDK

Ihre Web Receiver-App greift mit der folgenden Referenz auf die Web Receiver API zu:

<script src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>

Best Practice für URL-Protokolle: Beachten Sie, dass die obige URL kein Protokoll vom Typ "http:" oder "https:" angibt. Wenn Sie diese Protokolle beim Abrufen der Ressource cast_receiver_framework.js weglassen, wird diese Ressource mit demselben Protokoll abgerufen wie der Server, der die Web Receiver-Anwendung hostet. Das bedeutet, dass ein Wechsel zwischen HTTP für die Entwicklung und HTTPS für die Produktion transparent ist und keine Codeänderung erfordert. Veröffentlichte Web Receiver-Apps müssen auf TLS-fähigen Servern gehostet werden.

SDK-Vorschau

Eine Vorabversion des Cast Web Receiver SDK ist auch zum Testen von Nicht-Produktionsanwendungen verfügbar. Weitere Informationen zur SDK-Vorschau-URL finden Sie unter Vorschau-URL für das Google Cast Web Receiver SDK.

Anwendungslebenszyklus

Der Lebenszyklus der Web Receiver App beginnt an dem Punkt, an dem der Web Receiver auf das Cast-Gerät geladen wird, bis zu dem Zeitpunkt, an dem die Anwendung gelöscht wird und das Cast-Gerät wieder in den Standardzustand zurückkehrt.

Während der Lebenszyklus einer Web Receiver App werden Nachrichten zwischen dem Web Receiver und den verbundenen Anwendungen des Absenders ausgetauscht. Eine Absenderanwendung sendet eine erste Nachricht an ein Google Cast-Gerät und fordert die Erstellung einer Sitzung mit einer bestimmten App-ID an. Dadurch wird der Lebenszyklus des Web Receivers gestartet, da das Google Cast-Gerät versucht, die Web Receiver App zu laden. Wenn keine Netzwerkprobleme vorliegen, wird die Web Receiver App mit der aufgelösten URL, die der App-ID zugeordnet ist, aus dem Netzwerk heruntergeladen. Nach dem Laden führt die Web Receiver-App die Einrichtungsvorgänge durch und gibt an, dass Nachrichten von allen verbundenen Absenderanwendungen verarbeitet werden können.

Eine Web Receiver-App kann unter den folgenden Bedingungen gelöscht werden (den aktuellen Lebenszyklus beenden und die Anwendung schließen):

  • Die Web Receiver App erhält eine explizite Nachricht vom letzten verbundenen Absender, um die Anwendungssitzung zu beenden.
  • Die Web Receiver App war für einen bestimmten Zeitraum ohne verbundene Absender inaktiv und beschließt, die Anwendungssitzung zu beenden.
  • Eine andere Streamingsitzung wurde gestartet.
  • Während des normalen Lebenszyklus ist im Webempfänger ein schwerwiegender Fehler aufgetreten.

Alle gängigen Fälle werden vom Web Receiver SDK gemäß unseren UX-Richtlinien behandelt.

Hauptkurse

Das Web Receiver SDK-Framework hat zwei Hauptklassen:

  • cast.framework.CastReceiverContext – verwaltet das Framework und lädt alle erforderlichen Bibliotheken. Mit diesem Objekt können Sie:

    • Konfigurationsoptionen für Anwendungen festlegen
    • Umgang mit Systemereignissen (z. B. Absender oder Verbindung getrennt)
    • Benutzerdefinierte Channels erstellen
    • Cast-Kommunikation starten
  • cast.framework.PlayerManager – Verwaltet die Medienwiedergabe. Es verarbeitet den zugrunde liegenden Player und das Medienelement entsprechend der Anfrage des Absenders. Mit diesem Objekt können Sie:

    • Wiedergabevorgänge verarbeiten
    • Wiedergabebezogene Anfragen des Absenders verarbeiten
    • Wiedergabebezogene Ereignisse verarbeiten

Web Receiver-App registrieren

Bevor Sie eine Web Receiver-App entwickeln, müssen Sie sie in der Google Cast SDK Developer Console registrieren. Weitere Informationen finden Sie unter Registrierung. Alle Web Receiver-Apps erfordern, dass Absenderanwendungen eine App-ID mit den Befehlsnachrichten bereitstellen, die sie über die Sender API an den Web Receiver senden. Wenn Sie Ihre Web Receiver-Anwendung registrieren, erhalten Sie die App-ID, die Sie in die API-Aufrufe des Absenders einfügen möchten.

Einfache Web Receiver-App erstellen

Im Folgenden finden Sie die Hauptstruktur einer einfachen Web Receiver-Anwendung ohne Anpassung:

  1. Ein HTML-Element cast-media-player zur Darstellung des Mediaplayers.
  2. Ein Skript-HTML-Element zum Laden des Web Receiver-Frameworks.
  3. Rufe start() auf, um die Web Receiver App ohne Optionen zu starten.

Nachfolgend finden Sie den Mindestcode für eine Web Receiver-App, die das Cast Application Framework ohne Anpassungen verwendet. Sie können das Skript genau so kopieren und in Ihre App einfügen, wie Sie möchten, um Ihre Web Receiver App zu erstellen.

<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>

Ein Nutzer kann die Absender-App öffnen, eine Verbindung zu seinem Übertragungsgerät herstellen, zu Medien gehen und auf „Wiedergabe“ klicken. Dadurch empfängt der Web-Receiver die Medien auf dem Fernseher, damit sich der Nutzer die Inhalte ansehen kann.

Vergleichen Sie diesen grundlegenden Web-Receiver mit einer benutzerdefinierten Receiver-App.

Medien und Player

Das Cast-Framework bietet einen integrierten Mediaplayer, der durch das HTML-Element cast-media-player dargestellt wird. Dieser Mediaplayer unterstützt die Wiedergabe für Streamingprotokolle wie MPEG-DASH, HLS und Smooth Streaming.

Eine Liste der unterstützten Media-Codecs und -Container finden Sie unter Unterstützte Medien. Mithilfe von Cast-Messaging können Entwickler eine Liste der vom Absender initiierten Vorgänge wie Laden, Wiedergeben, Pausieren und Suchen unterstützen, bei denen das Cast SDK die Interaktionen mit den Medien verarbeitet. Eine Liste der unterstützten Vorgänge finden Sie in der Sender API-Referenz für Ihre App-Plattform: RemoteMediaClient in Android Sender, GCKMediaControlChannel in iOS Sender und Media in Web Sender.

Cross-Origin Resource Sharing

Google Cast unterstützt Cross-Origin Resource Sharing (CORS) vollständig. Streamingprotokolle greifen im Gegensatz zu den meisten dateibasierten Protokollen mit XMLHttpRequest asynchron auf Inhalte zu. In einer CORS-Welt werden diese Anfragen durch den CORS-Header von dem Server geschützt, von dem die Ressource stammt. Das bedeutet, dass der Server deines Contents entscheidet, wo er enthalten sein darf. Die meisten modernen Browser unterstützen CORS vollständig. iOS- und Android-Geräte greifen auf eine niedrigere Ebene auf den Inhalt zu und sehen sich diese Header nicht an. Dies ist oft das erste Problem, das auftritt, wenn ein Entwickler Streaming-Inhalte verwenden möchte. Weitere Informationen finden Sie unter Cross-Origin Resource Sharing.