すべてのプロダクト
Search
ドキュメントセンター

Cloud Phone:Web SDK

最終更新日:Jun 22, 2026

Alibaba Cloud Workspace Web SDK は、Elastic Desktop Service (EDS) のクラウドコンピューター、クラウドアプリケーション、クラウドフォンに接続するために使用できる Web クライアント用のオープン API を提供します。Web SDK を統合することで、必要に応じて Web クライアントを迅速にカスタマイズおよび構築できます。

クイックスタート

SDK とデモのダウンロード

このプラットフォーム上のすべてのドキュメント、SDK、およびクライアントプログラムは、個人または企業での使用のみを目的としています。Alibaba Cloud の同意なしに第三者に配布しないでください。

SDK パッケージには 3 つのファイルが含まれています:

├── WuyingWebDemo.html  // サンプルページ
├── WuyingWebSDK.js     // SDK API ファイル — フロントエンドページでこれを参照します
└── sdk/
     └── ASP/
          └── container.html  // iframe 埋め込みリソース

デモの実行

Vue プロジェクト (Web.SDK.Demo)

  1. Node.js がインストールされていることを確認します:

    node

    Welcome to Node.js が表示された場合、Node.js はインストールされています。そうでない場合は、続行する前に Node.js をインストールしてください。

  2. プロジェクトのルートに移動します:

    cd <ProjectRootPath>
  3. 依存関係をインストールします:

    npm i
  4. プロジェクトを開始します:

    npm run dev

    プロジェクトが開始されると、コマンドはアクセス可能な URL を返します。

静的 HTML デモ (WuyingWebDemo.html)

  1. HTML ファイルを含むディレクトリに移動します:

    cd <HTMLPath>
  2. ローカル HTTP サーバーを起動します:

    python3 -m http.server
  3. ブラウザで http://localhost:8000/WuyingWebDemo.html を開きます。

統合フロー

image

統合は 4 つのステップで行われます:

  1. 接続認証情報の取得 — 適切な API を呼び出して、チケット、authCode、または loginToken を取得します。下記の認証方式をご参照ください。

  2. セッションの初期化 — 認証情報とインスタンスパラメーターを指定して Wuying.WebSDK.createSession() を呼び出します。

  3. 接続の開始session.start() を呼び出して、クラウドフォンへの接続を確立します。

  4. イベントの処理session.addHandle() を介してコールバックを登録し、接続、切断、およびランタイムイベントに応答します。

認証方式

2 つの認証方式が利用可能です。使用する方式によって、userInfo で渡す認証情報が決まります。

方式認証情報取得方法
権限付与なしのログイン (独自のユーザーシステム)authCodeGetAuthCode
簡便アカウントでのログイン (Alibaba Cloud Workspace ユーザーシステム)loginTokenGetLoginToken
直接チケット (SDK v1.4.7 以降)ticket上記のいずれかの方法で取得し、直接渡します

以下のフローチャートは、完全なチケット取得フローを示しています:

image

完全な統合のウォークスルーについては、「クラウドフォン統合のベストプラクティス」をご参照ください:

image

ライフサイクル API

セッションの初期化と作成

Wuying.WebSDK.createSession(id, sessionParams) を呼び出してセッションオブジェクトを作成します。

パラメーター必須説明
idstringはい定数です。クラウドフォンの場合は常に 'appstream' を渡します。
sessionParamsSessionParamはいセッション構成です。SessionParam をご参照ください。

以下の例は、3 つすべての認証方式を示しています。すべての例で、クラウドフォンに必要な connectType: 'app'osType: 'Android' を使用しています。

チケットの使用 (SDK v1.4.7 以降、直接接続に推奨):

var userInfo = {
  ticket: 'xxx',
};
var appInfo = {
  osType: 'Android',           // 必須
  appId: 'android',
  appInstanceId: 'ai-xxxxxx',  // インスタンス ID、ai- で始まります
  productType: 'AndroidCloud',
  connectionProperties: JSON.stringify({ authMode: 'Session' }),
};
var sessionParam = {
  openType: openType,
  iframeId: 'sessionIframe',
  resourceType: 'local',
  connectType: 'app',
  userInfo: userInfo,
  appInfo: appInfo,
};
var wuyingSdk = Wuying.WebSDK;
session = wuyingSdk.createSession('appstream', sessionParam);

