SDK und API

HDX SDK

Die Citrix Workspace-App für Chrome bietet eine API (experimentelle API), die Chrome-Apps von Drittanbietern das Sperren, Entsperren und Trennen einer Citrix Virtual Apps and Desktops-Sitzung ermöglicht. Mit dieser API kann die Citrix Workspace-App für Chrome im eingebetteten Modus und im Kioskmodus gestartet werden. Im eingebetteten Modus gestartete Sitzungen funktionieren ähnlich wie im Kioskmodus gestartete Sitzungen.

Die SDK-Dokumentation finden Sie unter HDX SDK für die Citrix Workspace-App für Chrome.

Beispiele für das HDX SDK finden Sie auf der Citrix-Website unter Download.

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 bietet Unterstützung zum Schreiben neuer virtueller Kanäle für die Citrix Workspace-App für Chrome. 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 für die Citrix Workspace-App für Chrome.

Beispiele für das Virtual Channel SDK finden Sie auf der Citrix-Website unter Download.

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

  1. Installieren Sie die neueste Version der Citrix Workspace-App für Chrome. Weitere Informationen finden Sie auf der Seite Citrix Downloads.
  2. Setzen Sie die Chrome-App des Drittanbieters auf eine Positivliste, indem Sie die Richtliniendatei für die Citrix Workspace-App für Chrome über die Chrome-Verwaltungseinstellungen hinzufügen. Weitere Informationen finden Sie auf der Google-Supportsite unter Manage Chrome Apps by organizational unit. Unten sehen Sie die Beispieldatei policy.txt, mit der die Chrome-App eines Drittanbieters zur Positivliste hinzugefügt wird:

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

    Hinweis:

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

  3. Starten Sie die Anwendungs- oder Desktopsitzung in Citrix Workspace für Chrome, 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 Chrome. Wenn Sie eine neu verpackte Version der Citrix Workspace-App für Chrome 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.

//Hilfsfunktion zum Konvertieren von ICA-Datei im INI-Format in das JSON-Format ICA_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]; } // Erforderlich, weil LaunchReference auch ‘=’ enthält. Die Variable split(‘=’,2) umfasst nicht // die gesamte LaunchReference. Idealerweise sollte im Allgemeinen Code wie der folgende verwendet // werden, da der Wert auch andere Variablen mit ‘=’ umfassen kann. 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; }

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

Weitere Informationen über API-Befehle zum Senden von Nachrichten finden Sie unter den folgenden Links:

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

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