

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 埋め込み Amazon WorkSpaces アプリケーションストリーミングセッションの定数、関数、およびイベント
<a name="constants-functions-events-embedded-sessions"></a>

以下のトピックでは、埋め込み WorkSpaces アプリケーションストリーミングセッションの設定に使用できる定数、関数、およびイベントのリファレンス情報を提供します。

**Topics**
+ [「`HIDDEN_ELEMENTS`」 の使用](#constants-hidden-elements)
+ [`AppStream.Embed` オブジェクトの関数](#functions-embed-object)
+ [埋め込み WorkSpaces アプリケーションストリーミングセッションのイベント](#events-embedded-streaming-sessions)
+ [イベントリスナーの追加と埋め込み WorkSpaces アプリケーションストリーミングセッションの終了の例](#examples-add-event-listeners-end-embedded-streaming-session)

埋め込み WorkSpaces Applications ストリーミングセッションが初期化されると、次の WorkSpaces Applications ユーザーインターフェイス要素を設定`HIDDEN_ELEMENTS`オプションに渡すことができます。

## 「`HIDDEN_ELEMENTS`」 の使用
<a name="constants-hidden-elements"></a>

埋め込み WorkSpaces Applications ストリーミングセッションが初期化されると、次の WorkSpaces Applications ユーザーインターフェイス要素を定数として`HIDDEN_ELEMENTS`設定オプションに渡すことができます。

```
AppStream.Embed.Elements.TOOLBAR
AppStream.Embed.Elements.FULLSCREEN_BUTTON
AppStream.Embed.Elements.END_SESSION_BUTTON
AppStream.Embed.Elements.TOOLBAR
AppStream.Embed.Elements.CATALOG_BUTTON
AppStream.Embed.Elements.WINDOW_SWITCHER_BUTTON
AppStream.Embed.Elements.FILES_BUTTON
AppStream.Embed.Elements.CLIPBOARD_BUTTON
AppStream.Embed.Elements.COPY_LOCAL_BUTTON
AppStream.Embed.Elements.PASTE_REMOTE_BUTTON
AppStream.Embed.Elements.SETTINGS_BUTTON
AppStream.Embed.Elements.STREAMING_MODE_BUTTON
AppStream.Embed.Elements.SCREEN_RESOLUTION_BUTTON
AppStream.Embed.Elements.REGIONAL_SETTINGS_BUTTON
AppStream.Embed.Elements.FULLSCREEN_BUTTON
AppStream.Embed.Elements.END_SESSION_BUTTON
```

次の 3 つの要素は、定数としてではなく、文字列として HIDDEN\$1ELEMENTS に渡すことができます。


| String | 説明 | 
| --- | --- | 
| 'adminCommandsButton' | WorkSpaces Applications Image Builder に接続すると、WorkSpaces Applications ツールバーの右上隅に管理者コマンドボタンが表示されます。この文字列を HIDDEN\$1ELEMENTS に渡すと、[Admin Commands] ボタンが非表示になります。 | 
| 'softKeyboardButton' | タッチ対応デバイスで WorkSpaces Applications ストリーミングセッション中に、ユーザーは WorkSpaces Applications ツールバーのキーボードアイコンをタップすると、画面上のキーボードを表示できます。この文字列を HIDDEN\$1ELEMENTS に渡すと、キーボードアイコンが非表示になります。 | 
| 'keyboardShortcutsButton' | タッチ対応デバイスで WorkSpaces Applications ストリーミングセッション中に、ユーザーは WorkSpaces Applications ツールバーの Fn アイコンをタップしてキーボードショートカットを表示できます。この文字列を HIDDEN\$1ELEMENTS に渡すと、Fn アイコンが非表示になります。 | 

## `AppStream.Embed` オブジェクトの関数
<a name="functions-embed-object"></a>

以下の表では、`AppStream.Embed` オブジェクトで実行できる関数を示しています。


| 関数 | 説明 | 
| --- | --- | 
| AppStream.Embed(containerId:string, options:object) | AppStream.Embed オブジェクトコンストラクタ。このコンストラクタは AppStream.Embed オブジェクトを初期化し、このオブジェクトとやり取りします。また、div コンテナ ID を使用します。ID は iframe を注入するために使用されます。さらに、appstreamOptions の設定オプション (sessionURL および HIDDEN\$1ELEMENTS) を含むオブジェクトを注入します。 | 
| endSession() | この関数は、ストリーミングセッションを終了しますが、iframe は破棄しません。リダイレクト URL を指定している場合、iframe では URL のロードが試みられます。ページの CORS ヘッダーによっては、URL がロードされない場合があります。 | 
| launchApp(appId:string) | この関数は、イメージの作成中に指定されたアプリケーション ID に対応するアプリケーションをプログラムで起動します。 | 
| launchAppSwitcher() | この関数は、 AppSwitcher コマンドを WorkSpaces Applications ポータルに送信します。これにより、インスタンスに対して AppSwitcher コマンドがトリガーされます。 | 
| getSessionState() | この関数は、sessionStatus のオブジェクトを返します。詳細については、「[埋め込み WorkSpaces アプリケーションストリーミングセッションのイベント](#events-embedded-streaming-sessions)」を参照してください。 | 
| getUserInterfaceState() | この関数は、`UserInterfaceState` のオブジェクトを返します。オブジェクトには、以下のキーと値のペアが含まれます。 `sessionStatus`: 状態の列挙 `sessionTerminationReason`: 文字列 `sessionDisconnectionReason`: 文字列  詳細については、「[埋め込み WorkSpaces アプリケーションストリーミングセッションのイベント](#events-embedded-streaming-sessions)」を参照してください。  | 
| addEventListener(name, callback) | この関数は、指定されたイベントのトリガー時に呼び出すコールバック関数を追加します。トリガーできるイベントのリストについては、「[埋め込み WorkSpaces アプリケーションストリーミングセッションのイベント](#events-embedded-streaming-sessions)」を参照してください。 | 
| removeEventListener(name, callback) | この関数は、指定されたイベントのコールバックを削除します。 | 
| destroy() | この関数は、iframe を削除し、リソースをクリーンアップします。この関数は、進行中のストリーミングセッションには影響しません。 | 

## 埋め込み WorkSpaces アプリケーションストリーミングセッションのイベント
<a name="events-embedded-streaming-sessions"></a>

次の表に、埋め込み WorkSpaces アプリケーションストリーミングセッション中にトリガーできるイベントを示します。


| イベント | データ | 説明 | 
| --- | --- | --- | 
| AppStream.Embed.Events.SESSION\$1STATE\$1CHANGE |  `sessionStatus`: `State enumeration` `sessionTerminationReason`: 文字列 `sessionDisconnectionReason`: 文字列  | このイベントは、セッション状態の変更が生じたときにトリガーされます。このイベントには、変更された状態のマップが含まれます。完全なセッション状態を取得するには、`getSessionState()` 関数を使用します。 セッション状態は以下のとおりです。 `AppStream.Embed.SessionStatus.Unknown` — セッションは開始されておらず、予約されていません `AppStream.Embed.SessionStatus.Reserved` — セッションは予約されていますが、開始されていません。 `AppStream.Embed.SessionStatus.Started` — ユーザーがセッションに接続し、ストリーミングを開始しました。 `AppStream.Embed.SessionStatus Disconnected ` — ユーザーがセッションから切断されました。 `AppStream.Embed.SessionStatus.Ended` — セッションが終了または期限切れとしてマークされました。  | 
| AppStream.Embed.Events.SESSION\$1INTERFACE\$1STATE\$1CHANGE | `hiddenElements`: 文字列の配列  `isFullscreen`: ブール値 `isSoftKeyboardVisible`: ブール値  | このイベントは、セッション状態の変更が生じたときにトリガーされます。このイベントには、変更された状態のマップが含まれます。完全なセッション状態を取得するには、getSessionState() 関数を使用します。 | 
| AppStream.Embed.Events.SESSION\$1ERROR | `errorCode`: 番号 `errorMessage`: 文字列  | このイベントは、セッション中にエラーが発生するとトリガーされます。 | 

## イベントリスナーの追加と埋め込み WorkSpaces アプリケーションストリーミングセッションの終了の例
<a name="examples-add-event-listeners-end-embedded-streaming-session"></a>

このセクションの例では、次の操作を行う方法を示します。
+ 埋め込み WorkSpaces アプリケーションストリーミングセッションのイベントリスナーを追加します。
+ 埋め込み WorkSpaces アプリケーションストリーミングセッションをプログラムで終了します。

### 例 1: 埋め込み WorkSpaces アプリケーションストリーミングセッションのイベントリスナーを追加する
<a name="example-add-event-listeners"></a>

埋め込みストリーミングセッション中のセッションの状態の変更、セッションインターフェイスの状態の変更、セッションエラーに対するイベントリスナーを追加するには、以下のコードを使用します。

```
appstreamEmbed.addEventListener(AppStream.Embed.Events.SESSION_STATE_CHANGE, updateSessionStateCallback);

appstreamEmbed.addEventListener(AppStream.Embed.Events.SESSION_INTERFACE_STATE_CHANGE, updateUserInterfaceStateCallback);

appstreamEmbed.addEventListener(AppStream.Embed.Events.SESSION_ERROR, errorCallback);
```

この例では、`AppStream.Embed.Events.SESSION_STATE_CHANGE`、`AppStream.Embed.Events.SESSION_INTERFACE_STATE_CHANGE`、`AppStream.Embed.Events.SESSION_ERROR` はイベント名です。

`updateSessionStateCallback`、`updateUserInterfaceStateCallback`、`errorCallback` は実装する関数です。これらの関数は `addEventListener` 関数に渡され、イベントがトリガーされると呼び出されます。

### 例 2: 埋め込み WorkSpaces アプリケーションストリーミングセッションをプログラムで終了する
<a name="programmatically-end-embedded-streaming-session"></a>

埋め込み WorkSpaces アプリケーションストリーミングセッションを終了するには、次の関数を使用します。

```
appstreamEmbed.endSession();
```