authCode の使用 (権限付与なしのログイン):

var userInfo = {
  sessionId: sessionId,
  authCode: authCode,
};
var appInfo = {
  osType: 'Android',           // 必須
  appId: 'android',
  resourceId: 'p-xxxxxx',      // PersistentAppInstanceId、p- で始まります
  productType: 'AndroidCloud',
  connectionProperties: JSON.stringify({ authMode: 'Session' }),
};
var sessionParam = {
  openType: openType,
  iframeId: 'sessionIframe',
  resourceType: 'local',
  connectType: 'app',
  userInfo: userInfo,
  appInfo: appInfo,
};
var wuyingSdk = Wuying.WebSDK;
session = wuyingSdk.createSession('appstream', sessionParam);

loginToken の使用 (簡便アカウントでのログイン):

var userInfo = {
  sessionId: sessionId,
  loginToken: loginToken,
};
var appInfo = {
  osType: 'Android',           // 必須
  appId: 'android',
  resourceId: 'p-xxxxxx',      // PersistentAppInstanceId、p- で始まります
  productType: 'AndroidCloud',
  connectionProperties: JSON.stringify({ authMode: 'Session' }),
};
var sessionParam = {
  openType: openType,
  iframeId: 'sessionIframe',
  resourceType: 'local',
  connectType: 'app',
  userInfo: userInfo,
  appInfo: appInfo,
};
var wuyingSdk = Wuying.WebSDK;
session = wuyingSdk.createSession('appstream', sessionParam);

接続の開始

session.start();

接続の停止

session.stop();

イベントコールバックの登録

session.addHandle(name, callback) を使用してセッションイベントをリッスンします。

パラメーター説明
namestringイベントタイプです。SessionEventType をご参照ください。
callbackFunctionイベントが発生したときに呼び出されるハンドラー関数です。
// SDK が接続チケットを取得しているときに発生します
session.addHandle('getConnectionTicketInfo', (data) => {
  console.log(data);
});

// 接続が確立されたときに発生します
// このコールバックの後、UI コントロールを有効にし、setUiParams()、setInputEnabled()、setClipboardEnabled() などの接続後 API を呼び出します
session.addHandle('onConnected', (data) => {
  console.log('connected', data);
});

// 接続が切断されたときに発生します
// data.code を確認して原因を特定します:
//   0    — 切断されました (ASP_CLIENT_DISCONNECT_CONNECT_ERROR)
//   1    — ソケットが閉じられました (ASP_CLIENT_DISCONNECT_SOCKET_CLOSE)
//   2    — WebRTC が閉じられました (ASP_CLIENT_DISCONNECT_WEBRTC_CLOSE)
//   25   — チケットの検証に失敗しました (同じチケットで再接続しようとした場合にも発生します)
//   2001 — クラウドアプリケーションが閉じられました (ASP_CLIENT_DISCONNECT_CLOUD_APP_STOP)
//   2002 — クラウドフォンが横取りされました (ASP_CLIENT_DISCONNECT_CLIENT_PREEMPTION)
//   2003 — ゲストが再起動しました (ASP_CLIENT_DISCONNECT_GUEST_SHUTDOWN_REBOOT)
//   2004 — 現在のユーザーが切断されました
//   2027 — ストリームフェッチングモードが切り替わりました
//   2200 — RTT タイムアウト (ASP_CLIENT_RTT_TIMEOUT)
//   2201 — ネットワーク I/O エラー (ASP_CLIENT_NET_ERROR_IO)
//   2202 — チケットの更新に失敗しました (ASP_CLIENT_UPDATE_TICKET_FAILED)
session.addHandle('onDisConnected', (data) => {
  console.log('disconnect', data);
});

// クラウドフォンが SDK にメッセージを送信したときに発生します
session.addHandle('onRuntimeMsg', (data) => {
  document.getElementById('GuestMsgContext').value = JSON.stringify(data);
});

// 接続プロセスでエラーが発生したときに発生します
// データ形式:{ code: string, message: string, api: string }
// message には requestId が含まれ、api は失敗したリクエストを識別します
// エラーコードの意味と解決手順については、エラーリファレンスをご参照ください
session.addHandle('onError', (data) => {
  console.log('error', data);
});

ビジネス API

