Récepteur Web personnalisé

Démarrage rapide : le code permettant de créer un récepteur Web personnalisé de base est simple. Passez à l'étape suivante pour enregistrer votre application Récepteur Web, puis créer une application de base de récepteur Web.

Le SDK Récepteur Web utilise un lecteur multimédia intégré pour offrir une expérience de lecture fluide et facile. Elle offre une compatibilité directe avec l'Assistant Google, ainsi que des fonctionnalités spécifiques à Cast, qui sont automatiquement compatibles avec tous les expéditeurs et appareils tactiles. À mesure que de nouvelles fonctionnalités sont disponibles, elles continuent d'être compatibles sans qu'il soit nécessaire de modifier les expéditeurs.

Le récepteur Web personnalisé est une application HTML5 personnalisée qui doit être hébergée pour afficher votre contenu sur des appareils compatibles Cast. Vous devrez peut-être créer un récepteur Web personnalisé en fonction des besoins de votre entreprise. Pour savoir quel type de récepteur utiliser, consultez le guide consacré aux récepteurs Web.

SDK Google Web Receiver

Votre application Web Receiver accède à l'API Web Receiver avec la référence suivante:

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

Bonnes pratiques concernant les protocoles d'URL : Notez que l'URL ci-dessus ne spécifie pas de protocole "&http:&https:". Si vous omettez ces protocoles lors de l'approvisionnement de la ressource cast_receiver_framework.js, celle-ci peut être récupérée à l'aide du même protocole que le serveur qui héberge l'application Web Receiver. Cela signifie que le basculement entre HTTP pour le développement et HTTPS pour la production est transparent et ne nécessite pas de changement de code. (Les applications Web Récepteur publiées doivent être hébergées sur des serveurs compatibles TLS.)

Aperçu du SDK

Une version préliminaire du SDK Cast Web Receiver est également disponible pour tester les applications hors production. Pour en savoir plus sur l'URL d'aperçu du SDK, consultez la page sur l'URL d'aperçu du SDK Google Cast Web Receiver.

Cycle de vie de l'application

Le cycle de vie de l'application du récepteur Web commence à partir du moment où celui-ci est chargé sur l'appareil Cast, jusqu'au moment où l'application est supprimée et dont l'état par défaut est rétabli.

Au cours du cycle de vie d'une application Web Receiver, les messages sont échangés entre le récepteur Web et les applications d'expéditeur connectées. Une application émettrice envoie un message initial à un appareil Google Cast demandant la création d'une session à l'aide d'un ID d'application spécifique. Le cycle de vie du récepteur Web est lancé, car l'appareil Google Cast tente de charger l'application Web Récepteur. En l'absence de problèmes réseau, l'application Web Receiver est téléchargée à partir du réseau à l'aide de l'URL résolue associée à l'ID d'application. Une fois le chargement terminé, l'application Web Receiver effectue ses opérations de configuration et indique qu'elle est prête à traiter les messages des applications d'expéditeur connectées.

Une application Récepteur Web peut être supprimée (mettre fin à son cycle de vie actuel et fermer l'application) dans les cas suivants:

  • L'application Web Receiver reçoit un message explicite du dernier expéditeur connecté pour mettre fin à la session d'application.
  • L'application Web Receiver est inactive depuis un certain temps sans aucun expéditeur connecté et décide de mettre fin à la session de l'application.
  • Une autre session de diffusion a démarré.
  • Le récepteur Web rencontre une erreur fatale au cours de son cycle de vie normal.

Le SDK Récepteur Web gère tous les cas courants conformément à nos consignes relatives à l'expérience utilisateur.

Cours majeurs

Le framework du SDK Récepteur Web comporte deux grandes classes:

  • cast.framework.CastReceiverContext : gère le framework global et charge toutes les bibliothèques nécessaires. Grâce à cet objet, vous pouvez:

    • Définir les options de configuration de l'application
    • Gérer les événements système (tels que l'expéditeur connecté ou déconnecté)
    • Créer des critères personnalisés
    • Lancer la communication Cast
  • cast.framework.PlayerManager : gère la lecture de contenus multimédias. Il gère le lecteur et l'élément multimédia sous-jacents en fonction de la requête de l'expéditeur. Grâce à cet objet, vous pouvez:

    • Gérer les opérations de lecture
    • Gérer les demandes de l'expéditeur liées à la lecture
    • Gérer les événements liés à la lecture

Enregistrer votre application Web Récepteur

Avant de développer une application Récepteur Web, vous devez l'enregistrer auprès de la console développeur du SDK Google Cast. Pour en savoir plus, consultez la section Inscription. Toutes les applications Web Receiver nécessitent que les applications expéditeurs fournissent un ID d'application avec les messages de commande qu'elles envoient au récepteur Web via l'API Sender. Lorsque vous enregistrez votre application Récepteur Web, vous recevez l'ID d'application à inclure dans les appels d'API de votre expéditeur.

Créer une application de base de récepteur Web

Voici la structure principale d'une application Récepteur Web de base sans personnalisation:

  1. Un élément HTML cast-media-player pour représenter le lecteur multimédia.
  2. Élément HTML de script permettant de charger le framework du récepteur Web.
  3. Appelez start() pour démarrer l'application Web Receiver sans options.

Voici le code minimal pour une application Récepteur Web utilisant le framework d'application Cast sans aucune personnalisation. Vous pouvez copier et coller ce script exactement tel quel dans votre application pour créer votre application Récepteur Web.

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

À ce stade, un utilisateur peut ouvrir l'application de l'expéditeur, se connecter à son appareil Cast, puis accéder au contenu multimédia et appuyer sur "Lecture". Le récepteur Web est alors invité à diffuser le contenu multimédia sur le téléviseur.

Comparez ce récepteur Web de base avec une application destinataire personnalisée.

Multimédia et lecteurs

Le framework Cast fournit un lecteur multimédia intégré, représenté par l'élément HTML cast-media-player. Ce lecteur multimédia accepte les protocoles de streaming tels que MPEG-DASH, HLS et Smooth Streaming.

Un ensemble de codecs et conteneurs multimédias compatibles est disponible sur la page Médias compatibles. Grâce à la messagerie Cast, les développeurs peuvent prendre en charge une liste d'opérations lancées par l'expéditeur, telles que le chargement, la lecture, la mise en pause et la recherche, où le SDK Cast gère les interactions avec les médias. Pour obtenir la liste des opérations compatibles, consultez la documentation de référence de l'API Sender pour la plate-forme de votre application : RemoteMediaClient dans Android Sender, GCKMediaControlChannel dans iOS Sender et Media dans Web Sender.

Partage de ressources entre origines

Google Cast est entièrement compatible avec le partage de ressources inter-origines (CORS). Contrairement à la plupart des protocoles basés sur des fichiers, les protocoles de streaming accèdent au contenu de manière asynchrone à l'aide de XMLHttpRequest. Dans un monde CORS, ces requêtes sont protégées contre les accès inappropriés via l'en-tête CORS du serveur d'où provient la ressource. Cela signifie que le serveur de contenu peut indiquer où il peut être inclus. La plupart des navigateurs récents sont entièrement compatibles avec le CORS. Les appareils iOS et Android accèdent au contenu à un niveau inférieur et ne regardent pas ces en-têtes. Il s'agit souvent du premier problème qui se produit lorsqu'un développeur souhaite utiliser du contenu en streaming. Pour en savoir plus, consultez la section Partage des ressources entre origines multiples.