A partir do iOS 14, o sistema operacional aplicará novas restrições e permissões que afetam a experiência do usuário do Google Cast. Isso também afeta como você crie o SDK do Cast no seu app. Para que seu app mantenha a funcionalidade do Google Cast com as versões mais recentes do iOS, é necessário fazer atualizações para lidar com essas mudanças nas permissões.
iOS 14
Os desenvolvedores precisam atualizar os apps de transmissão do iOS para o SDK do Google Cast v4.6.0 ou mais recente. Essas versões são compatíveis com o iOS 14 e os requisitos dele.
A partir do iOS 14, os aplicativos que verificam dispositivos na rede local agora solicita que os usuários com uma caixa de diálogo de permissões únicas encontrem e se conectem dispositivos de rede local. A plataforma de transmissão usa a rede local para descobrir e controlar dispositivos de transmissão, portanto, se o usuário negar a permissão, ele não poderá cast.
Para melhorar a experiência do usuário, estamos fazendo algumas modificações de UX no SDK. para os apps que usam o seletor de dispositivo padrão. Essas modificações de UX deixar mais claro para os usuários por que as permissões de acesso à rede local são necessárias e como ativar a transmissão se o acesso a dispositivos de rede local estiver desativado.
Os apps criados com versões do SDK do Cast usando a v4.4.8 ou anteriores vão continuar para funcionar, desde que sejam criados com Xcode 11.7 ou anterior. Se você for estiver criando para o iOS 14 com Xcode 12 ou superior, recomendamos atualizar para a versão v4.6.0 ou mais recente para garantir que o app Google Cast continue funcionando corretamente.
O SDK do Cast para iOS v4.6.0 ou mais recente pode ser baixado com CocoaPods da seguinte forma: configuração do CocoaPods ou manualmente, seguindo a configuração manual. Esta versão inclui mudanças no mecanismo de descoberta subjacente para permitir apps que estão criado com o Xcode 12 para encontrar dispositivos de transmissão na rede. O botão Transmitir precisa agora serão sempre exibidos. Se nenhum dispositivo estiver disponível quando o usuário tocar no botão "Transmitir" será exibida uma caixa de diálogo com orientações sobre por que os dispositivos podem não ser disponíveis, incluindo informações sobre como reativar o acesso à rede local permissão.
Mudanças no SDK do Cast
Primeira transmissão
Na primeira vez que um usuário tentar transmitir, um endereço de e-mail de acesso à rede local (LNA, na sigla em inglês) uma caixa de diálogo intersticial será exibida explicando por que o acesso à rede local necessárias, seguidas pelas permissões de acesso à rede local do iOS fornecidas pela Apple prompt de comando. Os modelos abaixo ilustram o fluxo:
Transmissão indisponível
A partir do SDK remetente do iOS 4.6.0, o botão Transmitir sempre aparece quando o usuário conectado ao Wi-Fi. Quando os dispositivos de transmissão não estão disponíveis, tocar no botão Transmitir abre uma caixa de diálogo que fornece ao usuário dicas sobre os possíveis motivos da indisponibilidade do Cast, como mostrado nos modelos abaixo:
Como atualizar seu app no iOS 14
-
Adicionar o SDK do Cast para iOS 4.8.3 ao projeto
Se estiver usando CocoaPods, use
pod update
para adicionar o SDK 4.8.3 ao seu projeto.Caso contrário, extrair o SDK manualmente.
-
Adicione
NSBonjourServices
ao seuInfo.plist
Especifique
NSBonjourServices
no seuInfo.plist
para permitem que a descoberta de rede local funcione no iOS 14.Você precisará adicionar
_googlecast._tcp
e_<your-app-id>._googlecast._tcp
como serviços para o dispositivo a descoberta funcione corretamente.O appID é seu receiverID, que é o mesmo ID definido no
GCKDiscoveryCriteria
:Atualize o exemplo a seguir da definição
NSBonjourServices
e substitua "ABCD1234" pelo seu appID. -
Adicione
NSLocalNetworkUsageDescription
à suaInfo.plist
Recomendamos que você personalize a mensagem exibida no campo Solicitação de rede adicionando uma string de permissão específica ao comando
Info.plist
para oNSLocalNetworkUsageDescription
, como para descrever o Cast descoberta e outros serviços de descoberta, como DIAL.Essa mensagem aparecerá como parte da caixa de diálogo "Acesso à rede local do iOS" como mostrados na simulação.
-
Lançar seu app novamente na App Store da Apple
Recomendamos também lançar o app novamente usando a versão 4.8.3 assim que possível.
Personalizações
Início da descoberta do dispositivo de transmissão
Por padrão, a descoberta do dispositivo de transmissão é iniciada na primeira vez que o usuário toca nela.
o botão Transmitir (GCKUICastButton
). Se esta é a primeira vez que o usuário
tentou usar o app Google Cast na rede local depois de fazer upgrade para o iOS
14, o novo intersticial de LNA vai aparecer, seguido pela rede local do iOS
Caixa de diálogo de permissões de acesso.
Uma nova flag está disponível para permitir que você controle quando a descoberta do dispositivo começa e o comportamento de certos elementos da experiência do usuário:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
O valor padrão é true
. Esta sinalização só é aplicável quando
GCKCastOptions::disableDiscoveryAutostart
é definido como false
.
Se definida como true
, a descoberta do dispositivo de transmissão começará quando o usuário tocar no
GCKUICastButton
pela primeira vez. Será exibida uma mensagem informativa
exibido ao usuário, informando por que a permissão de rede local está
necessários. Depois dessa mensagem, a mensagem LNA do iOS 14 será exibida.
A descoberta do dispositivo de transmissão começa depois que a mensagem é confirmada.
Nas inicializações de app subsequentes, GCKUICastButton
sempre é mostrado.
Se definida como false
, a descoberta de dispositivos será iniciada com base no valor do
sinalizar
GCKCastOptions::disableDiscoveryAutostart
.
Perguntas frequentes
O que acontece se eu lançar novamente meu App remetente do Google Cast com o SDK do Cast v4.4.8 e Xcode 12?
Talvez seu app não consiga detectar dispositivos de transmissão na rede local a menos que você tenha recebido um direito de multicast de rede da Apple. Observe que a Apple não concederá direitos multicast somente para os para oferecer suporte ao Google Cast. Se você planeja criar com o Xcode 12, lance seu app com o Cast 4.6.0.
Se eu lançar meu app novamente com o novo SDK do Cast, qual Os usuários do iOS 13 ou anterior vão ter a experiência?
Eles ainda terão a mesma experiência do usuário que tinham antes um novo lançamento do seu app. As mudanças visíveis aos usuários são limitadas aos usuários em execução no iOS 14.
O que preciso fazer para atualizar meu app depois da nova versão do SDK do Google Cast foi lançada?
- Atualizar o
Info.plist
do app para incluir uma rede local descrição de uso. - Adicione
NSBonjourServices
aoInfo.plist
e forneça os nomes dos serviços Bonjour para Cast e o ID do app. - Faça upgrade do app remetente para usar o SDK do Cast 4.6.0.
- Lance o app novamente na App Store da Apple.
Por que os dispositivos pararam de aparecer no meu dispositivo personalizado? depois de atualizar para a versão 4.6.0?
Esse é um problema conhecido que pode acontecer se você estiver usando um dispositivo personalizado
em vez do seletor de dispositivo padrão. Na versão 4.4.8
SDK do Cast e versões anteriores, a verificação do dispositivo era automática. A partir da versão
4.6.0, será necessário chamar explicitamente o método startDiscovery
na classe
GCKDiscoveryManager
para iniciar a descoberta de dispositivos.
Essa mudança se deve ao fato de que o provedor de acesso à rede local (LNA, na sigla em inglês) a solicitação de permissões vai aparecer após a verificação do primeiro app tempo de resposta. Isso pode fazer com que caixas de diálogo de permissões apareçam em lugares aleatórios no seu app.
Os desenvolvedores que criarem um seletor de dispositivos personalizado para o app vão deverá fornecer um anúncio intersticial único antes de iniciar o dispositivo verificação pela primeira vez no iOS 14.
iOS 13
Com o iOS 13, novos requisitos de permissões foram introduzidos, o que impactou que usam o SDK do Google Cast.
A partir do SDK do Google Cast v4.4.3, está disponível um SDK adicional que não
não necessitam de permissão para o Bluetooth®. Isso está disponível tanto na página do Google Developers
site e no novo
google-cast-sdk-no-bluetooth
Cocoapods.
Detalhamento do app
Veja um detalhamento, dependendo da versão do SDK do iOS que você está usando usando:
Apps criados com o SDK do iOS 12 ou anterior
- Ação recomendada. O desempenho de descoberta de dispositivos pode diminuir em execução no iOS 13, mas ainda funciona. É altamente recomendável os desenvolvedores a atualizar para o SDK do Cast v4.4.4 quando disponível.
- O iOS 13 solicitará que os usuários concedam permissões do Bluetooth® ao app.
Apps criados com o SDK do iOS 13
- Ação necessária: atualize para o SDK do Cast 4.4.4 ou o botão Transmitir pode não ser compatível aparecem se o usuário não conceder permissão de localização. Como fazer upgrade para o SDK do Cast 4.4.4 é necessário para garantir uma experiência de transmissão confiável no iOS 13.