SDK y API

HDX SDK

La aplicación Citrix Workspace para Chrome OS 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 Chrome OS 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 para la aplicación Citrix Workspace para Chrome.

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

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 Chrome OS. 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 Chrome.

Para ver ejemplos del SDK de VC, consulte VC SDK examples.

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 OS. Consulte la página de descargas de Citrix para ver más información.
  2. Para agregar la aplicación Chrome de terceros a una lista de permitidos, agregue el archivo de directiva de la aplicación Citrix Workspace para Chrome OS. 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. El archivo policy.txt de muestra para agregar la aplicación Chrome de terceros a una lista de permitidos es como el siguiente:

    {
          "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 Chrome OS. Obtenga el appid desde el sitio chrome://extensions.

  3. Siga estos pasos para iniciar la sesión de escritorio o de aplicación en la aplicación Citrix Workspace para Chrome OS:
  • 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 Chrome OS. Si usa una versión reempaquetada de la aplicación Citrix Workspace para Chrome OS, 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 Chrome OS.

     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

SDK y API