Suporte à nova arquitetura do OpenTok React Native
A versão 2.31.0-beta.2 do SDK do OpenTok para React Native oferece suporte ao Nova arquitetura do React Native. Para mais informações, esta documentação.
A versão 2.31.0-beta.2 oferece suporte às atualizações do Client SDK para a versão 2.31.0. Consulte a lista de problemas conhecidos.
Esta versão beta não se destina ao uso em aplicativos de produção finais.
A versão 2.31 será compatível apenas com a nova arquitetura do React Native. Ela não será compatível com aplicativos que utilizam a arquitetura antiga.
Requisitos do sistema
A versão 2.31 do SDK do OpenTok para React Native é compatível apenas com o Nova arquitetura do React Native. Se seu aplicativo precisar ser executado em uma versão do React Native que não utilize a nova arquitetura, você precisará usar uma versão anterior do SDK do OpenTok para React Native (como a versão 2.30).
Instalação
Você pode instalar esta versão beta a partir do npmjs:
... ou ...
As etapas de instalação no Android e no iOS são basicamente as mesmas das versões anteriores. No entanto, para esta versão, é necessário registrar os pacotes do OpenTok em seu aplicativo.
No Android, registre o OpentokReactNativePackage, OTPublisherViewNativePackage, e OTSubscriberViewNativePackage pacotes no arquivo MainActivity do seu aplicativo. Consulte a etapa 6 da seção “Instalação no Android” abaixo.
No iOS, registre o OpentokReactNativePackage, OTPublisherViewNativePackage, e OTSubscriberViewNativePackage pacotes no arquivo MainActivity do seu aplicativo. Consulte a etapa 4 da seção “Instalação no iOS” abaixo.
Instalação no iOS
-
Instale os pods do iOS:
Copiarnpx pod-install -
Para versões do React Native anteriores à 0.60:
-
Adicione isto ao seu Podfile:
Copiartarget '<YourProjectName>' do # Pods for <YourProject> pod 'OTXCFramework', '2.30.1' end -
Correr
react-native link opentok-react-native.
Essas etapas não são necessárias no React Native versão 0.60 e posteriores.
-
-
Certifique-se de ter habilitado o uso da câmera e do microfone adicionando as seguintes entradas ao arquivo
Info.plistarquivo:Copiar<key>NSCameraUsageDescription</key> <string>Your message to user when the camera is accessed for the first time</string> <key>NSMicrophoneUsageDescription</key> <string>Your message to user when the microphone is accessed for the first time</string>
Ao criar um arquivo compactado do seu aplicativo, o configurações do manifesto de privacidade exigidas pela App Store da Apple são adicionados automaticamente nesta versão do SDK do OpenTok para React Native.
-
Registre as classes OTPublisherViewNative e OTSubscriberViewNative do OpenTok. Para isso, modifique a implementação do AppDelegate.
- Se o seu aplicativo tiver um arquivo AppDelegate em Objective-C++ (AppDelegate.mm), adicione essas classes à lista de pacotes no NSMutableDictionary retornado pelo
thirdPartyFabricComponents()função:
Copiar#import "OTPublisherViewNativeComponentView.h" #import "OTSubscriberViewNativeComponentView.h" @implementation AppDelegate // ... - (NSDictionary> *)thirdPartyFabricComponents { NSMutableDictionary * dictionary = [super thirdPartyFabricComponents].mutableCopy; dictionary[@"OTPublisherViewNative"] = [OTPublisherViewNativeComponentView class]; dictionary[@"OTSubscriberViewNative"] = [OTSubscriberViewNativeComponentView class]; return dictionary; } @end- Se seu aplicativo usa um arquivo AppDelegate em Swift (AppDelegate.swift), você precisará ter a implementação do
RCTAppDelegate.application(_, didFinishLaunchingWithOptions)O método utiliza um cabeçalho de ponte para chamar um método em um arquivo Objective-C++ que, por sua vez, chama o[RCTComponentViewFactory registerComponentViewClass:]método, passando oOTPublisherViewNativeComponentVieweOTSubscriberViewNativeComponentViewaulas.
- Se o seu aplicativo tiver um arquivo AppDelegate em Objective-C++ (AppDelegate.mm), adicione essas classes à lista de pacotes no NSMutableDictionary retornado pelo
-
Se o seu aplicativo for usar o
OTPublisher.setVideoTransformers()ouOTPublisher.setAudioTransformers()Para usar esse método, você precisa incluir o seguinte no seu Podfile:Copiarpod 'VonageClientSDKVideoTransformers'
Se você tentar arquivar o aplicativo e a operação falhar, faça o seguinte:
-
Acesse Meta.
-
Clique Fases de construção.
-
De acordo com o Vincular o arquivo binário às bibliotecas seção, remover
libOpenTokReactNative.ae adicione-o novamente.
Instalação no Android
-
No seu terminal, acesse o diretório do seu projeto.
-
Para versões do React Native anteriores à 0.60:
- Correr
react-native link opentok-react-native
Essa etapa não é necessária no React Native versão 0.60 e posteriores.
- Correr
-
Correr
bundle install. -
Verifique se o seguinte está presente no arquivo Gradle do seu aplicativo
compileSdkVersion,buildToolsVersion,minSdkVersion, etargetSdkVersionsão maiores ou iguais às versões especificadas na biblioteca OpenTok para React Native. -
O SDK adiciona automaticamente as permissões do Android necessárias. Você não precisa adicioná-las ao manifesto do seu aplicativo. No entanto, certas permissões exigem que você solicite a autorização do usuário. Consulte o lista completa das permissões necessárias na documentação do SDK para Android da Video API da Vonage.
-
No arquivo MainActivity.kt do seu aplicativo, registre os pacotes OpenTok OpentokReactNativePackage, OTPublisherViewNativePackage e OTSubscriberViewNativePackage. Para isso, modifique o arquivo MainApplication adicionando-os à lista de pacotes retornada pelo
getPackages()funçãoCopiaroverride fun getPackages(): List<ReactPackage> = PackageList(this).packages.apply { add(OTPublisherViewNativePackage()) add(OTSubscriberViewNativePackage()) add(OpentokReactNativePackage()) } // ... -
Se o seu aplicativo for usar o
OTPublisher.setVideoTransformers()ouOTPublisher.setAudioTransformers()Para utilizar esse método, você precisa incluir o seguinte no arquivo app/build.gradle:Copiarimplementation "com.vonage:client-sdk-video-transformers:2.30.1"
Problemas conhecidos
A seguir, estão listados os problemas conhecidos nesta versão beta:
- O vídeo do assinante congela com frequência ao usar VP9 ou H264.
otrnErrorfaltam eventos.