A partir de iOS 14, el sistema operativo aplicará de manera forzosa nuevas restricciones y permisos que afectan la experiencia del usuario de Cast. También afectará la forma en que compila el SDK de Cast en tu app. Para que tu app conserve la funcionalidad de transmisión con las versiones más recientes de iOS, debes realizar actualizaciones para administrarlas cambios en los permisos.
iOS 14
Los desarrolladores deben actualizar sus apps emisoras de iOS Cast al SDK de Google Cast v4.6.0 o posterior. Estas versiones son compatibles con iOS 14 y sus requisitos.
A partir de iOS 14, las aplicaciones que buscan dispositivos en la red local Ahora se mostrará a los usuarios un diálogo de permisos único para buscar y conectarse a dispositivos de red local. La plataforma de Cast usa la red local para detectar y de transmisión, así que si el usuario rechaza el permiso, no podrá transmitir.
Para mejorar la experiencia del usuario, realizaremos algunas modificaciones en la UX del SDK. para aquellas apps que usan el selector de dispositivos estándar. Estas modificaciones de la UX para dejar en claro a los usuarios por qué se necesitan los permisos de acceso a la red local y cómo habilitar la transmisión si se habilitó el acceso al dispositivo de red local inhabilitado.
Se seguirán usando las apps compiladas con versiones del SDK de Cast que usen la versión 4.4.8 o una anterior. para que funcionen, siempre y cuando se compilen con Xcode 11.7 o una versión anterior. Si eres compilando para iOS 14 con Xcode 12 o versiones posteriores, te recomendamos que actualices a la versión SDK v4.6.0 o una versión posterior para garantizar que tu app de Google Cast continúe funcionando correctamente.
Puedes descargar la versión 4.6.0 o posterior del SDK de Cast iOS con CocoaPods siguiendo los pasos que se indican a continuación: la configuración de CocoaPods o de forma manual siguiendo los pasos de configuración manual. Esta versión incluye cambios en el mecanismo de descubrimiento subyacente para permitir que las apps compilada con Xcode 12 para encontrar dispositivos de transmisión en la red. El botón para transmitir debería ahora mostrar siempre. Si no hay dispositivos disponibles cuando el usuario presiona la transmisión botón, aparecerá un diálogo que brindará orientación sobre los motivos por los que los dispositivos disponibles, incluida información sobre cómo volver a habilitar el acceso a la red local permiso.
Cambios en el SDK de Cast
Primera transmisión
El acceso a una red local (LNA) se crea la primera vez que un usuario intenta transmitir contenido. aparecerá un diálogo intersticial en el que se explicará por qué el acceso a las redes locales necesarios, seguidos de los permisos de acceso a la red local de iOS que proporciona Apple mensaje. Las siguientes simulaciones ilustran el flujo:
Transmisión no disponible
A partir del SDK emisor de iOS 4.6.0, el botón para transmitir siempre aparece cuando el usuario esté conectado a una red Wi-Fi. Cuando los dispositivos de transmisión no están disponibles, Cuando presionas el botón para transmitir, aparece un diálogo que le brinda al usuario sugerencias sobre los posibles motivos por los que Cast no está disponible, como se muestra en los siguientes ejemplos:
Cómo actualizar su aplicación en iOS 14
-
Agrega el SDK de Cast para iOS 4.8.3 a tu proyecto
Si usas CocoaPods, usa
pod update
para agregar el SDK 4.8.3 a tu proyecto.De lo contrario, extraer el SDK de forma manual.
-
Agrega
NSBonjourServices
a tuInfo.plist
Especifica
NSBonjourServices
en tuInfo.plist
para permitirá que el descubrimiento de redes locales sea exitoso en iOS 14.Deberás agregar
_googlecast._tcp
y_<your-app-id>._googlecast._tcp
como servicios para el dispositivo para que el descubrimiento funcione correctamente.El appID es el receptorID, que es el mismo ID que se define en tu
GCKDiscoveryCriteria
Actualiza la siguiente definición de ejemplo de
NSBonjourServices
y Reemplaza “ABCD1234” con el ID de tu app. -
Agrega
NSLocalNetworkUsageDescription
a tuInfo.plist
Te recomendamos que personalices el mensaje que se muestra en la pestaña Local Mensaje de red agregando una cadena de permiso específica de la app al
Info.plist
para elNSLocalNetworkUsageDescription
, como para describir la transmisión y otros servicios de descubrimiento, como DIAL.Este mensaje aparecerá como parte del diálogo de Acceso a la red local de iOS como que se muestra en la simulación.
-
Vuelve a lanzar la app en la App Store de Apple
También te recomendamos que vuelvas a lanzar la app con la versión 4.8.3, como lo antes posible.
Personalizaciones
Inicio del descubrimiento de dispositivos de transmisión
De forma predeterminada, la detección del dispositivo de transmisión se inicia la primera vez que el usuario presiona
el botón para transmitir (GCKUICastButton
). Si es la primera vez que el usuario
intentó usar la app de Cast en la red local después de actualizar a iOS
14, aparecerá el nuevo anuncio intersticial de LNA, seguido de la red local de iOS
Diálogo de permisos de acceso.
Hay una nueva marca disponible que te permite controlar cuándo comienza la detección de dispositivos y el comportamiento de ciertos elementos de la UX:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
El valor predeterminado es true
. Esta marca solo es aplicable cuando está
GCKCastOptions::disableDiscoveryAutostart
se estableció en false
.
Si la estableces como true
, la detección de dispositivos de transmisión comenzará cuando un usuario presione
GCKUICastButton
por primera vez. Se mostrará un mensaje informativo
que se muestra al usuario para informarle por qué se otorga el permiso de red local
según tus necesidades. Luego de ese mensaje, se mostrará el mensaje de LNA de iOS 14.
La detección del dispositivo de transmisión comienza después de que se confirma el mensaje.
En inicios posteriores de la app, siempre se mostrará GCKUICastButton
.
Si se establece en false
, la detección de dispositivos comenzará según el valor de la
marca
GCKCastOptions::disableDiscoveryAutostart
Preguntas frecuentes
¿Qué sucede si vuelvo a liberar mi ¿App emisora de transmisión con el SDK de Cast v4.4.8 y Xcode 12?
Es posible que tu app no pueda detectar dispositivos de transmisión en la red local a menos que tengas autorización de multicast de red de Apple. Ten en cuenta que Apple no otorgará derechos de multidifusión exclusivamente para el de admitir Cast. Si planeas realizar compilaciones con Xcode 12, debes lanzar tu app con Cast 4.6.0
Si vuelvo a lanzar mi app con el nuevo SDK de Cast, ¿qué sucede? ¿Mis usuarios tendrán iOS 13 o una versión anterior?
Seguirán viendo la misma experiencia del usuario que tenían antes de volver a lanzar la app. Los cambios visibles para el usuario se limitan a los usuarios que se ejecutan en iOS 14.
¿Qué tendré que hacer para actualizar mi app una vez que el nuevo del SDK de Cast?
- Actualiza el
Info.plist
de tu app para incluir una red local la descripción de uso del servicio. - Agrega
NSBonjourServices
a la carpeta de archivos de tu appInfo.plist
y proporciona los nombres del servicio de Bonjour para Cast. y el ID de la app. - Actualiza tu app emisora para usar el SDK de Cast 4.6.0.
- Vuelve a lanzar la app en la App Store de Apple.
¿Por qué dejaron de mostrarse dispositivos en mi dispositivo personalizado? después de actualizar a la versión 4.6.0?
Este es un problema conocido que puede ocurrir si usas un dispositivo personalizado.
en lugar del selector de dispositivo estándar. En la versión 4.4.8 de la
SDK de Cast y versiones anteriores; el análisis de dispositivos era automático. A partir de la versión
4.6.0, deberás llamar de forma explícita a startDiscovery
.
en la
GCKDiscoveryManager
para iniciar la detección de dispositivos.
Esto se debe a que el acceso a la red local (LNA) el mensaje de solicitud de permisos aparecerá luego de que la app se haya analizado por primera vez tiempo. Esto podría provocar que aparezcan diálogos de permisos en lugares aleatorios. en tu app.
Los desarrolladores que compilen un selector de dispositivos personalizado para su app se espera que proporciones un anuncio intersticial único antes de iniciar el dispositivo escaneando por primera vez en iOS 14.
iOS 13
Con iOS 13, se introdujeron nuevos requisitos de permisos que afectan apps con el SDK de Google Cast.
A partir de la versión 4.4.3 del SDK de Google Cast, hay un SDK adicional disponible que
no requieren permiso de Bluetooth®. Esta opción está disponible en la página
de la aplicación y en la nueva
google-cast-sdk-no-bluetooth
CocoaPods.
Desglose de apps
Este es un desglose según la versión del SDK de iOS que uses usando:
Aplicaciones compiladas con el SDK de iOS 12 o versiones anteriores
- Acción recomendada. El rendimiento del descubrimiento de dispositivos que se ejecuta en iOS 13, pero seguirá funcionando. Te recomendamos especialmente desarrolladores actualicen al SDK de Cast 4.4.4 cuando esté disponible.
- iOS 13 solicitará a los usuarios que otorguen permisos de Bluetooth® a la app.
Aplicaciones compiladas con el SDK de iOS 13
- Acción obligatoria: Actualiza al SDK de Cast 4.4.4; de lo contrario, es posible que el botón para transmitir aparecerán si el usuario no otorga permiso de ubicación. Actualización al SDK de Cast La versión 4.4.4 es necesaria para garantizar una experiencia de transmisión confiable en iOS 13.