Compatibilidad con la nueva arquitectura de OpenTok React Native
La versión 2.31.0-beta.2 del SDK de OpenTok para React Native es compatible con el Nueva arquitectura de React Native. Para más información, esta documentación.
La versión 2.31.0-beta.2 es compatible con las actualizaciones del Client SDK para la versión 2.31.0. Consulta la lista de problemas conocidos.
Esta versión beta no está pensada para su uso en aplicaciones de producción definitivas.
La versión 2.31 solo será compatible con la nueva arquitectura de React Native. No será compatible con las aplicaciones que utilicen la arquitectura antigua.
Requisitos del sistema
La versión 2.31 del SDK de OpenTok para React Native solo es compatible con el Nueva arquitectura de React Native. Si tu aplicación tiene que ejecutarse en una versión de React Native que no utilice la nueva arquitectura, tendrás que utilizar una versión anterior del SDK de OpenTok para React Native (como la versión 2.30).
Instalación
Puedes instalar esta versión beta desde npmjs:
... o ...
Los pasos de instalación en Android e iOS son básicamente los mismos que en versiones anteriores. Sin embargo, en esta versión es necesario registrar los paquetes de OpenTok en tu aplicación.
En Android, registra el OpentokReactNativePackage, OTPublisherViewNativePackagey OTSubscriberViewNativePackage paquetes en el archivo MainActivity de tu aplicación. Consulta el paso 6 de la sección «Instalación en Android» que aparece a continuación.
En iOS, registra el OpentokReactNativePackage, OTPublisherViewNativePackagey OTSubscriberViewNativePackage paquetes en el archivo MainActivity de tu aplicación. Consulta el paso 4 de la sección «Instalación en iOS» que aparece a continuación.
Instalación en iOS
-
Instala los pods de iOS:
Copianpx pod-install -
Para las versiones de React Native anteriores a la 0.60:
-
Añade esto a tu Podfile:
Copiatarget '<YourProjectName>' do # Pods for <YourProject> pod 'OTXCFramework', '2.30.1' end -
Correr
react-native link opentok-react-native.
Estos pasos no son necesarios en la versión 0.60 y posteriores de React Native.
-
-
Asegúrese de que ha habilitado el uso de la cámara y el micrófono añadiendo las siguientes entradas a la carpeta
Info.plistarchivo:Copia<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>
Cuando cree un archivo de su aplicación, el archivo configuración del manifiesto de privacidad exigido por la tienda de aplicaciones de Apple se añaden automáticamente con esta versión del SDK de OpenTok para React Native.
-
Registra las clases OTPublisherViewNative y OTSubscriberViewNative de OpenTok. Para ello, modifica la implementación de AppDelegate.
- Si tu aplicación tiene un archivo AppDelegate en Objective-C++ (AppDelegate.mm), añade estas clases a la lista de paquetes del NSMutableDictionary devuelto por el
thirdPartyFabricComponents()función:
Copia#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- Si su aplicación utiliza un archivo Swift AppDelegate (AppDelegate.swift), tendrá que tener su implementación de la función
RCTAppDelegate.application(_, didFinishLaunchingWithOptions)utiliza un encabezado puente para llamar a un método de un archivo Objective-C++ que llama al método[RCTComponentViewFactory registerComponentViewClass:]pasando el métodoOTPublisherViewNativeComponentViewyOTSubscriberViewNativeComponentViewclases.
- Si tu aplicación tiene un archivo AppDelegate en Objective-C++ (AppDelegate.mm), añade estas clases a la lista de paquetes del NSMutableDictionary devuelto por el
-
Si su aplicación va a utilizar el
OTPublisher.setVideoTransformers()oOTPublisher.setAudioTransformers()necesita incluir lo siguiente en su Podfile:Copiapod 'VonageClientSDKVideoTransformers'
Si intentas archivar la aplicación y no funciona, haz lo siguiente:
-
Ir a Objetivo.
-
Haz clic Fases de construcción.
-
En virtud de la Enlazar el binario con las bibliotecas sección, eliminar
libOpenTokReactNative.ay añádelo de nuevo.
Instalación en Android
-
En su terminal, cambie al directorio de su proyecto.
-
Para las versiones de React Native anteriores a la 0.60:
- Correr
react-native link opentok-react-native
Este paso no es necesario en la versión 0.60 y posteriores de React Native.
- Correr
-
Correr
bundle install. -
Asegúrate de lo siguiente en el gradle de tu aplicación
compileSdkVersion,buildToolsVersion,minSdkVersionytargetSdkVersionson superiores o iguales a las versiones especificadas en la biblioteca OpenTok para React Native. -
El SDK añade automáticamente los permisos de Android que requiere. No es necesario que los añada al manifiesto de su aplicación. Sin embargo, algunos permisos requieren que se lo solicite al usuario. Consulte la sección lista completa de permisos necesarios en la documentación de Vonage Video API Android SDK.
-
En el archivo MainActivity.kt de tu aplicación, registra los paquetes de OpenTok: OpentokReactNativePackage, OTPublisherViewNativePackage y OTSubscriberViewNativePackage. Para ello, modifica el archivo MainApplication añadiendo estos paquetes a la lista de paquetes devueltos por el
getPackages()funciónCopiaoverride fun getPackages(): List<ReactPackage> = PackageList(this).packages.apply { add(OTPublisherViewNativePackage()) add(OTSubscriberViewNativePackage()) add(OpentokReactNativePackage()) } // ... -
Si su aplicación va a utilizar el
OTPublisher.setVideoTransformers()oOTPublisher.setAudioTransformers()necesita incluir lo siguiente en su archivo app/build.gradle:Copiaimplementation "com.vonage:client-sdk-video-transformers:2.30.1"
Problemas conocidos
A continuación se enumeran los problemas conocidos de esta versión beta:
- El vídeo de los suscriptores se cuelga con frecuencia al utilizar VP9 o H.264.
otrnErrorFaltan algunos eventos.