SDK und API

HDX SDK

Die Citrix Workspace-App für ChromeOS bietet eine API (experimentelle API). Sie ermöglicht Chrome-Apps von Drittanbietern das Sperren, Entsperren und Trennen von Sitzungen von:

  • Citrix Virtual Apps and Desktops
  • Citrix DaaS (früher Citrix Virtual Apps and Desktops Service)

Mit dieser API können Sie die Citrix Workspace-App für ChromeOS im eingebetteten Modus und im Kioskmodus starten. Im eingebetteten Modus gestartete Sitzungen funktionieren ähnlich wie im Kioskmodus gestartete Sitzungen.

Die Dokumentation zum SDK finden Sie unter HDX SDK for Citrix Workspace app for ChromeOS.

Beispiele für das HDX SDK finden Sie auf der Citrix-Downloadseite.

Verbesserungen der Chrome HDX SDK-APIs

Bisher hatten externe Apps mit der HDX SDK für ChromeOS-Integration keinen Einblick in Sitzungen, die mit anderen Methoden als dem SDK gestartet wurden.

Ab der Version 2408 bieten die neuen Verbesserungen am Chrome HDX SDK die Möglichkeit, alle aktiven Sitzungen zu identifizieren, bestimmte Sitzungen zu trennen, alle aktiven Sitzungen zu trennen und den Benutzer von allen Stores in der Citrix Workspace-App abzumelden (nur On-Premises Stores).

Weitere Informationen zur Verwendung von APIs finden Sie unter Aufzählen von Sitzungen.

Citrix Virtual Channel SDK

Das Citrix Virtual Channel Software Development Kit (SDK) bietet Unterstützung für das Schreiben von serverseitigen Anwendungen und clientseitigen Treibern für zusätzliche virtuelle Kanäle, die das ICA-Protokoll verwenden.

Die serverseitigen virtuellen Kanalanwendungen sind auf Citrix Virtual Apps- oder Citrix Virtual Apps and Desktops-Servern. Diese Version des SDK unterstützt Sie beim Schreiben neuer virtueller Kanäle für die Citrix Workspace-App für ChromeOS. Wenn Sie virtuelle Treiber für andere Clientplattformen schreiben möchten, wenden Sie sich an Citrix.

Das Virtual Channel SDK bietet Folgendes:

  • Eine einfache Benutzeroberfläche, die mit den virtuellen Kanälen im Citrix Server API SDK (WFAPI-SDK) verwendet werden kann, um neue virtuelle Kanäle zu erstellen.

  • Funktionierender Quellcode für mehrere Beispielprogramme für virtuelle Kanäle, die Programmiermethoden demonstrieren.

  • Das Virtual Channel SDK erfordert, dass das WFAPI SDK die serverseitige Komponente des virtuellen Kanals schreibt.

Die Dokumentation zum Virtual Channel SDK finden Sie unter Citrix Virtual Channel SDK for Citrix Workspace app for ChromeOS.

Verbesserungen des Virtual Channel SDK

Ab Version 2305 unterstützt die Citrix Workspace-App für ChromeOS Fensterverwaltungs-APIs im Virtual Channel SDK. Web-APIs ermöglichen es IT-Administratoren, interaktive Anwendungen zu erstellen und sie für ihre Endbenutzer anzupassen.

Verfahren zum Verwenden der API in der Chrome-App eines Drittanbieters

  1. Installieren Sie die neueste Version der Citrix Workspace-App für ChromeOS. Weitere Informationen finden Sie auf der Downloadseite von Citrix.
  2. Setzen Sie die Chrome-App des Drittanbieters auf die Positivliste, indem Sie die Richtliniendatei für die Citrix Workspace-App für ChromeOS hinzufügen. Verwenden Sie die Chrome-Verwaltungseinstellungen zum Hinzufügen der Richtlinie.

    Weitere Informationen finden Sie unter Manage Chrome Apps by organizational unit auf der Google-Supportseite.

    Hier sind die policy.txt JSON-Beispieldaten, um die Chrome-App eines Drittanbieters zur Positivliste hinzuzufügen:

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

    Hinweis:

    <3rdParty_App1_ExtnID> ist ein Platzhalter für den Namen von externen Apps und kann Nachrichten an die Citrix Workspace-App für ChromeOS senden. Rufen Sie Ihre appid von der Site chrome://extensions ab.

  3. Starten Sie die Anwendungs- oder Desktopsitzung in Citrix Workspace für ChromeOS, indem Sie die folgenden Schritte ausführen:
  • Rufen Sie die workspaceappID ab

    var workspaceappID = " haiffjcadagjlijoggckpgfnoeiflnem ";

    Hinweis:

    In diesem Beispiel steht workspaceappID für die Storeversion der Citrix Workspace-App für ChromeOS. Wenn Sie eine neu verpackte Version der Citrix Workspace-App für ChromeOS verwenden, verwenden Sie die entsprechende workspaceappID.

  • Konvertieren Sie die ICA-Daten vom INI-Format in das JSON-Format.

    Hinweis:

    Normalerweise wird die ICA-Datei aus StoreFront als INI-Datei abgerufen. Verwenden Sie die folgende Hilfsfunktion, um eine ICA-Datei im INI-Format in das JSON-Format zu konvertieren.

     //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-->
    
  • Senden Sie eine ICA-Nachricht von der Chrome-App des Drittanbieters an die Citrix Workspace-App für 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-->
    

Weitere Informationen über Befehle der sendMessage-API finden Sie unter den folgenden Links:

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

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

Manifest V3-Unterstützung für SDK-Szenarien

Ab Release 2305 unterstützt die Citrix Workspace-App für ChromeOS das HDX-SDK mit Chrome-Erweiterungen mit Manifestversion 3.

Weitere Informationen finden Sie unter Citrix Workspace app for ChromeOS HDX SDK in der Dokumentation für Entwickler.

SDK und API