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 de :
- Citrix Applications et Bureaux Virtuels
- session Citrix DaaS (anciennement service Citrix Virtual Apps and Desktops)
À l’aide de cette API, vous pouvez lancer l’application Citrix Workspace pour ChromeOS en mode intégré et en mode kiosque. Les sessions lancées en mode intégré fonctionnent de manière similaire aux sessions lancées en mode kiosque.
Pour la documentation du SDK, consultez SDK HDX pour l’application Citrix Workspace pour ChromeOS.
Pour des exemples de SDK HDX, reportez-vous à la page de téléchargement de Citrix.
Améliorations des API du SDK HDX pour Chrome
Auparavant, les applications externes intégrant le SDK HDX pour ChromeOS n’avaient pas de visibilité sur les sessions démarrées par des méthodes autres que le SDK.
À partir de la version 2408, les nouvelles améliorations apportées au SDK HDX pour Chrome offrent la possibilité 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 de l’application Citrix Workspace™ (uniquement les magasins sur site).
Pour plus d’informations sur l’utilisation des API, consultez Énumérer les sessions.
SDK Citrix Virtual Channel
Le kit de développement logiciel (SDK) Citrix Virtual Channel vous permet d’écrire des applications côté serveur et des pilotes côté client pour des canaux virtuels supplémentaires à l’aide du protocole ICA®.
Les applications de canal virtuel côté serveur se trouvent sur les serveurs Citrix Virtual Apps ou Citrix Virtual Apps and Desktops. Cette version du SDK vous permet d’écrire 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 de canal virtuel fournit :
-
Une interface simple qui peut être utilisée avec les canaux virtuels du SDK API de serveur Citrix (WFAPI SDK) pour créer de nouveaux canaux virtuels.
-
Un code source fonctionnel pour plusieurs exemples de programmes de canaux virtuels qui démontrent des techniques de programmation.
-
Le SDK de canal virtuel nécessite le WFAPI SDK pour écrire le côté serveur du canal virtuel.
Pour la documentation du SDK VC, consultez Citrix Virtual Channel SDK for Citrix Workspace app for ChromeOS.
Problème connu dans la fonctionnalité
Lorsque vous utilisez ChromeOS version 146 ou ultérieure, les canaux virtuels personnalisés créés avec des versions antérieures du SDK de canal virtuel Citrix peuvent ne pas fonctionner comme prévu lorsque vous les utilisez avec une extension Chrome Manifest V3. Des problèmes de compatibilité entre Manifest V3 et le comportement de l’API d’extension Chrome sont à l’origine du problème. Nous vous recommandons de mettre à jour vers la dernière version VCSDK 2603 depuis la page de téléchargements Citrix pour une expérience fluide des canaux virtuels. [RFHTMCRM-17807]
Améliorations du SDK de canal virtuel
À partir de la version 2305, l’application Citrix Workspace pour ChromeOS prend en charge les API de gestion de fenêtre dans le SDK de 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 pour consommer l’API dans l’application Chrome tierce
- Installez la dernière version de l’application Citrix Workspace pour ChromeOS. Consultez la page Téléchargements Citrix pour plus de détails.
-
Ajoutez l’application Chrome tierce à la liste d’autorisation en ajoutant le fichier de stratégie pour l’application Citrix Workspace pour ChromeOS. Utilisez les paramètres de gestion de Chrome pour ajouter la stratégie.
Pour plus de détails, consultez Gérer les applications Chrome par unité organisationnelle sur le support Google.
Pour ajouter l’application Chrome tierce à la liste d’autorisation, voici un 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 des externalApps et peut envoyer des messages à l’application Citrix Workspace pour ChromeOS. Obtenez votre appid sur le site chrome://extensions. - Lancez l’application ou une session de bureau dans Citrix Workspace pour ChromeOS comme suit :
-
Obtenez le workspaceappID
var workspaceappID = " haiffjcadagjlijoggckpgfnoeiflnem ";;Remarque :
Dans cet exemple, workspaceappID indique la version du Store 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 :
Généralement, le fichier ICA est récupéré de StoreFront en tant que fichier INI. Utilisez la fonction d’assistance suivante pour convertir un fichier ICA INI en 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 de 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 plus de détails sur les commandes de l’API sendMesage, consultez les liens suivants :
https://developer.chrome.com/extensions/runtime#event-onMessageExternal
https://developer.chrome.com/extensions/runtime#method-sendMessage
Prise en charge de Manifest V3 pour les scénarios SDK
À partir de la version 2305, l’application Citrix Workspace pour ChromeOS prend en charge le SDK HDX avec les extensions Chrome ayant la version 3 du manifeste.
Pour plus d’informations, consultez Citrix Workspace app for ChromeOS HDX SDK dans la documentation des guides du développeur.
Prise en charge du SDK des 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 plateformes 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 basées sur Electron ou aux applications basées sur un navigateur.
Pour plus d’informations, consultez SDK des communications unifiées (UC), qui est un article de la zone technique.
Redirection des API WebHID
Le SDK des communications unifiées pour l’application Citrix Workspace pour ChromeOS implémente la redirection des API WebHID telle que définie dans Citrix-WebRTC, avec certaines limitations connues :
- S’il existe plusieurs périphériques HID du même type, l’utilisateur ne peut pas sélectionner un périphérique spécifique pour les tests.
Remarque :
Cette fonctionnalité est désactivée par défaut.
Comment configurer
Vous pouvez activer la fonctionnalité en utilisant :
- Stratégie d’administration Google
- Service de configuration globale des applications
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 politique d’administration Google.
- Accédez à Gestion des appareils > Gestion Chrome > Paramètres utilisateur.
-
Ajoutez les chaînes JSON suivantes au fichier
policy.txtsous 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 > Politique pour les extensions.
- Appareil > Chrome > Applications et extensions > Kiosques > Rechercher l’extension > Politique pour les extensions.
- Appareil > Chrome > Applications et extensions > Sessions invité gérées > Rechercher l’extension > Politique pour les extensions.
-
Assurez-vous de définir l’attribut
webHIDsurtrue. 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 de configuration globale des applications
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 périphériques HID. Cochez la case et le bouton bascule correspondant pour activer la fonctionnalité.