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 HDX para Chrome

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

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

    Para agregar la aplicación Chrome de terceros a la lista de permitidos, estos son los datos JSON del policy.txt de muestra:

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

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

SDK y API