API説明
WebSDK.apiVersion現在の SDK バージョンを文字列として返します。
setInputEnabled(param: boolean) enableInput(param: boolean)入力操作を有効または無効にします。入力操作を無効にすると、クラウドフォンはローカルのキーボード、マウス、またはタッチパッドからの入力イベントに応答しなくなります。enableInputsetInputEnabled は同じ機能を持っています。setInputEnabled の使用を推奨します。
enableKeyBoard(param: boolean)モバイルクライアントでスクリーンキーボードを表示または非表示にします。
setClipboardEnabled(param: boolean)クリップボード制御を有効にするかどうかを指定します。
setMicrophoneEnabled(param: boolean)クラウドフォンでのマイクアクセスを有効または無効にします。
setTouchEnabled(param: boolean)タッチ入力を有効または無効にします。
setUiParams(param: UiConfig)セッションが確立された後、UI 設定を更新します。UiConfig をご参照ください。
dataChannelクライアントとクラウドフォンの間で任意のデータを送受信するためのカスタムデータトンネルです。
lyncChannelクラウドフォンに ADB (Android Debug Bridge) コマンドを送信するためのチャンネルです。

UI パラメーターの設定

var uiConfig = {
  toolbar: {
    visible: false,
  },
  rotateDegree: 90,  // 横向きモードを強制
};
session.setUiParams(uiConfig);

データチャンネルの使用

セッション作成時に sessionParamdataChannelConfig を構成します:

dataChannelConfig: [{
  dataChannelName: 'wy_vdagent_default_dc',
}]

その後、メッセージをリッスンして送信します:

// 受信メッセージをリッスン
// 回転メッセージのフォーマット:{"action":"rotation","value":"0"}
// value:0 = 0 度、1 = 90 度、2 = 180 度、3 = 270 度
session.addDataChannelListener(
  'wy_vdagent_default_dc',
  'data',
  data => console.log('data from wy_vdagent_default_dc', data)
);

// メッセージを送信 (チャンネル名、メッセージ本文)
session.sendDataChannelMessage('wy_vdagent_default_dc', new Uint8Array([1, 2, 3, 4]));

ADB チャンネルの使用

セッション作成時に sessionParamlyncChannelConfig を構成します:

lyncChannelConfig: [{
  lyncChannelName: 'lync_adb_shell',
}]

その後、コマンドを送信し、結果をリッスンします:

// ADB コマンドを送信
session.value.sendLyncMessage(
  'lync_adb_shell',
  JSON.stringify({
    id: Date.now(),            // 一意のコマンド識別子
    cmd: OperationMap[type],
  }),
);

// コマンドの結果をリッスン
session.addLyncListener(
  'lync_adb_shell',
  'onReceivedLyncData',
  data => console.log('data from lync_adb_shell', data)
);

パラメーターリファレンス

SessionParam

createSession() のパラメーターです。

パラメーター必須デフォルト説明
openTypeOpenTypeはいセッションを埋め込み iframe で開くか、新しいタブで開くか。OpenType をご参照ください。
iframeIdstringいいえターゲット iframe 要素の ID です。openTypeinline の場合に必須です。
sdkPathstringいいえ./ASP/container.htmlSDK コンテナファイルへのパスです。
resourceTypeResourceTypeはいクラウドフォン統合の場合は local に設定します。ResourceType をご参照ください。
connectTypeConnectTypeはいクラウドフォンの場合は app に設定します。ConnectType をご参照ください。
isOverseasbooleanいいえfalseクライアントが中国本土以外からアクセスしている場合は true に設定します。
userInfoUserInfoはいユーザーの認証情報です。UserInfo をご参照ください。
regionIdstringはいクラウドフォンが配置されているリージョンです。クラウドフォンでは必須です。
appInfoAppInfoいいえクラウドフォンインスタンスの構成です。AppInfo をご参照ください。
fileInfoFileInfoいいえクラウドドライブの構成です。
uiConfigUiConfigいいえUI 表示設定です。UiConfig をご参照ください。
logDisabledbooleanいいえfalseARMS テレメトリを無効にするには true に設定します。
loginTypeLoginTypeいいえnormalLoginログイン方法です。LoginType をご参照ください。
networkAccessTypestringいいえデフォルトのアクセスには空白のままにします。VPC ログインを有効にするには設定します。

UserInfo

authCodeticket、または loginToken のいずれか 1 つを渡します。複数渡さないでください。

