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 desconectarse de:

  • Citrix Virtual Apps and Desktops
  • Sesión de Citrix DaaS (anteriormente servicio Citrix Virtual Apps and Desktops)

Con esta API, puedes 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, consulta SDK de HDX para la aplicación Citrix Workspace para ChromeOS.

Para ver ejemplos del SDK de HDX, consulta la página de descargas de Citrix.

Mejoras en las API del SDK de HDX para 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 en el SDK de HDX para 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, consulta Enumerar sesiones.

SDK de canal virtual de Citrix

El Kit de desarrollo de software (SDK) de canal virtual de Citrix te ayuda a 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 te ayuda a escribir nuevos canales virtuales para la aplicación Citrix Workspace para ChromeOS. Si quieres escribir controladores virtuales para otras plataformas cliente, ponte en contacto con Citrix.

El SDK de canal virtual proporciona:

  • Una interfaz sencilla que se puede usar con los canales virtuales en el SDK de la API del servidor de Citrix (SDK de WFAPI) 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 SDK de WFAPI para escribir el lado del servidor del canal virtual.

Para la documentación del SDK de VC, consulta SDK de canal virtual de Citrix para la aplicación Citrix Workspace para ChromeOS.

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. Instala la última versión de la aplicación Citrix Workspace para ChromeOS. Consulta la página de descargas de Citrix para obtener más detalles.
  2. Agrega 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. Usa la configuración de administración de Chrome para agregar la política.
  • Para obtener más detalles, consulta Administrar aplicaciones de Chrome por unidad organizativa en el soporte de Google.

    Para agregar la aplicación de Chrome de terceros a la lista de permitidos, aquí tienes los datos JSON de ejemplo de 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. Obtén tu appid del sitio chrome://extensions.

  1. Inicia la aplicación o una sesión de escritorio en Citrix Workspace para ChromeOS de la siguiente manera:
  • Obtén 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 estás usando una versión reempaquetada de la aplicación Citrix Workspace para ChromeOS, usa el workspaceappID apropiado.

  • Convierte los datos ICA de formato INI a JSON.

    Nota:

  • Normalmente, el archivo ICA se recupera de StoreFront como un archivo INI. Usa 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ía un mensaje ICA desde la aplicación de 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, consulta 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 admite el SDK de HDX con extensiones de Chrome que tienen la versión 3 del manifiesto.

Para obtener más información, consulta SDK de HDX de la aplicación Citrix Workspace para ChromeOS 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, proveedores de centros de contacto en la nube, proveedores de plataformas de comunicaciones como servicio (CPaaS) o 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, consulta SDK de comunicaciones unificadas (UC), que es un artículo de la zona técnica.

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á deshabilitada por defecto.

Cómo configurar

Puedes habilitar la función usando:

  • 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 utilizando la Política de administración de Google de la siguiente manera:

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

    Nota:

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

    • Dispositivo > Chrome > Aplicaciones y extensiones > Usuarios y navegadores > Buscar la extensión > Política para extensiones.
    • Dispositivo > Chrome > Aplicaciones y extensiones > Quioscos > Buscar la extensión > Política para extensiones.
    • Dispositivo > Chrome > Aplicaciones y extensiones > Sesiones de invitado administradas > Buscar la extensión > Política para extensiones.
  4. Asegúrate de establecer el atributo webHID en true. A continuación, se muestra un ejemplo de datos JSON:

    'features' : {
        'msTeamsOptimization' : { 
            'webHID' : true 
            } 
            }
    <!--NeedCopy-->
    
  5. Establece el atributo hidDeviceBlockList con el formato correcto. Si quieres bloquear algunos dispositivos HID, a continuación, se muestra 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. Guarda 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 la aplicación > HDX y multimedia > MS Teams > Habilitar redirección de webHID y Lista de bloqueo de dispositivos HID. Selecciona la casilla de verificación y el botón de alternancia correspondiente para habilitar la función.

SDK y API