Alibaba Cloud Workspace Web SDK は、AgentBay スマートサンドボックスに接続する Web クライアントを構築するための開発ツールです。Web SDK を統合することで、AgentBay 用の Web クライアントを迅速にカスタマイズして構築できます。
1. クイックスタート
1.1 SDK とデモの取得
リソース
Web Client SDK のダウンロード
Web.SDK.Demo のダウンロード
このプラットフォーム上のすべてのドキュメント、SDK、およびクライアントプログラムは、個人または企業での使用のみを目的としています。Alibaba Cloud の同意なしに、第三者に配布することは許可されていません。
ディレクトリ構造
├── WuyingWebDemo.html // SDK サンプル。
├── WuyingWebSDK.js // SDK API ファイル。フロントエンドページでこのファイルを参照します。
└── sdk // iframe 埋め込みリソースファイル
└── ASP
└── container.htmlWeb.SDK.Demo は Vue プロジェクトです。プロジェクトを開始するには、次のステップを実行します。
コマンドラインインターフェイス (CLI) で次のコマンドを実行して、ローカル環境に Node.js がインストールされているかどうかを確認します。
nodeWelcome to Node.jsメッセージが表示された場合、Node.js はインストールされています。メッセージが表示されない場合は、Node.js をインストールする必要があります。
次のコマンドを実行して、Vue プロジェクトのルートディレクトリに移動します。
説明<ProjectRootPath>を Vue プロジェクトのルートディレクトリの実際のパスに置き換えてください。cd <ProjectRootPath>次のコマンドを実行して、プロジェクトの依存関係をインストールします。
npm i次のコマンドを実行して、プロジェクトを開始します。
npm run devコマンドが実行されると、アクセス可能な URL が返されます。
WuyingWebDemo.html を開始するには、次のステップを実行します。
次のコマンドを実行して、HTML ファイルが配置されているディレクトリに移動します。
説明<HTMLPath>を HTML ファイルが配置されているディレクトリの実際のパスに置き換えてください。cd <HTMLPath>次のコマンドを実行して、HTTP サーバーを開始します。
python3 -m http.serverブラウザで
http://localhost:8000/WuyingWebDemo.htmlを開きます。
1.2 統合フロー
1.3 ベストプラクティス
ソリューションの詳細については、「クラウドスマホ統合のベストプラクティス」をご参照ください。次の図は、全体的な統合ソリューションを示しています。
SDK がクラウドスマホに接続するために必要なチケットを取得するには、複数のログイン方法があります。次の図は、フローチャートを示しています。
特定のコードについては、ライフサイクル API のサンプルコードをご参照ください。
2. ライフサイクル API
2.1 セッションの初期化と作成
// チケットを使用してセッションを作成します。
var userInfo = {
ticket: 'xxx',
};
var appInfo = {
osType: 'Android', // 必須
appId: "android",
appInstanceId: "ai-xxxxxx", // appInstanceId は 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", // resourceId は 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 または stsToken を使用してセッションを作成します。
var userInfo = {
sessionId: sessionId,
loginToken: loginToken,
};
var appInfo = {
osType: 'Android', // 必須
appId: "android",
resourceId: "p-xxxxxx", // resourceId は 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);createSession パラメーター
パラメーター | タイプ | 必須 | 説明 |
id | string | はい | 定数です。クラウドスマホの場合、値は appstream です。 |
sessionParams | SessionParam | はい | セッションを作成するためのパラメーター。詳細については、「4.1 SessionParam」をご参照ください。 |
sessionParams パラメーター
userInfo:
sessionId: GetLoginToken または GetStsToken を呼び出して取得する SessionId です。authCode: GetAuthCode API 操作を呼び出して取得します。loginToken: GetLoginToken API を呼び出して取得します。
2 つのログイン方法が利用可能です:非認証ログインと簡便アカウントでのログイン。簡便アカウントでのログインは、Alibaba Cloud Workspace ユーザーシステムに依存します。非認証ログインでは、独自のユーザーシステムを使用できます。非認証ログインの認証パラメーターは authCode です。簡便アカウントでのログインの認証パラメーターは loginToken です。ticket はインスタンスに接続するための認証情報です。loginToken と authCode は、最終的にインスタンスに接続するためのチケットに変換されます。次のパラメーターのいずれかを指定する必要があります:authCode、ticket、または loginToken。
appInfo: インスタンスに関する情報。
resourceId:簡便アカウントでログインする場合、クライアントで DescribeUserResources 操作を呼び出して `ResourceId` の値を取得できます。
非認証でログインする場合、ご利用のサーバーで DescribeAndroidInstances 操作を呼び出して `PersistentAppInstanceId` の値を取得できます。
openType: クラウドスマホを起動する方法。詳細については、このトピックの openType 列挙の定義をご参照ください。
2.2 接続の確立
session.start();2.3 接続の終了
session.stop();2.4 コールバックの説明
コールバック API: addHandle(name: SessionEventType, callback: Function)
コールバック API パラメーター:
名前 | タイプ | 説明 |
name | string | リッスンするイベントのタイプ。詳細については、5.9 SessionEventType 列挙の定義をご参照ください。 |
callback | Function | コールバック関数。 |
コールバックのサンプルコード:
session.addHandle('getConnectionTicketInfo', (data) => {
console.log(data);
});
session.addHandle('onConnected', (data) => {
console.log('connected', data);
});
session.addHandle('onDisConnected', (data) => {
console.log('disconnect', data);
});
session.addHandle('onRuntimeMsg', (data) => {
document.getElementById('GuestMsgContext').value = JSON.stringify(data);
});3. ビジネス API
API | 説明 |
WebSDK.apiVersion | Web SDK の現在のバージョン番号を取得します。タイプは |
setInputEnabled(param: boolean) enableInput(param: boolean) | 入力操作を有効または無効にします。
|
enableKeyBoard(param: boolean) | モバイルクライアントでキーボードを起動するかどうかを指定します。 |
setClipboardEnabled(param: boolean) | クリップボードコントロールを有効にするかどうかを指定します。 |
setMicrophoneEnabled(param: boolean) | マイクコントロールを有効にするかどうかを指定します。 |
setTouchEnabled(param: boolean) | タッチコントロールを有効にするかどうかを指定します。 |
setUiParams(param: UiConfig) | セッションが確立された後、メニューを表示するかどうかや横向きモードを強制するかどうかなど、UI 設定をアクティブに設定します。 説明 UiConfig の詳細については、「4.4 UiConfig」をご参照ください。 サンプルコード: |
dataChannel | クライアントとクラウドがデータを送受信するためのカスタムトンネル。 |
lyncChannel | クライアントが ADB コマンドを送信するためのチャンネル。 |
4. パラメーターの詳細説明
4.1 SessionParam
セッションを作成するためのパラメーター。
パラメーター | タイプ | 必須 | 説明 |
openType | OpenType | はい | ページを埋め込み iframe で開くか、新しいタブで開くかを指定します。 |
iframeId | string | いいえ | ページを iframe で開く場合は、iframeId を指定する必要があります。 |
sdkPath | string | いいえ | SDK ファイルのパス。このパラメーターを空のままにすると、デフォルトの相対パスが使用されます (例: |
resourceType | ResourceType | はい | ローカル接続ページを開くことのみがサポートされています。 |
connectType | ConnectType | はい | クラウドスマホを起動するか、クラウドコンピューターを起動するかを指定します。 |
isOverseas | boolean | いいえ | アクセスが中国本土以外からであるかどうかを指定します。デフォルト値:false。 |
userInfo | UserInfo | はい | ユーザーのログイン状態情報。 |
regionId | string | はい | クラウドスマホを起動する際に必須です。値はクラウドスマホが配置されているリージョンです。 |
appInfo | AppInfo | いいえ | クラウドスマホに関する情報。 |
fileInfo | FileInfo | いいえ | クラウドドライブに関する情報。 |
uiConfig | UiConfig | いいえ | UI 設定。 |
logDisabled | bool | いいえ | ARMS 統計を無効にするかどうかを指定します。デフォルト値:false。この値は ARMS 統計が無効にされていないことを示します。 |
loginType | LoginType | いいえ | デフォルトのログイン方法は、Alibaba Cloud Workspace アカウントを使用することです。 |
networkAccessType | string | いいえ | デフォルトでは、このパラメーターは空のままです。VPC ログインがサポートされています。 |
4.2 UserInfo
ユーザーのログイン状態情報。次のパラメーターのいずれかを指定する必要があります:authCode、ticket、または loginToken。authCode は非認証ログインに使用されます。loginToken は簡便アカウントでのログインに使用されます。ticket は、authCode または loginToken のいずれかを使用して API を呼び出すことによって取得されます。
パラメーター | タイプ | 必須 | 説明 |
authCode | string | はい | 最優先される 1 回限りのログイン認証情報。 |
ticket | string | はい | バージョン 1.4.7 以降では、チケットを直接渡して接続を確立できます。 |
loginToken | string | はい | 簡便アカウントでのログイン用の認証情報。 |
sessionId | string | はい | GetLoginToken または GetStsToken を呼び出して取得される SessionId。 |
4.3 AppInfo
クラウドスマホを起動するためのパラメーター。
パラメーター | タイプ | 必須 | 説明 |
osType | string | はい | 定数値は Android です。 |
appId | string | はい | PersistentAppInstanceId を入力します。例:p-0caoet4e18cui****。 |
appVersion | string | いいえ | 起動するアプリケーションのバージョン。 |
loginRegionId | string | はい | クラウドスマホリソースが配置されているリージョン。 |
connConfig | ConnConfig | いいえ | 接続設定パラメーター。 |
appInstanceGroupId | string | いいえ | 配信グループ ID。 |
appInstanceId | string | いいえ | インスタンス ID。チケットを使用して接続を確立する場合に必須です。例:ai-0cc7s3n1iagyq****。 |
taskId | string | いいえ | アプリケーション起動タスク ID。 |
bizRegionId | string | いいえ | アプリケーションリソースが配置されているリージョン。 |
productType | string | いいえ | 配信グループのタイプ。クラウドスマホの場合、デフォルト値は |
4.4 UiConfig
接続ページの UI 設定。
パラメーター | タイプ | 必須 | 説明 |
toolbar | ToolBarConfig | いいえ | 接続ページのツールバーの表示設定。 |
exitCheck | bool | いいえ | 現在のページを終了する際にブラウザで二次確認を有効にするかどうかを指定します。この機能はデフォルトで有効になっています。 |
rotateDegree | number | いいえ | 横向きモードを強制するかどうかを指定します。 |
vconsoleVisiable | bool | いいえ | vconsole デバッグボックスを表示するかどうかを指定します。 |
debugPanelVisiable | bool | いいえ | ビットストリーム、フレームレート、その他の情報の情報ボックスを表示するかどうかを指定します。 |
reconnectType | ReconnectType | いいえ | 再接続プロンプトボックスのスタイル。 |
defaultResolution | ResolutionType | いいえ | 最初の接続のデフォルト解像度。デフォルト値:'A'。 |
language | Language | いいえ | 内部ポップアッププロンプトの言語。デフォルト値:簡体字中国語。 |
allowErrorDialog | bool | いいえ | エラーポップアップウィンドウを表示するかどうかを指定します。 |
backgroundColor | string | いいえ | 読み込みプロセスのカスタム背景。 |
backgroundImg | string | いいえ | 読み込みプロセスのカスタムイメージ。 |
4.5 ToolBarConfig
ツールバーの表示設定。
パラメーター | タイプ | 必須 | 説明 |
visible | bool | いいえ | ツールバーを表示するかどうかを指定します。 |
noMenu | bool | いいえ | DesktopAssistant がコンテキストメニューを開くことをサポートするかどうかを指定します。デフォルト値: |
4.6 ConnConfig
接続設定パラメーター。
パラメーター | タイプ | 必須 | 説明 |
decodeType | ConnDecodeType (数値列挙) | いいえ | コーディング設定。 |
playSoundBackground | bool | いいえ | バックグラウンドに切り替えた後もサウンドを再生し続けるかどうかを指定します。 |
5. 列挙型
5.1 OpenType
クラウドスマホを起動する方法。
列挙 | 説明 |
newTab | 新しいタブで開きます。 |
inline | 埋め込み iframe ページで開きます。 |
urlScheme | ローカルのネイティブクライアントで開くことをサポートします。このオプションには、Alibaba Cloud Workspace クライアント V6.2 以降をインストールする必要があります。 |
5.2 ConnectType
クラウドコンピューターを起動するか、クラウドスマホを起動するかを指定します。
列挙 | 説明 |
app | クラウドスマホを起動します。 |
desktop | クラウドコンピューターを起動します。 |
現在、app タイプはクラウドスマホに再利用されています。クラウドスマホに接続する際は、connectType を app に設定します。
5.3 ResourceType
ローカル接続ページを開くか、Alibaba Cloud Workspace Web クライアントを開くかを指定します。
列挙 | 説明 |
local | ローカル接続 HTML ページを開きます。 |
クラウドスマホ統合の場合、このパラメーターを local に設定します。
5.4 ReconnectType
再接続プロンプトのポップアップウィンドウの UI。
列挙 | 説明 |
simple | シンプルな読み込みスタイル。 |
normal | カウントダウンポップアップウィンドウ。 |
5.5 ResolutionType
初回接続時のデフォルト解像度。ユーザーが優先解像度を設定している場合は、その解像度が代わりに使用されます。
列挙 | 説明 |
A | 速度優先。現在のウィンドウサイズ。 |
B | 品質優先。現在のウィンドウサイズに window.devicePixelRatio を乗算したもの。 |
5.6 ChargeType
クラウドスマホの課金方法。
列挙 | 説明 | サポートされているバージョン |
PostPaid | 従量課金 | 1.4.0 以降 |
PrePaid | サブスクリプション | 1.4.0 以降 |
5.7 Language
言語設定。デフォルト値:zh-CN。
列挙 | 説明 |
zh-CN | 簡体字中国語 |
en-US | 英語 |
ja-JP | 日本語 |
5.8 LoginType
クラウドスマホにログインする方法。
列挙 | 説明 |
aliyunLogin | Alibaba Cloud アカウントでログインします。 |
normalLogin | Alibaba Cloud Workspace アカウントでログインします。クラウドスマホは |
5.9 SessionEventType
セッションイベントタイプのマッピング。これには、クラウドスマホイベントの説明が含まれます。
列挙 | 説明 | サポートされているバージョン |
getConnectionTicketInfo | クラウドスマホへの接続イベント。 | 1.0.0 以降 |
onConnected | クラウドスマホへの接続確立イベント。 | 1.0.0 以降 |
onDisConnected | クラウドスマホからの切断イベント。 | 1.0.0 以降 |
onRuntimeMsg | ランタイムから SDK に送信されるメッセージ。 | 1.1.0 以降 |
networkData | ネットワークパフォーマンスパラメーター。 | 1.3.1 以降 |
onError | 接続プロセス中に発生したエラーを受信します。 | 1.4.1 以降 |
5.10 ConnDecodeType
ストリームのデコードタイプ。
列挙 | 説明 | サポートされているバージョン |
0 | ソフトウェアデコード | 1.2.0 以降 |
1 | ハードウェアデコード | 1.2.0 以降 |
2 | WebRTC | 1.2.0 以降 |
5.11 プロトコルタイプ
接続プロトコルタイプ。
列挙 | 説明 | サポートされているバージョン |
ASP | Alibaba Cloud 独自の ASP プロトコル。クラウドスマホは ASP プロトコルのみをサポートします。 | 1.3.0 以降 |
HDX | Citrix プロトコル | 1.3.0 以降 |
6. エラーコード
6.1 onDisconnected: 切断エラーの受信
コード | 名前 | 説明 |
0 | ASP_CLIENT_DISCONNECT_CONNECT_ERROR | 切断されました。 |
1 | ASP_CLIENT_DISCONNECT_SOCKET_CLOSE | ソケットが閉じられました。 |
2 | ASP_CLIENT_DISCONNECT_WEBRTC_CLOSE | WebRTC が閉じられました。 |
25 | チケットの検証に失敗しました。ユーザーが切断された後、同じチケットを使用して再度接続をリクエストした場合も、このエラーがトリガーされます。 | |
2001 | ASP_CLIENT_DISCONNECT_CLOUD_APP_STOP | クラウドアプリケーションが閉じられました。 |
2002 | ASP_CLIENT_DISCONNECT_CLIENT_PREEMPTION | 現在のクラウドスマホが乗っ取られました。 |
2003 | ASP_CLIENT_DISCONNECT_GUEST_SHUTDOWN_REBOOT | ゲストが再起動されました。 |
2004 | 現在のユーザーが切断されました。 | |
2027 | ストリームフェッチングモードが切り替わりました。 | |
2200 | ASP_CLIENT_RTT_TIMEOUT | RTT タイムアウト。 |
2201 | ASP_CLIENT_NET_ERROR_IO | ネットワーク I/O エラー。 |
2202 | ASP_CLIENT_UPDATE_TICKET_FAILED | チケットの更新に失敗しました。 |
6.2 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-DesktopContainVpn | VPN ソフトウェアがインストールされているため、このクラウドスマホのネットワークは異常です。クラウド環境と管理サービス間の接続が中断されています。この問題を解決するには、クラウドスマホを再起動できます。それでも接続に失敗する場合は、IT 管理者に連絡してください。 |
desktop-DesktopGuestStop | このクラウドスマホが「実行中」状態ではないため、接続に失敗しました。 |
desktop-DesktopNetworkAnomaly | このクラウドスマホのネットワークは異常です。クラウド環境と管理サービス間の接続が中断されています。この問題を解決するには、クラウドスマホを再起動できます。それでも接続に失敗する場合は、IT 管理者に連絡してください。 |
desktop-DesktopNetworkError | このクラウドスマホのネットワークは異常です。クラウド環境と管理サービス間の接続が中断されています。この問題を解決するには、クラウドスマホを再起動できます。それでも接続に失敗する場合は、IT 管理者に連絡してください。 |
desktop-DesktopResourceStatusInvalid | Elastic Compute Service (ECS) インスタンスが実行状態でないため、クラウドスマホへの接続に失敗しました。クラウドスマホを再起動してから、もう一度接続してください。 |
desktop-DesktopResourceStop | ECS インスタンスがシャットダウンされているため、クラウドスマホへの接続に失敗しました。クラウドスマホを再起動してから、もう一度接続してください。 |
desktop-DesktopsUnderMaintenance | このクラウドスマホが「実行中」状態ではないため、接続に失敗しました。 |
desktop-DesktopUnavailable | 接続に失敗しました。後でもう一度お試しください。それでも接続に失敗する場合は、IT 管理者に連絡してこのクラウドスマホの状態を更新してください。 |
desktop-DistributeLockFailed | 一時的なクラウドスマホに接続しているユーザーが多すぎるため、接続に失敗しました。後でもう一度接続してみてください。 |
desktop-GENERAL_ERROR | サービスエラーが発生しました。クラウドスマホに再接続してください。それでも接続に失敗する場合は、IT 管理者に連絡してください。 |
desktop-GET_TICKET_LOCK | クラウドスマホの接続リクエストが頻繁すぎます。後でもう一度お試しください。 |
desktop-INSUFFICIENT_QUOTA | IT 管理者アカウントのクラウドスマホクォータが不足しているため、一時的なクラウドスマホが利用できません。O&M の支援については、IT 管理者に連絡してください。 |
desktop-INTERNAL_ERROR | サービスエラーが発生しました。クラウドスマホに再接続してください。それでも接続に失敗する場合は、IT 管理者に連絡してください。 |
desktop-InvalidBundleId.NotFound | このクラウドスマホのイメージテンプレートは異常です。IT 管理者に連絡してください。 |
desktop-InvalidClientIp.Policy | IT 管理者が IP アドレスホワイトリストポリシーを設定しているため、現在の IP 環境ではこのクラウドスマホに接続できません。IT 管理者に連絡してください。 |
desktop-InvalidClientType.AccessDenied | IT 管理者は、このクライアントでこのクラウドスマホを実行することを禁止しています。このクラウドスマホを引き続き使用するには、IT 管理者に連絡してください。 |
desktop-InvalidDesktopId.NotFound | IT 管理者がこのクラウドスマホを使用する権限を取り消しました。 |
desktop-InvalidDesktopId.Status | このクラウドスマホが「実行中」状態ではないため、接続に失敗しました。 |
desktop-InvalidDesktopStatus.NotRunning | サーバーエラーのため、クラウドスマホのシャットダウンに失敗しました。後でもう一度試すか、IT 管理者に連絡してください。 |
desktop-InvalidDesktopStatus.NotStopped | サーバーエラーのため、クラウドスマホの起動に失敗しました。後でもう一度試すか、IT 管理者に連絡してください。 |
desktop-InvalidDesktopStatusInvalid | このクラウドスマホが実行状態ではないため、接続に失敗しました。 |
desktop-InvalidLiteConnectionCheck | プロトコルサービスエラーのため、クラウドスマホへの再接続に失敗しました。もう一度接続してみてください。 |
desktop-NoEnoughDesktops | IT 管理者の設定により、一時的なクラウドスマホを割り当てることができません。IT 管理者に連絡してください。 |
desktop-NotFindDesktopId | このクラウドスマホは IT 管理者によってリリースされました。 |
desktop-NotFoundUserDesktop | IT 管理者がこのクラウドスマホを使用する権限を取り消しました。 |
desktop-PermissionDeny.Desktop | IT 管理者が権限を取り消しました。クラウドスマホを引き続き使用するには、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 | IT 管理者がこのクラウドスマホを削除しました。 |
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 | 組織 ID はビジネス版用です。ログインするには、現在のクライアントを最新バージョンにアップグレードする必要があります。 |
ForbidByPasswordPolicy | パスワードの変更に失敗しました。IT 管理者が「ログインパスワードの変更」機能を無効にしています。 |
FOTA_DESKTOP_IN_USE | クラウドスマホ「%s」は使用中です。切断してから、もう一度更新してみてください。 |
FOTA_SNAPSHOT_IN_PROGRESS | クラウドスマホ「%s」のシステムスナップショットが作成中のため、イメージを更新できません。後でもう一度お試しください。 |
GuestOperateDesktopFail | クラウドスマホのシャットダウンまたは再起動に失敗しました。 |
GuestOperateDesktopTimeout | クラウドスマホで実行したシャットダウンまたは再起動操作は、応答タイムアウトのため失敗しました。 |
GuestRebootOperateFail | クラウドスマホの再起動に失敗しました。 |
GuestRebootOperateTimeout | クラウドスマホで実行した再起動操作は、応答タイムアウトのため失敗しました。 |
GuestStopOperateFail | クラウドスマホのシャットダウンに失敗しました。 |
GuestStopOperateTimeout | クラウドスマホで実行したシャットダウン操作は、応答タイムアウトのため失敗しました。 |
InvalidDirectoryType | RAM ユーザーはオフラインです。IT 管理者に連絡してください。 |
InvalidEmailVerifyCode | メール検証コードが正しくありません。もう一度入力してください。 |
InvalidMfaDeviceStatus | 仮想多要素認証デバイスは無効です。アカウントに関連付けられているデバイスを使用してください。 |
InvalidPassword | ユーザー名またはパスワードが正しくありません。 |
LoginError.MissingConcatForVerify | このアカウントは管理者によって有効化されたアカウントであるため、ID 検証を完了できません。IT 管理者に連絡してください。 |
LoginForbidden | ログインに失敗しました。オフィスネットワークまたは組織で信頼できるデバイス認証が有効になっています。管理者に信頼できるデバイス認証を無効にするか、現在の端末を信頼できるデバイスとして手動で追加するように依頼してください。 |
LoginForbidden.LockedByAdmin | 簡便アカウントはロックされています。手動でロックを解除するには、IT 管理者に連絡してください。 |
LoginForbiddenByDevice | ログインに失敗しました。管理者は、この端末が特定のユーザーのみによってログインできることを指定しています。現在のアカウントは指定された範囲内にありません。 |
LoginForbiddenByUntrustedDevice | ログインに失敗しました。管理者が「信頼できない端末のログインをブロック」を有効にしています。管理者は、この端末を信頼できるデバイスとして追加するか、この機能を無効にする必要があります。 |
LoginForbiddenByUser | ログインに失敗しました。管理者がユーザーログイン端末の制限を有効にしています。指定された端末からログインしてください。 |
MfaClientNotSupport | クライアントのバージョンが古すぎて、この多要素認証方法をサポートしていません。クライアントをアップグレードしてください。 |
MfaNotAllowed | アカウントには、この多要素認証方法に必要な情報がありません。情報を追加するには、IT 管理者に連絡してください。 |
MfaTypeNotAllowed | IT 管理者がこの多要素認証方法を有効にしていません。 |
MfaUserGoingToBeLocked | 検証コードが正しくありません。10 回連続で間違ったコードを入力すると、アカウントは 20 分間ロックされます。 |
MfaUserNotExist | このアカウントは削除されました。詳細については、IT 管理者に連絡してください。 |
MfaVerifyCodeDiscarded | 検証コードは無効です。もう一度取得してください。 |
PhoneIsNotRegistered | 携帯電話番号が正しくないか、管理者が携帯電話番号をアカウントに関連付けていません。 |
SessionForceQuit | 自動的にログオフされました。原因:別の端末からログオフしたか、ログイン端末の数が IT 管理者によって設定された制限を超えています。 |
StartApplicationGuestTimeout | ネットワーク信号が不安定で、アプリケーションの起動に失敗しました。もう一度お試しください。 |
StartDesktopFail | クラウドスマホの起動に失敗しました。 |
ThrottlingSendEmailVerifyCodeLimit | 検証コードは 1 分に 1 回しか送信できません。 |
UnavailableDesktop.2907 | プロトコルサービスがまだ起動中のため、クラウドスマホへの接続に失敗しました。後で再接続するか、クラウドスマホを再起動してください。それでも接続に失敗する場合は、IT 管理者に連絡してください。 |
7. よくある質問
DesktopAssistant を無効にする方法
セッション作成 (createSession) フェーズで uiConfig を初期化する際に DesktopAssistant を無効にできます。
uiConfig: {
toolbar: {
visible: false,
},
},ASP チャンネル経由で ADB コマンドを送信する方法
セッションを作成 (createSession) する際に lyncChannelConfig を初期化できます。
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));一般的なコマンド:
機能 | コマンド |
戻るキー | 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);クリップボード使用に関するよくある質問
クリップボードが機能しない
ブラウザでクリップボードの権限が有効になっているか確認してください。
クラウドスマホコンソールで、インスタンスに関連付けられているポリシーを確認し、クリップボードポリシーが双方向転送で有効になっていることを確認してください。