パラメーター説明
authCodestringGetAuthCode権限付与なしのログイン用の 1 回限りの認証情報です。最優先されます。 を呼び出してこの値を取得します。
ticketstring直接接続用の認証情報 (SDK v1.4.7 以降) です。authCodeloginToken の両方の最終形態です。
loginTokenstring簡便アカウントのログインに使用する資格情報です。この値を取得するには、GetLoginToken を呼び出します。
sessionIdstringGetLoginToken または GetStsToken によって返されるセッション ID です。authCode または loginToken を使用する場合に必須です。

AppInfo

クラウドフォンインスタンスの構成です。

パラメーター必須説明
osTypestringはい常に 'Android' です。
appIdstringはいPersistentAppInstanceId です。例:p-0caoet4e18cui****
appVersionstringいいえ起動するアプリケーションのバージョンです。
loginRegionIdstringはいクラウドフォンリソースが配置されているリージョンです。
connConfigConnConfigいいえ接続構成です。ConnConfig をご参照ください。
appInstanceGroupIdstringいいえ配信グループ ID です。
appInstanceIdstringいいえインスタンス ID です。チケットを使用する場合に必須です。例:ai-0cc7s3n1iagyq****
taskIdstringいいえアプリケーション起動タスク ID です。
bizRegionIdstringいいえアプリケーションリソースが配置されているリージョンです。
productTypestringいいえ配信グループタイプです。デフォルト:'AndroidCloud'

`resourceId` / `appId` の取得:

  • 簡易アカウントでのログイン: クライアントから DescribeUserResources を呼び出して、ResourceId を取得します。

  • 権限付与なしでログオン: サーバーから DescribeAndroidInstances を呼び出して、PersistentAppInstanceId を取得します。

UiConfig

接続ページの UI 設定です。

パラメーター必須デフォルト説明
toolbarToolBarConfigいいえツールバーの表示設定です。ToolBarConfig をご参照ください。
exitCheckbooleanいいえtrueページを閉じるときに確認ダイアログを表示するかどうか。
rotateDegreenumberいいえ0横向きモードを強制します。0 = 通常、90 = 横向き。
vconsoleVisiablebooleanいいえvconsole デバッグパネルを表示するかどうか。
debugPanelVisiablebooleanいいえビットストリーム、フレームレート、ネットワークのデバッグパネルを表示するかどうか。
reconnectTypeReconnectTypeいいえ再接続プロンプトのスタイルです。ReconnectType をご参照ください。
defaultResolutionResolutionTypeいいえ'A'最初の接続時のデフォルト解像度です。ResolutionType をご参照ください。
languageLanguageいいえzh-CNセッション中のポップアップメッセージの言語です。Language をご参照ください。
allowErrorDialogbooleanいいえセッションでエラーダイアログを表示するかどうか。
backgroundColorstringいいえ読み込み中に表示されるカスタム背景色です。
backgroundImgstringいいえ読み込み中に表示されるカスタム背景画像です。

ToolBarConfig

パラメーター必須説明
visiblebooleanいいえツールバーを表示するかどうかを指定します。
noMenubooleanいいえDesktopAssistant がコンテキストメニューの表示をサポートするかどうかを指定します。デフォルト値:false。この機能はバージョン 1.4.20 以降でサポートされています。

ConnConfig

パラメーター必須デフォルト説明
decodeTypeConnDecodeTypeいいえビデオストリームのデコード方式です。ConnDecodeType をご参照ください。
playSoundBackgroundbooleanいいえブラウザのタブがバックグラウンドになった後もオーディオを再生し続けるかどうか。

列挙型

OpenType

説明
newTabセッションを新しいブラウザタブで開きます。
inlineセッションを現在のページの iframe に埋め込みます。
urlSchemeインストールされている Alibaba Cloud Workspace ネイティブクライアント (v6.2 以降) を使用して開きます。

ConnectType

説明
appクラウドフォンです。クラウドフォンセッションには常にこの値を使用します。
desktopクラウドコンピューターです。

ResourceType

説明
localローカルの接続ページを開きます。クラウドフォン統合には常にこの値を使用します。

ReconnectType

説明
simpleシンプルなローディングスピナーです。
normalカウントダウンダイアログです。

ResolutionType

