modalità ospite

Un dispositivo di ricezione web (come Chromecast) in modalità ospite consente al dispositivo mittente (un telefono o tablet) di trasmettere a tale dispositivo quando si trova nelle vicinanze, senza richiedere che il mittente sia connesso alla stessa rete Wi-Fi del dispositivo ricevente.

Quando un dispositivo mittente si trova vicino a un destinatario web in modalità ospite, nel menu Trasmetti dell'app del mittente viene visualizzato un percorso denominato "Dispositivo nelle vicinanze" per il ricevitore web. Per eseguire l'autenticazione, il mittente attende un token dal ricevitore web utilizzando l'audio a ultrasuoni. Se questa autenticazione automatica non va a buon fine, all'utente viene chiesto di inserire manualmente il PIN per la modalità ospite. Gli utenti possono trovare il PIN nel backend o nelle impostazioni del dispositivo nell'app Google Home.

Modalità Ospite di iOS

Modifiche alle autorizzazioni per iOS 13

Con iOS 13, Apple ha introdotto requisiti di autorizzazione più severi che interessano le app che utilizzano l'SDK Google Cast.

Devi aggiungere l'autorizzazione Privacy - Bluetooth Always Usage Description al file Info.plist dell'app come segue. Sostituisci ${PRODUCT_NAME} con il nome dell'app; la descrizione deve essere modificata se l'app utilizza Bluetooth® per altri motivi, oltre che per trasmettere.

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

A partire dall'SDK Google Cast v4.4.3 è disponibile un SDK aggiuntivo senza supporto della modalità ospite che non richiede l'autorizzazione Bluetooth®. È disponibile sul sito per sviluppatori e sul nuovo google-cast-sdk-no-bluetooth CocoaPods.

Rimozione della modalità ospite da iOS

A partire dall'SDK Google Cast 4.4.3 è disponibile un SDK aggiuntivo senza supporto della modalità ospite che non richieda l'autorizzazione Bluetooth®. Questa funzionalità è disponibile sia sul sito per sviluppatori sia nel nuovo CocoaPods di google-cast-sdk-no-bluetooth.

Autorizzazioni Bluetooth e microfono per iOS

iOS usa il Bluetooth per cercare dispositivi nelle vicinanze e pertanto richiede l'autorizzazione per utilizzare il Bluetooth in modalità ospite. Il microfono è necessario per ascoltare il token ultrasonico durante l'accoppiamento con un dispositivo in modalità ospite e richiede anche l'autorizzazione.

Per ottenere le autorizzazioni appropriate, devi aggiungere due voci al file Info.plist dell'app come indicato di seguito. Sostituisci ${PRODUCT_NAME} con il nome della tua app; la descrizione deve essere modificata se l'app utilizza queste autorizzazioni per altri motivi, oltre che per trasmettere.

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

Queste voci sono obbligatorie da iOS 10.

Dispositivi di trasmissione supportati

Mittenti iOS: la modalità ospite per iOS utilizza i token Bluetooth Low Energy (BLE) e i token audio per identificare i dispositivi Chromecast nelle vicinanze. Per i dispositivi Chromecast e Chromecast Audio di nuova generazione è stato aggiunto il supporto BLE, di forma circolare e lanciato a settembre 2015. Pertanto, la modalità ospite funziona su questa nuova generazione di dispositivi. La modalità ospite con dispositivi mittenti iOS non funziona sui dispositivi Chromecast meno recenti.

Mittenti Android: la modalità Ospite per Android utilizza il Wi-Fi per identificare i dispositivi Chromecast nelle vicinanze. Su Android, la modalità ospite è supportata su tutti i dispositivi Chromecast e Chromecast Audio (inclusa la generazione precedente).

Nexus Player e Android TV non supportano la modalità ospite.

Considerazioni per gli sviluppatori

L'handshake del codice PIN richiesto per avviare una sessione avviene automaticamente, ma in alcune circostanze potrebbe essere impedito il completamento dello scambio. Ad esempio, la TV potrebbe essere disattivata o potrebbero esserci altre interferenze.

L'SDK di Google Cast supporta automaticamente la modalità ospite: l'app mostra il pulsante Trasmetti se l'SDK di trasmissione rileva un ricevitore web in modalità ospite o connesso alla stessa rete Wi-Fi del mittente. La tua app supporta la modalità ospite, a condizione che non controlli esplicitamente la connessione o non richieda una connessione Wi-Fi per eseguire questa operazione e mostrare il pulsante Trasmetti.

La modalità ospite utilizza un inoltro basato su cloud per segnalare il mittente al web ricevitore, anziché il Wi-Fi locale. Di conseguenza, la seguente funzionalità non è supportata in modalità Ospite:

  • Mirroring scheda di Chrome, mirroring Android
  • Trasmissione di contenuti multimediali memorizzati localmente (ad esempio foto, video o audio)

Disattivazione della modalità ospite in corso...

Quando disattivi la modalità ospite, l'app non può connettersi ai ricevitori web nelle vicinanze in modalità ospite, ma può connettersi normalmente ai ricevitori web sulla stessa rete Wi-Fi del dispositivo del mittente che esegue l'app.

Mirroring o trasmissione di contenuti multimediali memorizzati localmente

Se la tua app dipende dal mirroring o dalla trasmissione di contenuti multimediali memorizzati localmente, devi disattivare la modalità ospite. Vedi i passaggi per disattivare le informazioni delle applicazioni per i passaggi per disattivare la modalità ospite.

App per Android

Per le app Android, se i casi in cui solo alcune funzionalità richiedono l'accesso alla rete locale e non funzionano con le connessioni in modalità ospite, puoi utilizzare la proprietà isOnLocalNetwork() dell'oggetto Dispositivo di trasmissione nella più recente Libreria client SDK di Google Play Services.