SDK と API

最終公開日 : Nov 13, 2026

HDX™ SDK

Citrix Workspaceアプリ for ChromeOSは、サードパーティのChromeアプリが以下をロック、ロック解除、切断できるAPI(実験的API)を導入しています。
  • シトリックス バーチャルアプリおよびデスクトップ
  • Citrix DaaS(旧Citrix Virtual Apps and Desktopsサービス)セッション
このAPIを使用すると、Citrix Workspaceアプリ for ChromeOSを埋め込みモードとキオスクモードの両方で起動できます。埋め込みモードで起動されたセッションは、キオスクモードで起動されたセッションと同様に機能します。
SDKドキュメントについては、「HDX SDK for Citrix Workspace app for ChromeOS」を参照してください。
HDX SDKの例については、Citrixのダウンロードページを参照してください。

Chrome HDX SDK APIの機能強化

以前は、ChromeOS統合用のHDX SDKを使用する外部アプリでは、SDK以外の方法で開始されたセッションの可視性が不足していました。
バージョン2408以降、Chrome HDX SDKの新しい機能強化により、すべてのアクティブなセッションの識別、特定のセッションの切断、すべてのアクティブなセッションの切断、およびCitrix Workspace™アプリのすべてのストア(オンプレミスストアのみ)からのユーザーのログアウトが可能になりました。
APIの使用に関する詳細については、「セッションの列挙」を参照してください。

シトリックス バーチャルチャネル SDK

Citrix Virtual Channel Software Development Kit(SDK)は、ICA®プロトコルを使用して追加の仮想チャネル用のサーバー側アプリケーションとクライアント側ドライバーを作成するのに役立ちます。
サーバー側の仮想チャネルアプリケーションは、Citrix Virtual AppsまたはCitrix Virtual Apps and Desktopsサーバー上にあります。このバージョンのSDKは、Citrix Workspaceアプリ for ChromeOS用の新しい仮想チャネルを作成するのに役立ちます。他のクライアントプラットフォーム用の仮想ドライバーを作成する場合は、Citrixにお問い合わせください。
Virtual Channel SDK は以下を提供します:
  • Citrix Server API SDK (WFAPI SDK) の仮想チャネルと組み合わせて新しい仮想チャネルを作成できる簡単なインターフェイス。
  • プログラミング手法を示すいくつかの仮想チャネルサンプルプログラムの動作するソースコード。
  • Virtual Channel SDK は、仮想チャネルのサーバー側を記述するために WFAPI SDK を必要とします。
VC SDK のドキュメントについては、Citrix Workspace app for ChromeOS 向け Citrix Virtual Channel SDK を参照してください。

機能の既知の問題

ChromeOS バージョン 146 以降を使用する場合、以前の Citrix Virtual Channel SDK バージョンで構築されたカスタム仮想チャネルは、Manifest V3 Chrome 拡張機能と組み合わせて使用すると、期待どおりに機能しない可能性があります。Manifest V3 と Chrome 拡張機能 API の動作間の互換性の問題が原因です。スムーズな仮想チャネルエクスペリエンスのために、Citrix ダウンロードページから最新の VCSDK 2603 バージョン に更新することをお勧めします。

Virtual Channel SDK の機能強化

2305 リリース以降、Citrix Workspace app for ChromeOS は Virtual Channel SDK で Window Management API をサポートしています。Web API を使用すると、IT 管理者はインタラクティブなアプリケーションを作成し、エンドユーザー向けにカスタマイズできます。

