SDK et API

SDK HDX

L’application Citrix Workspace pour Chrome introduit une API (API expérimentale) qui permet aux applications Chrome tierces de verrouiller, déverrouiller et se déconnecter d’une session Citrix Virtual Apps and Desktops. En utilisant cette API, l’application Citrix Workspace pour Chrome peut être lancée à la fois en mode intégré et en mode Kiosque. Les sessions lancées en mode intégré fonctionnent de la même façon que les sessions lancées en mode kiosque.

Pour accéder à la documentation du SDK, reportez-vous à la section SDK HDX pour l’application Citrix Workspace pour Chrome.

Pour obtenir des exemples de SDK HDX, consultez la page Téléchargements de Citrix.

SDK du canal virtuel Citrix

Le SDK du canal virtuel Citrix prend en charge l’écriture de pilotes du côté serveur et du côté client afin de fournir des canaux virtuels supplémentaires à l’aide du protocole ICA. Les applications de canal virtuel côté serveur se trouvent sur des serveurs Citrix Virtual Apps ou Citrix Virtual Apps and Desktops. Cette version du SDK prend en charge l’écriture de nouveaux canaux virtuels pour l’application Citrix Workspace pour Chrome. Si vous souhaitez écrire des pilotes virtuels pour d’autres plates-formes clientes, contactez Citrix.

Le SDK du canal virtuel offre ce qui suit :

  • Une interface conviviale qui peut être utilisée avec les canaux virtuels du SDK de l’API Citrix Server (WFAPI SDK) pour créer de nouveaux canaux virtuels.

  • Un code source opérationnel pour plusieurs exemples de programmes de canal virtuel qui illustrent les techniques de programmation.

  • Le SDK de canal virtuel requiert le SDK WFAPI pour écrire sur le côté serveur du canal virtuel.

Pour accéder à la documentation du SDK VC, reportez-vous à la section SDK du canal virtuel Citrix pour l’application Citrix Workspace pour Chrome.

Pour obtenir des exemples de SDK VC, consultez la page Téléchargements de Citrix.

Procédure à suivre pour consommer l’API dans l’application Chrome tierce

  1. Installez la dernière version de l’application Citrix Workspace pour Chrome. Voir la page Téléchargements de Citrix pour plus de détails.
  2. Placez l’application Chrome tierce sur liste blanche en ajoutant le fichier de stratégie de l’application Citrix Workspace pour Chrome à l’aide des paramètres de gestion de Chrome. Pour plus de détails, reportez-vous à Manage Chrome Apps by organizational unit sur le support Google. L’exemple de fichier policy.txt à utiliser pour placer l’application Chrome tierce sur liste blanche se présente comme suit :

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

    Remarque :

    <3rdParty_App1_ExtnID> est utilisé à titre d’exemple pour le nom de externalApps et peut envoyer des messages à l’application Citrix Workspace pour Chrome. Obtenez votre ID d’application (appid) sur le site chrome://extensions.

  3. Lancez la session d’application ou de bureau dans Citrix Workspace pour Chrome en suivant les étapes ci-dessous :
  • Obtenir le workspaceappID

    var workspaceappID = “ haiffjcadagjlijoggckpgfnoeiflnem “;

    Remarque :

    Dans cet exemple, workspaceappID indique la version du magasin de l’application Citrix Workspace pour Chrome. Si vous utilisez une version reconditionnée de l’application Citrix Workspace pour Chrome, utilisez le workspaceappID approprié.

  • Convertissez les données ICA du format INI au format JSON.

    Remarque :

    Le fichier ICA est généralement récupéré depuis StoreFront en tant que fichier INI. Utilisez la fonction d’assistance suivante pour convertir un fichier ICA du format INI au format 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 will contain ‘=’ as well. Le split(‘=’,2) ci-dessus ne fournira pas // le jeton LaunchReference complet. Idéalement, une entrée similaire à ce qui suit devrait également être utilisée // car la valeur peut contenir d’autres variables avec le caractère ‘=’. 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; }

  • Envoyez un message ICA depuis l’application Chrome tierce à l’application Citrix Workspace pour 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);
     }
     });
    
    

Pour de plus amples informations sur les commandes API sendmessage, consultez les liens suivants :

https://developer.chrome.com/extensions/runtime#event-onMessageExternal

https://developer.chrome.com/extensions/runtime#method-sendMessage