SDK y API

SDK de HDX™

La aplicación Citrix Workspace para ChromeOS presenta una API (API experimental) que permite a las aplicaciones de Chrome de terceros bloquear, desbloquear y desconectar de:

  • Citrix Aplicaciones Virtuales y Escritorios
  • Sesión de Citrix DaaS (anteriormente servicio Citrix Virtual Apps and Desktops)

Con esta API, puede iniciar la aplicación Citrix Workspace para ChromeOS tanto en modo incrustado como en modo quiosco. Las sesiones iniciadas en modo incrustado funcionan de manera similar a las sesiones iniciadas en modo quiosco.

Para la documentación del SDK, consulte HDX SDK para la aplicación Citrix Workspace para ChromeOS.

Para ver ejemplos del SDK de HDX, consulte la página de descarga de Citrix.

Mejoras en las API del SDK de HDX de Chrome

Anteriormente, las aplicaciones externas con la integración del SDK de HDX para ChromeOS carecían de visibilidad sobre las sesiones que se iniciaban a través de métodos distintos al SDK.

A partir de la versión 2408, las nuevas mejoras del SDK de HDX de Chrome proporcionan la capacidad de identificar todas las sesiones activas, desconectar sesiones específicas, desconectar todas las sesiones activas y cerrar la sesión del usuario de todas las tiendas en la aplicación Citrix Workspace™ (solo tiendas locales).

Para obtener más información sobre el uso de las API, consulte Enumerar sesiones.

SDK de canal virtual de Citrix

El Kit de desarrollo de software (SDK) de canal virtual de Citrix le permite escribir aplicaciones del lado del servidor y controladores del lado del cliente para canales virtuales adicionales utilizando el protocolo ICA®.

Las aplicaciones de canal virtual del lado del servidor se encuentran en los servidores de Citrix Virtual Apps o Citrix Virtual Apps and Desktops. Esta versión del SDK le permite escribir nuevos canales virtuales para la aplicación Citrix Workspace para ChromeOS. Si desea escribir controladores virtuales para otras plataformas cliente, póngase en contacto con Citrix.

El SDK de canal virtual proporciona:

  • Una interfaz sencilla que se puede utilizar con los canales virtuales del SDK de la API del servidor de Citrix (WFAPI SDK) para crear nuevos canales virtuales.

  • Código fuente funcional para varios programas de ejemplo de canales virtuales que demuestran técnicas de programación.

  • El SDK de canal virtual requiere el WFAPI SDK para escribir el lado del servidor del canal virtual.

Para obtener la documentación del SDK de VC, consulte Citrix Virtual Channel SDK para la aplicación Citrix Workspace para ChromeOS.

Problema conocido en la función

Cuando utiliza ChromeOS versión 146 o posterior, los canales virtuales personalizados creados con versiones anteriores del SDK de canal virtual de Citrix podrían no funcionar como se espera al utilizarlos con una extensión de Chrome de Manifest V3. Los problemas de compatibilidad entre Manifest V3 y el comportamiento de la API de extensión de Chrome causan el problema. Recomendamos actualizar a la última versión de VCSDK 2603 de la página de descargas de Citrix para una experiencia fluida con los canales virtuales. [RFHTMCRM-17807]

Mejoras en el SDK de canal virtual

A partir de la versión 2305, la aplicación Citrix Workspace para ChromeOS admite las API de administración de ventanas en el SDK de canal virtual. Las API web permiten a los administradores de TI crear aplicaciones interactivas y personalizarlas para sus usuarios finales.

Procedimiento para consumir la API en la aplicación de Chrome de terceros

  1. Instale la última versión de la aplicación Citrix Workspace para ChromeOS. Consulte la página de descargas de Citrix para obtener más detalles.
  2. Agregue la aplicación de Chrome de terceros a la lista de permitidos añadiendo el archivo de política para la aplicación Citrix Workspace para ChromeOS. Utilice la configuración de administración de Chrome para añadir la política.

    Para obtener más detalles, consulte Administrar aplicaciones de Chrome por unidad organizativa en el soporte de Google.

    Para añadir la aplicación de Chrome de terceros a la lista de permitidos, aquí tiene los datos JSON de ejemplo policy.txt:

    {
          "settings": {
                 "Value": {
                 "settings_version": "1.0",
                 "store_settings": {
                 "externalApps": [“<3rdParty_App1_ExtnID>”,“<3rdParty_App2_ExtnID>”]
                                   }
                           }
                    }
    }
    <!--NeedCopy-->
    

    Nota:

    <3rdParty_App1_ExtnID> se utiliza como ejemplo para el nombre de externalApps y puede enviar mensajes a la aplicación Citrix Workspace para ChromeOS. Obtenga su appid del sitio chrome://extensions.

  3. Inicie la aplicación o una sesión de escritorio en Citrix Workspace para ChromeOS de la siguiente manera:
  • Obtenga el workspaceappID

    var workspaceappID = " haiffjcadagjlijoggckpgfnoeiflnem ";;

    Nota:

    En este ejemplo, workspaceappID indica la versión de la tienda de la aplicación Citrix Workspace para ChromeOS. Si utiliza una versión reempaquetada de la aplicación Citrix Workspace para ChromeOS, utilice el workspaceappID adecuado.

  • Convierta los datos ICA de formato INI a JSON.

    Nota:

    Normalmente, el archivo ICA se recupera de StoreFront como un archivo INI. Utilice la siguiente función auxiliar para convertir un archivo ICA INI a JSON.

     //Helper function to convert ica in INI format to JSON
     function convertICA_INI_TO_JSON(data){
     var keyVals = {};
     if (data) {
     var dataArr;
     if(data.indexOf('\r')==-1){
     dataArr = data.split('\n');
     }else{
     dataArr = data.split('\r\n');
     }
     for (var i = 0; i \< dataArr.length; i++) {
     var nameValue = dataArr[i].split('=', 2);
     if (nameValue.length === 2) {
     keyVals[nameValue[0]] = nameValue[1];
     }
     // This is required as LaunchReference contains '=' as well. The above split('=',2) will not provide
     // the complete LaunchReference. Ideally, something like the following should be used generically as well
     // because there can be other variables that use the '=' character as part of the value.
     if (nameValue[0] === "LaunchReference") {
     var index = dataArr[i].indexOf('=');
     var value = dataArr[i].substr(index + 1);
     keyVals[nameValue[0]] = value;
     }
     }
     console.log(keyVals);//to remove
     return keyVals;
     }
     return null;
     }
    
     <!--NeedCopy-->
    
  • Envíe un mensaje ICA desde la aplicación Chrome de terceros a la aplicación Citrix Workspace para ChromeOS.

     var icaFileJson = {...}; // ICA file passed as JSON key value pairs.
     var message = {
     "method" : "launchSession",
     "icaData" : icaJSON
     };
     chrome.runtime.sendMessage(workspaceappID, message,
     function(launchStatus) {
     if (launchStatus.success) {
     // handle success.
     console.log("Session launch was attempted successfully");
     } else {
     // handle errors.
     console.log("error during session launch: ", launchStatus.message);
     }
     });
    
     <!--NeedCopy-->
    