サードパーティ製 Chrome アプリで API を利用する手順

  1. Citrix Workspace app for ChromeOS の最新バージョンをインストールします。詳細については、Citrix ダウンロード ページを参照してください。
  2. Citrix Workspace app for ChromeOS のポリシーファイルを追加して、サードパーティ製 Chrome アプリを許可リストに追加します。Chrome 管理設定を使用してポリシーを追加します。
    詳細については、Google サポートの 組織単位で Chrome アプリを管理する を参照してください。
    サードパーティ製 Chrome アプリを許可リストに追加するには、サンプル policy.txt JSON データは次のとおりです。
    {
          "settings": {
                 "Value": {
                 "settings_version": "1.0",
                 "store_settings": {
                 "externalApps": [“<3rdParty_App1_ExtnID>”,“<3rdParty_App2_ExtnID>”]
                                   }
                           }
                    }
    }
    注:
    <3rdParty_App1_ExtnID> は externalApps の名前の例として使用され、Citrix Workspace app for ChromeOS にメッセージを送信できます。appid は chrome://extensions サイトから取得してください。
  3. Citrix Workspace for ChromeOS でアプリケーションまたはデスクトップセッションを起動するには、次のようにします。
  • workspaceappID を取得します
    var workspaceappID = " haiffjcadagjlijoggckpgfnoeiflnem ";;
    注:
    この例では、workspaceappID は Citrix Workspace app for ChromeOS のストアバージョンを示します。Citrix Workspace app for ChromeOS の再パッケージ版を使用している場合は、適切な workspaceappID を使用してください。
  • ICA データを INI から JSON 形式に変換します。
    注:
    通常、ICA ファイルは StoreFront から INI ファイルとして取得されます。ICA INI ファイルを 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;
    }
  • サードパーティの Chrome アプリから Citrix Workspace app for ChromeOS に ICA メッセージを送信します。
    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);
    }
    });
sendMesage API コマンドの詳細については、次のリンクを参照してください。
<https://developer.chrome.com/extensions/runtime#event-onMessageExternal>
<https://developer.chrome.com/extensions/runtime#method-sendMessage>

SDK シナリオでの Manifest V3 のサポート

2305 リリース以降、Citrix Workspace app for ChromeOS は、マニフェストバージョン 3 を持つ Chrome 拡張機能で HDX SDK をサポートします。
詳細については、開発者ガイドのドキュメントにあるCitrix Workspace app for ChromeOS HDX SDKを参照してください。

ユニファイドコミュニケーション (UC) SDK のサポート

Citrix Unified Communications SDKを使用すると、Unified Communicationsベンダー、クラウドコンタクトセンタープロバイダー、Communications Platform as a Service (CPaaS) プロバイダー、またはWebRTCベースの通信ベンダーは、Electronベースのデスクトップアプリケーションまたはブラウザーベースのアプリケーションとシームレスに統合できます。
詳細については、Tech Zoneの記事であるUnified Communications (UC) SDKを参照してください。

WebHID API のリダイレクト

Citrix Workspace app for ChromeOS向けUnified Communications SDKは、Citrix-WebRTCで定義されているWebHID APIのリダイレクトを実装していますが、いくつかの既知の制限があります。
  • 同じ種類の HID デバイスが複数存在する場合、ユーザーはテストのために特定のデバイスを選択できません。
注:
この機能はデフォルトで無効になっています。

構成方法

次の方法でこの機能を有効にできます。
  • Google管理ポリシー
  • グローバルアプリ構成サービス

Google 管理ポリシー

管理対象デバイスとユーザーの場合、管理者はGoogle管理ポリシーを使用して次のように機能を有効にできます。
  1. Google 管理ポリシーにサインインします。
  2. デバイス管理 > Chrome 管理 > ユーザー設定 に移動します。
  3. 次の JSON 文字列を、engine_settings キーの下にある policy.txt ファイルに追加します。
    注:
    この構成は、以下にも適用できます。
    • デバイス > Chrome > アプリと拡張機能 > ユーザーとブラウザ > 拡張機能を検索 > 拡張機能のポリシー。
    \> - デバイス > Chrome > アプリと拡張機能 > キオスク > 拡張機能を検索 > 拡張機能のポリシー。
    • デバイス > Chrome > アプリと拡張機能 > 管理対象ゲストセッション > 拡張機能を検索 > 拡張機能のポリシー。
  4. 属性 webHID を true に設定していることを確認してください。以下は JSON データの例です。
    'features' : {
        'msTeamsOptimization' : {
            'webHID' : true
            }
            }
  5. 属性 hidDeviceBlockList を正しい形式で設定します。一部の HID デバイスをブロックしたい場合は、以下は 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' : []
        }
    }
  6. 変更を保存します。

グローバルアプリ構成サービス

管理者は、ワークスペース構成 > アプリ構成 > HDXとマルチメディア > MS Teams > webHIDリダイレクトを有効にする および HIDデバイスブロックリスト に移動して、この機能を有効にできます。チェックボックスとそれぞれのトグルボタンを選択して、機能を有効にします。