説明
A速度優先です。現在のウィンドウサイズに一致します。
B品質優先です。現在のウィンドウサイズに window.devicePixelRatio を掛けた値に一致します。

ChargeType

説明最小 SDK バージョン
PostPaid従量課金1.4.0
PrePaidサブスクリプション1.4.0

Language

説明
zh-CN簡体字中国語 (デフォルト)
en-US英語
ja-JP日本語

LoginType

説明
aliyunLoginAlibaba Cloud アカウントでのログインです。
normalLoginAlibaba Cloud Workspace 簡便アカウントでのログインです。クラウドフォンは normalLogin のみをサポートします。

SessionEventType

説明最小 SDK バージョン
getConnectionTicketInfoSDK が接続チケットを取得しているときに発生します。1.0.0
onConnectedクラウドフォンへの接続が確立されたときに発生します。1.0.0
onDisConnected接続が切断されたときに発生します。切断理由については data.code を確認してください。1.0.0
onRuntimeMsgクラウドフォンのランタイムが SDK にメッセージを送信したときに発生します。1.1.0
networkDataリアルタイムのネットワークパフォーマンスメトリクスを提供します。1.3.1
onError接続プロセス中にエラーが発生したときに発生します。data のフォーマット:{ code, message, api }1.4.1

ConnDecodeType

説明最小 SDK バージョン
0ソフトウェアデコード1.2.0
1ハードウェアデコード1.2.0
2WebRTC1.2.0

プロトコルタイプ

説明最小 SDK バージョン
ASPAlibaba Cloud ASP プロトコルです。クラウドフォンは ASP のみをサポートします。1.3.0
HDXCitrix HDX プロトコルです。1.3.0

エラーリファレンス

切断エラー (onDisConnected)

onDisConnected コールバックは data オブジェクトを受け取ります。data.code を以下の表と照合してください。

コード名前説明
0ASP_CLIENT_DISCONNECT_CONNECT_ERROR切断されました。
1ASP_CLIENT_DISCONNECT_SOCKET_CLOSEソケットが閉じられました。
2ASP_CLIENT_DISCONNECT_WEBRTC_CLOSEWebRTC が閉じられました。
25チケットの検証に失敗しました。ユーザーが切断された後、同じチケットを使用して再度接続をリクエストした場合にも、このエラーがトリガーされます。
2001ASP_CLIENT_DISCONNECT_CLOUD_APP_STOPクラウドアプリケーションが閉じられました。
2002ASP_CLIENT_DISCONNECT_CLIENT_PREEMPTIONクラウドフォンが別の接続によって横取りされました。
2003ASP_CLIENT_DISCONNECT_GUEST_SHUTDOWN_REBOOTゲストが再起動しました。
2004現在のユーザーが切断されました。
2027ストリームフェッチングモードが切り替わりました。
2200ASP_CLIENT_RTT_TIMEOUTRTT (ラウンドトリップタイム) タイムアウトです。
2201ASP_CLIENT_NET_ERROR_IOネットワーク I/O エラーです。
2202ASP_CLIENT_UPDATE_TICKET_FAILEDチケットの更新に失敗しました。

接続エラー (onError)

onError コールバックは { code: string, message: string, api: string } を受け取ります。message フィールドには requestId が含まれます。api フィールドは失敗したリクエストを識別します。

