mode Invité

Un appareil récepteur (tel qu'un Chromecast) en mode Invité permet à un appareil (un téléphone ou une tablette) de caster du contenu sur cet appareil lorsque celui-ci est à proximité, sans que l'expéditeur soit connecté au même réseau Wi-Fi que l'appareil récepteur.

Lorsqu'un appareil émetteur se trouve à proximité d'un récepteur Web en mode Invité, un itinéraire appelé "Appareil à proximité" apparaît dans le menu Cast de l'application de l'expéditeur pour ce récepteur Web. Pour s'authentifier, l'expéditeur écoute un jeton du récepteur Web à l'aide d'un son ultrasonique. Si cette authentification automatique échoue, l'utilisateur est invité à saisir manuellement le code du mode Invité. Les utilisateurs peuvent le trouver sur le Backdrop Chromecast ou dans les paramètres de l'appareil dans l'application Google Home.

Mode Invité iOS

Modifications des autorisations sous iOS 13

Avec iOS 13, Apple a introduit des exigences d'autorisation plus strictes qui affectent les applications utilisant le SDK Google Cast.

Vous devez ajouter l'autorisation Privacy - Bluetooth Always Usage Description au fichier Info.plist de votre application, comme suit. Remplacez ${PRODUCT_NAME} par le nom de votre application. La description doit être modifiée si votre application utilise le Bluetooth® pour d'autres raisons en plus de la diffusion.

<key>NSBluetoothAlwaysUsageDescription</key>
<string>${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices.</string>

À partir de la version 4.4.3 du SDK Google Cast, un autre SDK est disponible sans le mode Invité ne nécessitant pas l'autorisation Bluetooth®. Cette fonctionnalité est disponible à la fois sur le site pour les développeurs et sur les nouveaux CocoaPods google-cast-sdk-no-bluetooth.

Suppression du mode Invité pour iOS

À partir de la version 4.4.3 du SDK Google Cast, un SDK supplémentaire est disponible sans le mode Invité qui ne nécessite pas l'autorisation Bluetooth®. Cette version est disponible à la fois sur le site pour les développeurs et sur les nouveaux CocoaPods google-cast-sdk-no-bluetooth.

Autorisations du Bluetooth et du micro sur iOS

iOS utilise le Bluetooth pour rechercher les appareils à proximité et nécessite donc l'autorisation d'utiliser le Bluetooth en mode Invité. Le micro est nécessaire pour écouter le jeton à ultrasons lors de l'association à un appareil en mode Invité. Il nécessite également une autorisation.

Pour obtenir les autorisations appropriées, vous devez ajouter deux entrées au fichier Info.plist de votre application, comme suit. Remplacez ${PRODUCT_NAME} par le nom de votre application. La description doit être modifiée si votre application utilise ces autorisations pour d'autres raisons que la diffusion.

<key>NSBluetoothPeripheralUsageDescription</key>
<string>${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices.</string>

<key>NSMicrophoneUsageDescription</key>
<string>${PRODUCT_NAME} uses microphone access to listen for ultrasonic tokens
when pairing with nearby Cast devices.</string>

Ces entrées sont requises depuis iOS 10.

Appareils Cast compatibles

Expéditeurs iOS : le mode Invité pour iOS utilise des jetons Bluetooth à basse consommation (BLE) et audio pour identifier les appareils Chromecast à proximité. La compatibilité BLE a été ajoutée aux appareils Chromecast et Chromecast Audio nouvelle génération (de forme arrondie, lancés en septembre 2015). Ainsi, le mode Invité fonctionne sur cette nouvelle génération d'appareils. Le mode Invité ne fonctionne pas sur les appareils Chromecast d'ancienne génération.

Expéditeurs Android : le mode Invité pour Android utilise le Wi-Fi pour identifier les appareils Chromecast à proximité. Sur Android, le mode Invité est compatible avec tous les appareils Chromecast et Chromecast Audio (y compris les appareils plus anciens).

Le Nexus Player et Android TV ne sont pas compatibles avec le mode Invité.

Considérations pour les développeurs

Le handshake de code PIN requis pour lancer une session s'effectue automatiquement, mais il peut arriver que l'échange ne se termine pas dans certains cas. Par exemple, le son du téléviseur peut être coupé ou d'autres interférences peuvent survenir.

Le SDK Google Cast est compatible avec le mode Invité automatiquement. Votre application affiche l'icône Cast si le SDK Cast détecte un récepteur Web en mode Invité ou connecté au même réseau Wi-Fi que l'expéditeur. Votre application est compatible avec le mode Invité tant qu'elle n'effectue pas explicitement une recherche de connexion Wi-Fi ou ne nécessite pas de connexion Wi-Fi pour afficher l'icône Cast.

Le mode Invité utilise un relais basé sur le cloud pour signaler l'expéditeur au récepteur Web plutôt qu'au Wi-Fi local. Par conséquent, les fonctionnalités suivantes ne sont pas compatibles avec le mode Invité:

  • Mise en miroir d'onglets Chrome, mise en miroir Android
  • Caster des contenus multimédias stockés localement (photos, vidéos ou fichiers audio, par exemple)

Désactiver le mode Invité

Lorsque vous désactivez le mode Invité, votre application ne peut pas se connecter aux récepteurs Web à proximité en mode Invité, mais elle peut se connecter normalement à ces récepteurs Web sur le même réseau Wi-Fi que l'appareil émetteur exécutant votre application.

Mettre en miroir ou caster des contenus multimédias stockés localement

Si votre application dépend de la mise en miroir ou de la diffusion de contenus multimédias stockés localement, vous devez désactiver le mode Invité. Pour savoir comment désactiver le mode Invité, consultez la section Modifier les informations de l'application.

Applications Android

Pour les applications Android, si certaines fonctionnalités nécessitent seulement un accès au réseau local et ne fonctionnent pas avec les connexions en mode Invité, vous pouvez utiliser la propriété isOnLocalNetwork() de l'objet Cast Device dans la dernière bibliothèque cliente du SDK des services Google Play.