A partire da iOS 14, il sistema operativo applicherà nuove limitazioni e autorizzazioni che influiscono sull'esperienza utente di trasmissione. Influirà anche sul modo in cui integrare l'SDK Cast nella tua app. Per fare in modo che l'app mantenga la funzionalità di trasmissione con le ultime versioni di iOS, devi apportare aggiornamenti per modifiche alle autorizzazioni.
iOS 14
Gli sviluppatori devono aggiornare le proprie app dei mittenti di Google Cast per iOS all'SDK Google Cast. Versione 4.6.0 o successiva. Queste versioni forniscono il supporto per iOS 14 e i relativi requisiti.
A partire da iOS 14, le applicazioni che cercano dispositivi sulla rete locale con una finestra di dialogo delle autorizzazioni una tantum, ora chiederà agli utenti di trovare e connettersi a dai dispositivi di rete locali. La piattaforma Cast utilizza la rete locale per rilevare e controllare i dispositivi di trasmissione. Se l'utente nega l'autorizzazione, non potrà trasmettere contenuti.
Per migliorare l'esperienza utente, stiamo apportando alcune modifiche UX all'SDK per le app che usano il selettore dispositivo standard. Queste modifiche all'esperienza utente rendere più ovvio agli utenti il motivo per cui sono necessarie le autorizzazioni di accesso alla rete locale, e su come attivare la trasmissione se l'accesso al dispositivo alla rete locale è stato disattivata.
Le app create con versioni dell'SDK Cast con la versione 4.4.8 o precedenti continueranno a esistere funzionare purché siano costruite con Xcode 11.7 o versioni precedenti. Se per iOS 14 con Xcode 12 o versioni successive, ti consigliamo di eseguire l'aggiornamento SDK 4.6.0 o versioni successive per garantire il corretto funzionamento dell'app Google Cast.
L'SDK Cast per iOS 4.6.0 o versioni successive può essere scaricato con CocoaPods seguendo questo dalla configurazione di CocoaPods oppure manualmente seguendo la configurazione manuale. Questa release include modifiche al meccanismo di rilevamento sottostante per consentire le app che sono con Xcode 12 per trovare i dispositivi di trasmissione sulla rete. Il pulsante Trasmetti dovrebbe ora vengono sempre visualizzati. Se non ci sono dispositivi disponibili quando l'utente tocca Trasmetti viene visualizzata una finestra di dialogo che fornisce indicazioni sul motivo per cui i dispositivi potrebbero non essere disponibile, incluse le informazioni su come riattivare l'accesso alla rete locale autorizzazione.
Modifiche all'SDK Cast
Prima trasmissione
La prima volta che un utente tenta di trasmettere, viene eseguito l'accesso alla rete locale (LNA). apparirà una finestra di dialogo interstitial che spiega perché l'accesso alla rete locale viene necessaria, seguite dalle autorizzazioni di accesso alla rete locale iOS fornite da Apple richiesta. Gli esempi riportati di seguito illustrano il flusso:
Trasmissione non disponibile
A partire dall'SDK per mittenti di iOS 4.6.0, il pulsante Trasmetti viene sempre visualizzato quando sia connesso alla rete Wi-Fi. Quando i dispositivi di trasmissione non sono disponibili, Se tocchi il pulsante Trasmetti, viene visualizzata una finestra di dialogo che Suggerimenti sui possibili motivi per cui Google Cast non è disponibile, come mostrato negli esempi che seguono:
Aggiornamento dell'app su iOS 14
-
Aggiungere l'SDK Cast iOS 4.8.3 al tuo progetto
Se usi CocoaPods, usa
pod update
per aggiungere l'SDK 4.8.3 al tuo progetto.Altrimenti, eseguire il pull manuale dell'SDK.
-
Aggiungi
NSBonjourServices
aInfo.plist
Specifica
NSBonjourServices
inInfo.plist
per consentono il rilevamento della rete locale su iOS 14.Dovrai aggiungere sia
_googlecast._tcp
che_<your-app-id>._googlecast._tcp
come servizi per il dispositivo che il rilevamento funzioni correttamente.L'appID è il ricevitore ID, ovvero lo stesso ID definito nel
GCKDiscoveryCriteria
.Aggiorna la definizione di
NSBonjourServices
di esempio seguente e sostituisci "ABCD1234" con il tuo ID app. -
Aggiungi
NSLocalNetworkUsageDescription
aInfo.plist
Ti consigliamo vivamente di personalizzare il messaggio mostrato nella Prompt di rete aggiungendo una stringa di autorizzazione specifica per l'app nel
Info.plist
perNSLocalNetworkUsageDescription
, ad esempio per descrivere Cast rilevamento e altri servizi di rilevamento, come DIAL.Questo messaggio verrà visualizzato nella finestra di dialogo Accesso alla rete locale di iOS come mostrato nella simulazione.
-
Rilasciare di nuovo l'app sull'App Store di Apple
Ti consigliamo anche di rilasciare nuovamente l'app utilizzando la versione 4.8.3 il prima possibile.
Personalizzazioni
Avvio rilevamento dispositivi di trasmissione
Per impostazione predefinita, il rilevamento del dispositivo di trasmissione viene avviato la prima volta che l'utente tocca il dispositivo.
il pulsante Trasmetti (GCKUICastButton
). Se è la prima volta che l'utente usa
tentativo di utilizzare l'app Cast sulla rete locale dopo l'upgrade a iOS
14, viene visualizzato il nuovo interstitial LNA, seguito dalla riga
Finestra di dialogo Autorizzazioni di accesso.
È disponibile un nuovo flag per consentirti di controllare quando inizia il rilevamento dei dispositivi e il comportamento di alcuni elementi della UX:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
Il valore predefinito è true
. Questo flag è applicabile solo se il flag
GCKCastOptions::disableDiscoveryAutostart
è impostato su false
.
Se il criterio è impostato su true
, il rilevamento dei dispositivi di trasmissione si avvia quando un utente tocca la
GCKUICastButton
per la prima volta. Verrà visualizzato un messaggio informativo
visualizzata all'utente spiegando perché l'autorizzazione per la rete locale è
necessaria. Dopo il messaggio, verrà visualizzato il messaggio LNA per iOS 14.
Il rilevamento dei dispositivi di trasmissione inizia dopo la conferma del messaggio.
Nei lanci successivi dell'app, viene sempre visualizzato GCKUICastButton
.
Se il criterio viene impostato su false
, il rilevamento dei dispositivi inizierà in base al valore dell'attributo
segnalare
GCKCastOptions::disableDiscoveryAutostart
Domande frequenti
Che cosa succede se rilascerò il mio App mittente con Cast SDK v4.4.8 e Xcode 12?
La tua app potrebbe non riuscire a rilevare i dispositivi di trasmissione sulla rete locale a meno che tu non abbia ottenuto da Apple il diritto di networking multicast. Tieni presente che Apple non concederà diritti multicast esclusivamente per supportare Google Cast. Se prevedi di creare con Xcode 12, devi rilasciare la tua app con Cast 4.6.0.
Se effettuo nuovamente il rilascio della mia app con il nuovo SDK Cast, che i miei utenti che utilizzano iOS 13 o versioni precedenti?
Continuerà a vedere la stessa esperienza utente che aveva prima una nuova release dell'app. Le modifiche visibili agli utenti sono limitate agli utenti iOS 14.
Cosa dovrò fare per aggiornare la mia app quando sarà dell'SDK Cast?
- Aggiorna
Info.plist
dell'app per includere una rete locale la descrizione dell'utilizzo. - Aggiungi
NSBonjourServices
all'appInfo.plist
e specifica i nomi del servizio Bonjour per Cast e l'ID dell'app. - Esegui l'upgrade dell'app del mittente per utilizzare l'SDK Cast 4.6.0.
- Rilascia nuovamente l'app nell'App Store di Apple.
Perché i dispositivi non vengono più visualizzati nel mio dispositivo personalizzato selettore dopo aver eseguito l'upgrade alla versione 4.6.0?
Si tratta di un problema noto che può verificarsi se utilizzi un dispositivo personalizzato
anziché quello standard. Nella versione 4.4.8 del
SDK Cast e versioni precedenti, la scansione dei dispositivi era automatica. A partire dalla versione
4.6.0, dovrai chiamare esplicitamente startDiscovery
nella
GCKDiscoveryManager
per avviare il rilevamento del dispositivo.
Il motivo di questa modifica è che l'accesso alla rete locale (LNA) la richiesta di autorizzazione verrà visualizzata al termine della prima analisi dell'app nel tempo. Di conseguenza, finestre di dialogo delle autorizzazioni potrebbero essere visualizzate in posizioni casuali. all'interno dell'app.
Gli sviluppatori che creano un selettore dispositivo personalizzato per la propria app dovrebbe fornire un interstitial una tantum prima di avviare il dispositivo scansione per la prima volta in iOS 14.
iOS 13
Con iOS 13, sono stati introdotti nuovi requisiti di autorizzazione che incidono app utilizzando l'SDK Google Cast.
A partire dalla versione 4.4.3 dell'SDK Google Cast, è disponibile un SDK aggiuntivo che
non richiede l'autorizzazione Bluetooth®. Questa funzionalità è disponibile nella piattaforma per sviluppatori
sito e nel nuovo
google-cast-sdk-no-bluetooth
Cocoapodi.
Analisi per app
Di seguito è riportata una suddivisione in base alla versione dell'SDK per iOS attualmente in uso con:
App create con l'SDK per iOS 12 o versioni precedenti
- Azione consigliata. Il rendimento del rilevamento dei dispositivi può diminuire quando iOS 13, ma che funzionerà. Ti consigliamo vivamente di gli sviluppatori eseguono l'upgrade all'SDK Cast v4.4.4, quando disponibile.
- iOS 13 richiederà agli utenti di concedere autorizzazioni Bluetooth® all'app.
App create con l'SDK per iOS 13
- Azione richiesta. Esegui l'aggiornamento all'SDK Cast 4.4.4, altrimenti il pulsante Trasmetti potrebbe non essere vengono visualizzati se l'utente non concede l'autorizzazione di accesso alla posizione. Upgrade all'SDK Cast in corso La versione 4.4.4 è necessaria per garantire un'esperienza di trasmissione affidabile su iOS 13.