エラーコード説明
AccountNotAvailableドメインアカウントがロック、無効化、または期限切れです。IT 管理者またはドメインコントローラー管理者に連絡してください。
ClientLockedForAliasFailed不正なログイン試行の最大回数に達しました。5 分後にもう一度お試しください。
content-monthpackageenterpostpaidphaseこのクラウドフォンの月額サブスクリプションは使い果たされました。以降の使用は従量課金制で請求されます。
content-recordingscreen画面録画は IT 管理者によって有効にされています。すべての操作が録画されます。
desktop-AgentUnbinding以前の一時的なクラウドフォンがまだ関連付け解除中のため、新しい一時的なクラウドフォンへの接続に失敗しました。後でもう一度お試しください。
desktop-AssignUserFailedクラウドフォンの割り当てに失敗しました。後でもう一度お試しください。
desktop-ConnectTicket.Timeout接続がタイムアウトしました。クラウドフォンを再起動して、もう一度お試しください。
desktop-DesktopAgentFileLoseコアプロセスファイルが見つかりません。クラウドフォンを再起動して、もう一度お試しください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-DesktopContainSecuritySoftwareセキュリティソフトウェアがクラウド環境のネットワークを妨害しています。IT 管理者に連絡してセキュリティソフトウェアを終了させてから、もう一度お試しください。
desktop-DesktopContainVpnVPN ソフトウェアがクラウド環境のネットワークを妨害しています。クラウドフォンを再起動してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-DesktopGuestStopクラウドフォンが実行中状態ではありません。
desktop-DesktopNetworkAnomalyクラウドフォンのネットワークが異常です。クラウドフォンを再起動してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-DesktopNetworkErrorクラウドフォンのネットワークが異常です。クラウドフォンを再起動してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-DesktopResourceStatusInvalidECS (Elastic Compute Service) インスタンスが実行されていません。クラウドフォンを再起動して、もう一度お試しください。
desktop-DesktopResourceStopECS インスタンスがシャットダウンされています。クラウドフォンを再起動して、もう一度お試しください。
desktop-DesktopsUnderMaintenanceクラウドフォンが実行中状態ではありません。
desktop-DesktopUnavailable接続に失敗しました。もう一度お試しください。問題が解決しない場合は、IT 管理者に連絡してクラウドフォンのステータスを更新してください。
desktop-DistributeLockFailed一時的なクラウドフォンに同時に接続しようとするユーザーが多すぎます。後でもう一度お試しください。
desktop-GENERAL_ERRORサービスエラーです。再接続してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-GET_TICKET_LOCK接続リクエストが頻繁すぎます。後でもう一度お試しください。
desktop-INSUFFICIENT_QUOTA利用可能な一時的なクラウドフォンがありません。IT 管理者のクラウドフォンクォータが不足しています。IT 管理者に連絡してください。
desktop-INTERNAL_ERRORサービスエラーです。再接続してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-InvalidBundleId.NotFoundクラウドフォンのイメージテンプレートが異常です。IT 管理者に連絡してください。
desktop-InvalidClientIp.Policyご利用の IP アドレスはホワイトリストポリシーによってブロックされています。IT 管理者に連絡してください。
desktop-InvalidClientType.AccessDeniedこのクライアントタイプはクラウドフォンへのアクセスを許可されていません。IT 管理者に連絡してください。
desktop-InvalidDesktopId.NotFoundこのクラウドフォンを使用する権限が取り消されました。
desktop-InvalidDesktopId.Statusクラウドフォンが実行中状態ではありません。
desktop-InvalidDesktopStatus.NotRunningサーバーエラーのため、クラウドフォンのシャットダウンに失敗しました。後でもう一度試すか、IT 管理者に連絡してください。
desktop-InvalidDesktopStatus.NotStoppedサーバーエラーのため、クラウドフォンの起動に失敗しました。後でもう一度試すか、IT 管理者に連絡してください。
desktop-InvalidDesktopStatusInvalidクラウドフォンが実行中状態ではありません。
desktop-InvalidLiteConnectionCheckプロトコルサービスエラーです。もう一度お試しください。
desktop-NoEnoughDesktops現在の IT 管理者の設定に基づいて割り当て可能な一時的なクラウドフォンがありません。IT 管理者に連絡してください。
desktop-NotFindDesktopIdクラウドフォンはリリースされました。
desktop-NotFoundUserDesktopこのクラウドフォンを使用する権限が取り消されました。
desktop-PermissionDeny.Desktopご利用の権限は取り消されました。アクセスを復元するには IT 管理者に連絡してください。
desktop-RES_GW_ERRORサービスエラーです。再接続してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-SDK.ReadTimeoutサービスエラーです。再接続してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-ServiceUnavailableサービス接続がタイムアウトしました。再接続してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-THROTTLING_USERサービスエラーです。再接続してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-UnavailableDesktopログインがタイムアウトしました。再接続するか、クラウドフォンを再起動してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-UnavailableDesktop.2901プロトコルサービスがクラウド環境に接続できませんでした。クラウドフォンを再起動してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-UnavailableDesktop.2902プロトコルサービスが応答しませんでした。クラウドフォンを再起動してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-UnavailableDesktop.2903クラウド環境エラーです。クラウドフォンを再起動してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-UnavailableDesktop.2904クラウド環境エラーです。クラウドフォンを再起動してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-UnavailableDesktop.2905セッションのログオフがタイムアウトしました (マルチユーザー型クラウドフォン)。再接続するか、クラウドフォンを再起動してください。
desktop-UnavailableDesktop.2906システムログインの応答がタイムアウトしました。再接続するか、クラウドフォンを再起動してください。
desktop-UnavailableDesktop.2907プロトコルサービスはまだ起動中です。後で再接続するか、クラウドフォンを再起動してください。問題が解決しない場合は、IT 管理者に連絡してください。
desktop-UnavailableDesktop.NotRegisteredクラウドフォンは削除されました。
desktop-UnavailableDesktop.ServerNotReadyシステムログインエラーです。IT 管理者に連絡してアクセスを再許可してもらってください。
desktop.linux-UnavailableDesktop.AuthFailedドメインからのデタッチの問題の可能性があります。クラウドフォンを再起動してもう一度試すか、IT 管理者に連絡してください。
DesktopNetworkError.AbortBySoftwareクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.BadHandShakeクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.BindAddressFailedクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.ConnectAddressFailedクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.ConnectionClosedErrorクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.ConnectionRefusedErrorクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.ConnectionResetErrorクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.ConnectionTimeoutクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.DnsLookupFailedクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.Forbiddenクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.ReceivedUnexpectedEOFクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.SystemOutOfResourceクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopNetworkError.UnKnowErrorクラウドフォンのネットワークが異常です。クラウド環境と管理サービス間の接続が中断されました。この問題を解決するには、クラウドフォンを再起動してください。
DesktopStatus-Desc-Updatingクラウドフォンの構成が更新中です。一時的に利用できません。
DesktopStatus-Repairingクラウドフォンは修復中です。
DesktopStatus-Updatingクラウドフォンはスペックアップまたはスペックダウン中です。
DeviceNotInManage信頼できるデバイス認証が有効になっています。管理者にこの端末を信頼できるデバイスとして追加するか、信頼できるデバイス認証を無効にするよう依頼してください。
DirectoryLoginUnsupported組織 ID を使用してログインしてください。
DomainFailedドメインへの参加に失敗しました。
DomainRelationshipFailedシステムドメインの関係が異常です。
ExistedEmailそのメールアドレスは既に使用されています。
ExistedEndUserIdそのユーザー名は既に使用されています。
ExistedPhoneNumberその携帯電話番号は既に使用されています。
ExpiredEmailVerifyCodeメール検証コードの有効期限が切れています。新しいコードをリクエストしてください。
FailedToSendEmailVerifyCodeメール検証コードの送信に失敗しました。もう一度お試しください。
ForbidByClientVersionForBusinessこれはビジネス版の組織です。クライアントを最新バージョンにアップグレードしてください。
ForbidByPasswordPolicyIT 管理者が「ログインパスワードの変更」機能を無効にしています。
FOTA_DESKTOP_IN_USEクラウドフォンは利用中です。接続を切断してから、もう一度更新をお試しください。
FOTA_SNAPSHOT_IN_PROGRESSシステムスナップショットが作成中です。後でもう一度更新をお試しください。
GuestOperateDesktopFailクラウドフォンのシャットダウンまたは再起動に失敗しました。
GuestOperateDesktopTimeoutシャットダウンまたは再起動操作がタイムアウトしました。
GuestRebootOperateFailクラウドフォンの再起動に失敗しました。
GuestRebootOperateTimeout再起動操作がタイムアウトしました。
GuestStopOperateFailクラウドフォンのシャットダウンに失敗しました。
GuestStopOperateTimeoutシャットダウン操作がタイムアウトしました。
InvalidDirectoryTypeRAM ユーザーはオフラインです。IT 管理者に連絡してください。
InvalidEmailVerifyCodeメール検証コードが正しくありません。
InvalidMfaDeviceStatus無効な多要素認証 (MFA) デバイスです。アカウントに関連付けられたデバイスを使用してください。
InvalidPasswordユーザー名またはパスワードが正しくありません。
LoginError.MissingConcatForVerifyこれは管理者によってアクティベートされたアカウントです。本人確認を完了できません。IT 管理者に連絡してください。
LoginForbidden信頼できるデバイス認証が有効になっています。管理者にこの端末を信頼できるデバイスとして追加するか、信頼できるデバイス認証を無効にするよう依頼してください。
LoginForbidden.LockedByAdmin簡便アカウントはロックされています。IT 管理者に連絡してください。
LoginForbiddenByDeviceこの端末は現在のアカウントでの使用が許可されていません。
LoginForbiddenByUntrustedDeviceこの端末は信頼されていません。管理者が信頼できるデバイスとして追加するか、この制限を無効にする必要があります。
LoginForbiddenByUserユーザーのログイン端末制限が有効になっています。指定された端末からログインしてください。
MfaClientNotSupportクライアントのバージョンがこの MFA 方式をサポートしていません。クライアントをアップグレードしてください。
MfaNotAllowedアカウントにはこの MFA 方式に必要な情報が不足しています。IT 管理者に連絡してください。
MfaTypeNotAllowedこの MFA 方式は IT 管理者によって有効にされていません。
MfaUserGoingToBeLocked検証コードが正しくありません。10 回連続で間違えると、アカウントは 20 分間ロックされます。
MfaUserNotExistアカウントは削除されました。IT 管理者に連絡してください。
MfaVerifyCodeDiscarded検証コードはもはや有効ではありません。新しいコードをリクエストしてください。
PhoneIsNotRegistered携帯電話番号が正しくないか、アカウントに関連付けられていません。
SessionForceQuit自動的にログオフされました。別の端末からログオフしたか、アクティブな端末の数が IT 管理者によって設定された上限を超えました。
StartApplicationGuestTimeoutネットワークが不安定です。アプリケーションの起動に失敗しました。もう一度お試しください。
StartDesktopFailクラウドフォンの起動に失敗しました。
ThrottlingSendEmailVerifyCodeLimit検証コードは 1 分に 1 回しか送信できません。
UnavailableDesktop.2907プロトコルサービスはまだ起動中です。後で再接続するか、クラウドフォンを再起動してください。問題が解決しない場合は、IT 管理者に連絡してください。

