Conceitos básicos
Instalar a biblioteca
Recomendamos que você integre o SDK de transmissão via CocoaPods. (Se preferir, você pode adicionar manualmente a estrutura do framework a seu projeto.)
Recomendado: integrar o SDK de transmissão (CocoaPods)
A funcionalidade em tempo real é publicada como uma subespecificação do SDK de transmissão do streaming de baixa latência para iOS. Isso ocorre para que os clientes possam optar por incluí-la ou excluí-la com base em suas necessidades de recursos. Incluí-la aumenta o tamanho do pacote.
Os lançamentos são publicados via CocoaPods sob o nome AmazonIVSBroadcast
. Adicione esta dependência ao seu Podfile:
pod 'AmazonIVSBroadcast/Stages'
A execução do pod install
e do SDK estará disponível em seu .xcworkspace
.
Importante: o SDK de transmissão do streaming em tempo real do IVS (ou seja, com a subespecificação de palco) inclui todos os recursos do SDK de transmissão do streaming de baixa latência do IVS. Não é possível integrar os dois SDKs no mesmo projeto. Se você adicionar a subespecificação de palco ao seu projeto utilizando o CocoaPods, certifique-se de remover todas as outras linhas que contêm AmazonIVSBroadcast
no Podfile. Por exemplo, certifique-se de não ter essas duas linhas em seu Podfile:
pod 'AmazonIVSBroadcast' pod 'AmazonIVSBroadcast/Stages'
Abordagem alternativa: instalar o framework manualmente
-
Faça download da versão mais recente de https://broadcast.live-video.net/1.12.0/AmazonIVSBroadcast.xcframework.zip
. -
Extraia o conteúdo do arquivo.
AmazonIVSBroadcast.xcframework
contém o SDK para dispositivo e para o simulador. -
Incorporado o
AmazonIVSBroadcast.xcframework
arrastando-o para a seção Frameworks, Libraries, and Embedded Content (Frameworks, bibliotecas e conteúdo incorporado) da guia General (Geral) para o destino de sua aplicação.
Solicitar permissões
Sua aplicação deverá solicitar permissão para acessar a câmera e o microfone do usuário. (Isso não é específico do Amazon IVS; é necessário para qualquer aplicação que precise acessar câmeras e microfones.)
Aqui, verificamos se o usuário já concedeu permissões; caso contrário, nós as solicitamos:
switch AVCaptureDevice.authorizationStatus(for: .video) { case .authorized: // permission already granted. case .notDetermined: AVCaptureDevice.requestAccess(for: .video) { granted in // permission granted based on granted bool. } case .denied, .restricted: // permission denied. @unknown default: // permissions unknown. }
É necessário fazer isso para os tipos de mídia .video
e .audio
, se você quiser acesso a câmeras e microfones, respectivamente.
Também é necessário adicionar entradas para NSCameraUsageDescription
e NSMicrophoneUsageDescription
no Info.plist
. Caso contrário, sua aplicação falhará ao tentar solicitar permissões.
Desativar o temporizador de ociosidade da aplicação
Isso é opcional, porém é recomendado. Isso impede que seu dispositivo entre em modo de suspensão enquanto usa o SDK de transmissão, o que interromperia a transmissão.
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) UIApplication.shared.isIdleTimerDisabled = true } override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) UIApplication.shared.isIdleTimerDisabled = false }