Para obtener más detalles sobre los comandos de la API sendMesage, consulte los siguientes enlaces:

https://developer.chrome.com/extensions/runtime#event-onMessageExternal

https://developer.chrome.com/extensions/runtime#method-sendMessage

Compatibilidad con Manifest V3 para escenarios de SDK

A partir de la versión 2305, la aplicación Citrix Workspace para ChromeOS es compatible con el SDK de HDX con extensiones de Chrome que tienen la versión 3 del manifiesto.

Para obtener más información, consulte Citrix Workspace app for ChromeOS HDX SDK en la documentación de las guías para desarrolladores.

Compatibilidad con el SDK de comunicaciones unificadas (UC)

El SDK de comunicaciones unificadas de Citrix permite a los proveedores de comunicaciones unificadas, a los proveedores de centros de contacto en la nube, a los proveedores de plataformas de comunicaciones como servicio (CPaaS) o a cualquier proveedor de comunicaciones basado en WebRTC integrarse sin problemas con aplicaciones de escritorio basadas en Electron o basadas en navegador.

Para obtener más información, consulte SDK de comunicaciones unificadas (UC), que es un artículo de la zona tecnológica.

Redirección de las API de WebHID

El SDK de comunicaciones unificadas para la aplicación Citrix Workspace para ChromeOS implementa la redirección de las API de WebHID tal como se define en Citrix-WebRTC, con ciertas limitaciones conocidas:

  • Si existen varios dispositivos HID del mismo tipo, el usuario no puede seleccionar un dispositivo específico para la prueba.

Nota:

Esta función está inhabilitada de forma predeterminada.

Cómo configurar

Puede habilitar la función mediante:

  • Política de administración de Google
  • Servicio de configuración global de aplicaciones

Política de administración de Google

Para dispositivos y usuarios administrados, los administradores pueden habilitar la función mediante la Política de administración de Google de la siguiente manera:

  1. Inicie sesión en la Política de administración de Google.
  2. Vaya a Administración de dispositivos > Administración de Chrome > Configuración de usuario.
  3. Agregue las siguientes cadenas JSON al archivo policy.txt bajo la clave engine_settings.

    Nota:

    También puede aplicar esta configuración a lo siguiente:

    • Dispositivo > Chrome > Aplicaciones y extensiones > Usuarios y navegadores > Busque la extensión > Política para extensiones.
    • Dispositivo > Chrome > Aplicaciones y extensiones > Kioscos > Busque la extensión > Política para extensiones.
    • Dispositivo > Chrome > Aplicaciones y extensiones > Sesiones de invitado administradas > Busque la extensión > Política para extensiones.
  4. Asegúrese de establecer el atributo webHID en true. El siguiente es un ejemplo de datos JSON:

    'features' : {
        'msTeamsOptimization' : {
            'webHID' : true
            }
            }
    <!--NeedCopy-->
    
  5. Establezca el atributo hidDeviceBlockList con el formato correcto. Si desea bloquear algunos dispositivos HID, el siguiente es un ejemplo de datos JSON:

    'features' : {
    'msTeamsOptimization' : {
        // The format of the blocklist is ["VID:PID", "VID:PID", "VID:PID", ...]
        // Each VID and PID is an up to 4-digit hexadecimal number with an optional "0x" prefix.
        // The VID is a required field. The PID is optional, so the colon and PID can be omitted.
        // example ["35ab:21ff", "45ac", "0x567:123a", "0x1234:0x5678"]
        'hidDeviceBlockList' : []
        }
    }
    <!--NeedCopy-->
    
  6. Guarde los cambios.

Servicio de configuración global de aplicaciones

Los administradores pueden habilitar la función navegando a Configuración de Workspace > Configuración de aplicaciones > HDX y Multimedia > MS Teams > Habilitar la redirección de webHID y Lista de bloqueo de dispositivos HID. Seleccione la casilla de verificación y el botón de alternancia correspondiente para habilitar la función.

SDK y API