よくある質問

DesktopAssistant ツールバーを非表示にする方法

セッション作成時に uiConfigtoolbar.visiblefalse に設定します:

uiConfig: {
  toolbar: {
    visible: false,
  },
},

ASP チャンネル経由で ADB コマンドを送信する方法

セッション作成時に sessionParamlyncChannelConfig を初期化します:

lyncChannelConfig: [
  {
    lyncChannelName: 'lync_adb_shell',
  },
],

session.sendLyncMessage() を使用してコマンドを送信します:

session.sendLyncMessage(
  'lync_adb_shell',
  JSON.stringify({
    id: crypto.randomUUID(),
    cmd: 'input keyevent KEYCODE_VOLUME_UP',
  })
);

session.addLyncListener() を使用して結果をリッスンします:

session.addLyncListener(
  'lync_adb_shell',
  'onReceivedLyncData',
  data => console.log('data from lync_adb_shell', data)
);

一般的な ADB コマンド:

機能コマンド
戻るキーinput keyevent KEYCODE_BACK
ホームキーinput keyevent KEYCODE_HOME
切り替えキーinput keyevent KEYCODE_APP_SWITCH
ミュートinput keyevent 164
音量を上げるinput keyevent KEYCODE_VOLUME_UP
音量を下げるinput keyevent KEYCODE_VOLUME_DOWN
ナビゲーションバーを非表示setprop persist.wy.hasnavibar false; killall com.android.systemui
ナビゲーションバーを表示setprop persist.wy.hasnavibar true; killall com.android.systemui
スクリーンショットを撮るscreencap -p /sdcard/Download/abc.png

カメラの使用方法

ブラウザはカメラの権限にセキュアコンテキストを要求するため、カメラにアクセスするにはデモ URL で https を使用する必要があります。

クライアントの前面カメラまたは背面カメラのみが必要な場合など、特別なテストケースでは、次の設定を適用する必要があります:

// 前面カメラ
session.setLocalConfig('setCameraType', 1);
// 背面カメラ
session.setLocalConfig('setCameraType', 2);

クリップボードが機能しない

まず、ブラウザでクリップボードの権限が有効になっていることを確認してください。

ブラウザの権限が付与されているにもかかわらずクリップボードの同期が機能しない場合は、クラウドフォンコンソールでインスタンスに関連付けられているポリシーを確認してください。クリップボードポリシーが双方向転送を許可するように設定されていることを確認します。