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:

npm install opentok-react-native@2.31.0-beta.2

... o ...

yarn add opentok-react-native@2.31.0-beta.2

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

  1. Instala los pods de iOS:

    npx pod-install
    
  2. Para las versiones de React Native anteriores a la 0.60:

    • Añade esto a tu Podfile:

      target '<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.

  3. 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.plist archivo:

    <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.

  1. 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:
     #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étodo OTPublisherViewNativeComponentView y OTSubscriberViewNativeComponentView clases.
  2. Si su aplicación va a utilizar el OTPublisher.setVideoTransformers() o OTPublisher.setAudioTransformers() necesita incluir lo siguiente en su Podfile:

    pod 'VonageClientSDKVideoTransformers'
    

Si intentas archivar la aplicación y no funciona, haz lo siguiente:

  1. Ir a Objetivo.

  2. Haz clic Fases de construcción.

  3. En virtud de la Enlazar el binario con las bibliotecas sección, eliminar libOpenTokReactNative.a y añádelo de nuevo.

Instalación en Android

  1. En su terminal, cambie al directorio de su proyecto.

  2. 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.

  3. Correr bundle install.

  4. Asegúrate de lo siguiente en el gradle de tu aplicación compileSdkVersion, buildToolsVersion, minSdkVersiony targetSdkVersion son superiores o iguales a las versiones especificadas en la biblioteca OpenTok para React Native.

  5. 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.

  6. 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ón

    override fun getPackages(): List<ReactPackage> =
        PackageList(this).packages.apply {
            add(OTPublisherViewNativePackage())
            add(OTSubscriberViewNativePackage())
            add(OpentokReactNativePackage())
        }
        // ...
    
  7. Si su aplicación va a utilizar el OTPublisher.setVideoTransformers() o OTPublisher.setAudioTransformers() necesita incluir lo siguiente en su archivo app/build.gradle:

    implementation "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.
  • otrnError Faltan algunos eventos.