SDK et API
SDK HDX
L’application Citrix Workspace pour ChromeOS introduit une API (API expérimentale) qui permet aux applications Chrome tierces de verrouiller, déverrouiller et se déconnecter :
- Citrix Virtual Apps and Desktops
- d’une session Citrix DaaS (anciennement Citrix Virtual Apps and Desktops Service)
En utilisant cette API, vous pouvez lancer l’application Citrix Workspace pour ChromeOS à 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 relative au SDK, consultez HDX SDK for Citrix Workspace app for ChromeOS.
Pour obtenir des exemples de SDK HDX, consultez la page de téléchargement de Citrix.
Améliorations apportées aux API du SDK Chrome HDX
Auparavant, les applications externes intégrant le SDK HDX pour ChromeOS manquaient de visibilité sur les sessions démarrées par des méthodes autres que le SDK.
À compter de la version 2408, les nouvelles améliorations apportées au SDK Chrome HDX permettent d’identifier toutes les sessions actives, de déconnecter des sessions spécifiques, de déconnecter toutes les sessions actives et de déconnecter l’utilisateur de tous les magasins dans l’application Citrix Workspace (uniquement les magasins locaux).
Pour plus d’informations sur l’utilisation des API, consultez la section Énumérer les sessions.
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 ChromeOS. 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 relative au SDK de canal virtuel, consultez Citrix Virtual Channel SDK for Citrix Workspace app for ChromeOS.
Améliorations apportées au SDK du canal virtuel
À compter de la version 2305, l’application Citrix Workspace pour ChromeOS prend en charge les API de gestion des fenêtres dans le SDK du canal virtuel. Les API Web permettent aux administrateurs informatiques de créer des applications interactives et de les personnaliser pour leurs utilisateurs finaux.
Procédure à suivre pour consommer l’API dans l’application Chrome tierce
- Installez la dernière version de l’application Citrix Workspace pour ChromeOS. Consultez la page des téléchargements Citrix pour de plus amples informations.
-
Ajoutez l’application Chrome tierce sur la liste verte en ajoutant le fichier de stratégie de l’application Citrix Workspace pour ChromeOS. Utilisez les paramètres de gestion de Chrome pour ajouter la stratégie.
Pour de plus amples informations, consultez Gérer les applications Chrome par unité organisationnelle sur le Centre d’aide Google.
Pour ajouter l’application Chrome tierce à la liste autorisée, voici l’exemple de données JSON
policy.txt
:{ "settings": { "Value": { "settings_version": "1.0", "store_settings": { "externalApps": [“<3rdParty_App1_ExtnID>”,“<3rdParty_App2_ExtnID>”] } } } } <!--NeedCopy-->
Remarque
<3rdParty_App1_ExtnID>
est utilisé comme exemple pour le nom externalApps et peut envoyer des messages à l’application Citrix Workspace pour ChromeOS. Obtenez votre ID d’application (appid) sur le site chrome://extensions. - Lancez la session d’application ou de bureau dans Citrix Workspace pour ChromeOS comme suit :
-
Obtenir le workspaceappID
var workspaceappID = " haiffjcadagjlijoggckpgfnoeiflnem ";
Remarque
Dans cet exemple, workspaceappID indique la version du magasin de l’application Citrix Workspace pour ChromeOS. Si vous utilisez une version reconditionnée de l’application Citrix Workspace pour ChromeOS, 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 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-->
-
Envoyez un message ICA depuis l’application Chrome tierce à l’application Citrix Workspace pour 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-->
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
Prise en charge du fichier manifeste V3 pour les scénarios du SDK
À compter de la version 2305, l’application Citrix Workspace pour ChromeOS prend en charge le SDK HDX avec les extensions Chrome dotées de la version 3 du fichier manifeste.
Pour plus d’informations, accédez à la page Citrix Workspace app for ChromeOS HDX SDK dans la documentation du développeur.
Prise en charge du SDK de communications unifiées (UC)
Le SDK Citrix Unified Communications permet aux fournisseurs de communications unifiées, aux fournisseurs de centres de contact Cloud, aux fournisseurs de plate-forme de communication en tant que service (CPaaS) ou à tout fournisseur de communications basé sur WebRTC de s’intégrer de manière transparente aux applications de bureau électroniques ou basées sur un navigateur.
Pour en savoir plus, consultez l’article Unified Communications (UC) SDK, de la Tech Zone.
Redirection des API WebHID
Le SDK Unified Communications pour l’application Citrix Workspace pour ChromeOS implémente la redirection des API WebHID telles que définies dans Citrix-WebRTC, avec certaines limitations connues :
- Si plusieurs périphériques HID du même type existent, l’utilisateur ne peut pas sélectionner de périphérique spécifique à tester.
Remarque
Cette fonction est désactivée par défaut.
Comment configurer
Vous pouvez activer la fonctionnalité en utilisant :
- Stratégie d’administration Google
- Service Global App Configuration
Stratégie d’administration Google
Pour les appareils et les utilisateurs gérés, les administrateurs peuvent activer la fonctionnalité à l’aide de la stratégie d’administration Google comme suit :
- Connectez-vous à la stratégie d’administration Google.
- Accédez à Gestion des appareils > Gestion de Chrome > Paramètres utilisateur.
-
Ajoutez les chaînes JSON suivantes au fichier
policy.txt
sous la cléengine_settings
.Remarque
Vous pouvez également appliquer cette configuration aux éléments suivants :
- Appareil > Chrome > Applications et extensions > Utilisateurs et navigateurs > Rechercher l’extension > Stratégie pour les extensions.
- Appareil > Chrome > Applications et extensions > Kiosque > Rechercher l’extension > Stratégie pour les extensions.
- Device > Chrome > Applications et extensions > Sessions invité gérées > Rechercher l’extension > Stratégie pour les extensions.
-
Assurez-vous de définir l’attribut
webHID
surtrue
. Voici un exemple de données JSON :'features' : { 'msTeamsOptimization' : { 'webHID' : true } } <!--NeedCopy-->
-
Définissez l’attribut hidDeviceBlockList avec le format correct. Si vous souhaitez bloquer certains périphériques HID, voici un exemple de données JSON :
'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-->
- Enregistrez les modifications.
Service Global App Configuration
Les administrateurs peuvent activer la fonctionnalité en accédant à Configuration de l’espace de travail > Configuration de l’application > HDX et multimédia > MS Teams > Activer la redirection webHID et Liste de blocage des appareils HID. Sélectionnez la case à cocher et le bouton bascule correspondant pour activer la fonctionnalité.