SDK y API
HDX SDK
La aplicación Citrix Workspace para ChromeOS presenta una API (Experimental API) que permite a aplicaciones Chrome de terceros bloquear, desbloquear y desconectarse de:
- Citrix Virtual Apps and Desktops
- Sesiones de Citrix DaaS (antes denominado Citrix Virtual Apps and Desktops Service)
Con esta API, puede iniciar la aplicación Citrix Workspace para ChromeOS tanto en modo integrado como en modo quiosco. Las sesiones iniciadas en el modo incrustado funcionan de manera similar a las sesiones iniciadas en el modo quiosco.
Para ver la documentación del SDK, consulte HDX SDK for Citrix Workspace app for ChromeOS.
Para ver ejemplos de HDX SDK, consulte la página de descargas de Citrix.
Mejoras en las API del SDK de Chrome HDX
Anteriormente, las aplicaciones externas con la integración del SDK de HDX para ChromeOS carecían de visibilidad de las sesiones que se iniciaban mediante métodos distintos del SDK.
A partir de la versión 2408, las nuevas mejoras del SDK de HDX para Chrome permiten identificar todas las sesiones activas, desconectar sesiones específicas, desconectar todas las sesiones activas y cerrar la sesión del usuario en todos los almacenes de la aplicación Citrix Workspace (solo almacenes locales).
Para obtener más información sobre el uso de las API, consulte Enumerar sesiones.
Citrix Virtual Channel SDK
El Citrix Virtual Channel Software Development Kit (SDK) le permite escribir aplicaciones del lado del servidor y controladores del lado del cliente para canales virtuales adicionales que usan el protocolo ICA.
Las aplicaciones de canal virtual del lado del servidor se encuentran en servidores 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 quiere escribir controladores virtuales para otras plataformas cliente, contacte con Citrix.
El Virtual Channel SDK ofrece:
-
Una sencilla interfaz que se puede usar con los canales virtuales en el Citrix Server API SDK (WFAPI SDK) para crear nuevos canales virtuales.
-
Código fuente operacional de varios ejemplos de programas de canales virtuales, que demuestran varias técnicas de programación.
-
El Virtual Channel SDK requiere el SDK de WFAPI para escribir la parte del lado del servidor del canal virtual.
Para ver la documentación del VC SDK, consulte Citrix Virtual Channel SDK for Citrix Workspace app for ChromeOS.
Mejoras en Virtual Channel SDK
A partir de la versión 2305, la aplicación Citrix Workspace para ChromeOS admite las API de administración de ventanas en el Virtual Channel SDK. 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 Chrome de terceros
- Instale la versión más reciente de la aplicación Citrix Workspace para ChromeOS. Consulte la página Descargas de Citrix para ver más información.
-
Para agregar la aplicación Chrome de terceros a la lista de permitidos, agregue el archivo de directiva de la aplicación Citrix Workspace para ChromeOS. Use los parámetros de administración de Chrome para agregar la directiva.
Para obtener más información, consulte Administración de aplicaciones Chrome por unidad organizativa en Google Support.
A continuación se muestra el ejemplo de datos JSON
policy.txt
para agregar la aplicación Chrome de terceros a la lista de permitidos:{ "settings": { "Value": { "settings_version": "1.0", "store_settings": { "externalApps": [“<3rdParty_App1_ExtnID>”,“<3rdParty_App2_ExtnID>”] } } } } <!--NeedCopy-->
Nota:
<3rdParty_App1_ExtnID>
se usa como ejemplo para el nombre de externalApps y puede enviar mensajes a la aplicación Citrix Workspace para ChromeOS. Obtenga el appid desde el sitio chrome://extensions. - Inicie la sesión de escritorio o de aplicación en Citrix Workspace para ChromeOS de esta manera:
-
Obtenga el workspaceappID
var workspaceappID = " haiffjcadagjlijoggckpgfnoeiflnem ";
Nota:
En este ejemplo, workspaceappID indica la versión de la tienda de aplicaciones de la aplicación Citrix Workspace para ChromeOS. Si usa una versión reempaquetada de la aplicación Citrix Workspace para ChromeOS, use el workspaceappID apropiado.
-
Convierta los datos ICA desde INI al formato JSON.
Nota:
Normalmente, el archivo ICA se obtiene desde StoreFront como un archivo INI. Use esta función auxiliar para convertir un archivo ICA de 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 sendMessage de la API, consulte estos enlaces:
https://developer.chrome.com/extensions/runtime#event-onMessageExternal
https://developer.chrome.com/extensions/runtime#method-sendMessage
Compatibilidad con Manifest V3 en supuestos de SDK
A partir de la versión 2305, la aplicación Citrix Workspace para ChromeOS admite que HDX SDK con extensiones de Chrome tenga Manifest versión 3.
Para obtener más información, consulte Citrix Workspace app for ChromeOS HDX SDK en la documentación para desarrolladores.
Compatibilidad con el SDK de comunicación unificada (UC)
El SDK de comunicación unificada de Citrix permite a los proveedores de comunicación unificada, 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 perfectamente con aplicaciones de escritorio o explorador basadas en Electron.
Para obtener más información, consulte Unified Communications (UC) SDK, que es un artículo de Tech Zone.
Redirección de las API de WebHID
El SDK de comunicación unificada 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 hay varios dispositivos HID del mismo tipo, el usuario no puede seleccionar uno específico para las pruebas.
Nota:
Esta función está inhabilitada de forma predeterminada.
Modo de configuración
Puede habilitar la función mediante:
- Directiva de administración de Google
- Global App Configuration Service
Directiva de administración de Google
Para los usuarios y dispositivos administrados, los administradores pueden habilitar la función mediante la directiva administrativa de Google de esta manera:
- Inicie sesión en la directiva administrativa de Google.
- Vaya a Administración de dispositivos > Administración de Chrome > Configuración de usuario.
-
Agregue estas cadenas JSON al archivo
policy.txt
bajo la claveengine_settings
.Nota:
También puede aplicar esta configuración en lo siguiente:
- Dispositivo > Chrome > Aplicaciones y extensiones > Usuarios y navegadores > Buscar la extensión > Directiva de extensiones.
- Dispositivo > Chrome > Aplicaciones y extensiones > Quioscos > Buscar la extensión > Directiva para extensiones.
- Dispositivo > Chrome > Aplicaciones y extensiones > Sesiones administradas con invitados > Buscar la extensión > Directiva de extensiones.
-
Asegúrese de establecer el atributo
webHID
entrue
. A continuación, se muestra un ejemplo de datos JSON:'features' : { 'msTeamsOptimization' : { 'webHID' : true } } <!--NeedCopy-->
-
Establezca el atributo hidDeviceBlockList con el formato correcto. A continuación se muestra un ejemplo de datos JSON para bloquear algunos dispositivos HID:
'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-->
- Guarde los cambios.
Global App Configuration Service
Los administradores pueden habilitar la función desde Configuración de Workspace > Configuración de aplicaciones > HDX y multimedia > MS Teams > Habilitar redirección 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.