SDK y API

HDX SDK

La aplicación Citrix Workspace para Chrome presenta una API (Experimental API) que permite a aplicaciones externas de Chrome bloquear, desbloquear y desconectarse de una sesión de Citrix Virtual Apps and Desktops. Con esta API, la aplicación Citrix Workspace para Chrome se puede iniciar en modo incrustado y en modo quiosco. Las sesiones iniciadas en el modo incrustado funcionan de manera similar a las sesiones iniciadas en el modo quiosco.

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

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

Citrix Virtual Channel SDK

El Citrix Virtual Channel Software Development Kit (SDK) admite la escritura de aplicaciones del lado del servidor y controladores del lado del cliente para canales virtuales adicionales con 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 admite la escritura de canales virtuales nuevos en la aplicación Citrix Workspace para Chrome. Si quiere escribir controladores virtuales para otras plataformas cliente, póngase en contacto 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 obtener la documentación del VC SDK, consulte Citrix Virtual Channel SDK para la aplicación Citrix Workspace para Chrome.

Para ver ejemplos del VC SDK, consulte la página Descargas de Citrix.

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 Chrome. Consulte la página de página de descargas de Citrix para obtener más información.
  2. Para agregar la aplicación Chrome de terceros a una lista blanca, agregue el archivo de directiva de la aplicación Citrix Workspace para Chrome mediante los parámetros de administración de Chrome. Para obtener más información, consulte Administrar aplicaciones de Chrome por unidad organizativa el sitio de asistencia técnica de Google. El archivo policy.txt de muestra para agregar la aplicación Chrome de terceros a una lista blanca es como el siguiente:

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

    Nota:

    <3rdParty_App1_ExtnID> se usa como ejemplo para el nombre de aplicaciones externas y puede enviar mensajes a aplicación Citrix Workspace para Chrome. Obtenga el appid desde el sitio chrome://extensions.

  3. Lance la sesión de escritorio o de aplicación en la aplicación Citrix Workspace para Chrome siguiendo estos pasos:
  • Obtenga el workspaceappID

    var workspaceappID = “ haiffjcadagjlijoggckpgfnoeiflnem “;

    Nota:

    En este ejemplo, workspaceappID indica la versión de almacén de aplicaciones de la aplicación Citrix Workspace para Chrome. Si usa la versión reempaquetada de la aplicación Citrix Workspace para Chrome, 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 la función auxiliar siguiente para convertir un archivo ICA de INI a JSON.

//Función auxiliar para convertir ICA en formato INI a formato 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]; } // Esto es necesario porque LaunchReference contendrá ‘=’ también. El split(‘=’,2) anterior no devolverá la referencia // LaunchReference completa. Preferiblemente, debe usarse también algo como lo siguiente de modo genérico // porque puede haber otras variables que usen el carácter ‘=’ como parte de su valor. 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; }

  • Envíe un mensaje ICA desde la aplicación Chrome de terceros a la aplicación Citrix Workspace para Chrome.

     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);
     }
     });
    
    

Para ver 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