

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Inserta sesiones de streaming WorkSpaces de Amazon Applications
<a name="embed-streaming-sessions"></a>

Puede crear una experiencia dinámica, interactiva y personalizada para sus usuarios integrando una sesión de streaming de WorkSpaces aplicaciones en su sitio web. Las sesiones de streaming de WorkSpaces aplicaciones integradas permiten a los usuarios interactuar con modelos 3D, mapas y conjuntos de datos directamente desde su sitio web. Por ejemplo, los usuarios pueden ver las instrucciones de formación o los materiales educativos junto con la sesión de streaming de WorkSpaces Applications. 

**Topics**
+ [Requisitos previos para incrustar sesiones de streaming de Amazon WorkSpaces Applications](embed-streaming-sessions-prerequisites.md)
+ [Recomendaciones y consideraciones de uso para incrustar sesiones de streaming de Amazon WorkSpaces Applications](embed-streaming-sessions-recommendations-considerations.md)
+ [Paso 1: Especificar un dominio de host para las sesiones de streaming de Amazon WorkSpaces Applications integradas](specify-host-domain-embedded-streaming-sessions.md)
+ [Paso 2: creación de una URL de streaming para la autenticación de usuarios](create-streaming-url-user-authentication.md)
+ [Paso 3: Descarga los archivos de Amazon WorkSpaces Applications integrados](download-embed-files.md)
+ [Paso 4. Configure su sitio web para la integración con Amazon WorkSpaces Applications](configure-website-for-integration.md)
+ [Constantes, funciones y eventos para sesiones de streaming de WorkSpaces aplicaciones integradas de Amazon](constants-functions-events-embedded-sessions.md)

# Requisitos previos para incrustar sesiones de streaming de Amazon WorkSpaces Applications
<a name="embed-streaming-sessions-prerequisites"></a>

Para integrar una sesión de streaming de WorkSpaces aplicaciones en un sitio web, debe disponer de lo siguiente:
+ Un entorno de WorkSpaces aplicaciones configurado que incluye una imagen, una flota y una pila de WorkSpaces aplicaciones. Para obtener información sobre cómo crear estos recursos, consulte los siguientes temas de la *Guía de administración de WorkSpaces aplicaciones*: 
  +  [Tutorial: Crear una imagen de WorkSpaces aplicaciones personalizada mediante la consola de WorkSpaces aplicaciones](tutorial-image-builder.md) o [Cree la imagen de sus WorkSpaces aplicaciones de Amazon mediante programación mediante las operaciones CLI de Image Assistant](programmatically-create-image.md)
  + [Cree una flota en Amazon WorkSpaces Applications](set-up-stacks-fleets-create.md)
  + [Crea una pila en Amazon WorkSpaces Applications](set-up-stacks-fleets-install.md)
+ Una URL de streaming para la autenticación de usuarios. Actualmente, los grupos de usuarios de SAML 2.0 y WorkSpaces Applications no se admiten como métodos de autenticación para las sesiones de streaming de WorkSpaces aplicaciones integradas.
+ Si lo desea, puede utilizar dominios personalizados para las sesiones de streaming de WorkSpaces aplicaciones integradas. Puede usar dominios personalizados para que los usuarios vean la URL de su propia empresa en lugar de la URL de la WorkSpaces aplicación. Los dominios personalizados son necesarios si los usuarios tienen navegadores web que bloquean las cookies de terceros.
**nota**  
Puedes configurar dominios personalizados mediante Amazon CloudFront. Para obtener más información, consulte [Uso de dominios personalizados con WorkSpaces aplicaciones](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-custom-domains-with-amazon-appstream-2-0/).

  Cuando utiliza un dominio personalizado, debe:
  + Crear una URL de streaming que utilice el mismo dominio. 
  + **appstream-custom-url-domain**Añádalo al encabezado de la página web que alojará las sesiones de streaming de WorkSpaces las aplicaciones integradas. Para el valor del encabezado, utilice el dominio que el proxy inverso muestra a los usuarios. Para obtener más información, consulte [Requisitos de configuración para usar dominios personalizados](create-streaming-url-user-authentication.md#configuration-requirements-custom-domains).

# Recomendaciones y consideraciones de uso para incrustar sesiones de streaming de Amazon WorkSpaces Applications
<a name="embed-streaming-sessions-recommendations-considerations"></a>

Tenga en cuenta las siguientes recomendaciones y notas de uso para las sesiones de streaming de WorkSpaces aplicaciones integradas.
+ Para mantener el máximo control sobre la experiencia de streaming de WorkSpaces las aplicaciones integradas para sus usuarios, le recomendamos que configure la transmisión de corta duración, URLs que dure aproximadamente 5 segundos. Cualquier usuario puede inspeccionar el contenido de una página web y ver su origen. Esto incluye el modelo de objetos de documento (DOM) y la URL src (de origen) del iframe. Si la URL sigue siendo válida cuando un usuario la copia, ese usuario puede pegarla en otra pestaña del navegador y reproducir la sesión en streaming con la interfaz de usuario estándar del portal de WorkSpaces aplicaciones, sin las opciones de inserción.
+ No se admiten sesiones simultáneas cuando se utilizan dominios personalizados para las sesiones de streaming de WorkSpaces aplicaciones integradas. Las sesiones simultáneas se producen cuando los usuarios inician dos sesiones de streaming de WorkSpaces aplicaciones integradas en la misma página web o en dos pestañas diferentes del navegador. No puede haber un solo usuario con sesiones simultáneas, pero puede haber varios usuarios. Por ejemplo, un usuario inicia sesión en su aplicación, esta genera una URL de streaming para enviársela al cliente (que se considera un usuario único a efectos de facturación), un cliente carga la URL de streaming y se asigna a ese cliente a una instancia de AppStream dentro del grupo especificado.

# Paso 1: Especificar un dominio de host para las sesiones de streaming de Amazon WorkSpaces Applications integradas
<a name="specify-host-domain-embedded-streaming-sessions"></a>

Para incrustar una sesión de streaming de WorkSpaces aplicaciones en una página web, primero actualice la pila para especificar el dominio en el que se alojará la sesión de streaming integrada. Se trata de una medida de seguridad para garantizar que solo los dominios de sitios web autorizados puedan incrustar WorkSpaces las sesiones de streaming de las aplicaciones. WorkSpaces Applications agrega el dominio o los dominios que especifique al encabezado **Content-Security-Policy** (CSP). Para obtener más información, consulte [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) en la documentación de [MDN Web Docs](https://developer.mozilla.org/en-US/) de Mozilla.

Para actualizar la pila y especificar el dominio en el que se alojará la sesión de streaming integrada, utilice cualquiera de los métodos siguientes:
+ La consola de WorkSpaces aplicaciones
+ La acción `EmbedHostDomains` de la API 
+ El `embed-host-domains` AWS comando de la interfaz de línea de AWS comandos (CLI)

Para especificar un dominio host mediante la consola de WorkSpaces aplicaciones, lleve a cabo los siguientes pasos.

1. Abra la consola de WorkSpaces aplicaciones en [https://console.aws.amazon.com/appstream2/casa](https://console.aws.amazon.com/appstream2/home).

1. En el panel de navegación izquierdo, elija **Pilas** y seleccione la pila que desea.

1. Elija **Edit (Edición de)**.

1. Amplíe **Insertar WorkSpaces aplicaciones (opcional)**.

1. En **Dominios host**, especifique un dominio válido. Por ejemplo: **training.example.com**.
**nota**  
Las sesiones de streaming integradas solo se admiten a través de HTTPS [puerto TCP 443].

1. Elija **Actualizar**.

# Paso 2: creación de una URL de streaming para la autenticación de usuarios
<a name="create-streaming-url-user-authentication"></a>

Debe crear una URL de streaming para autenticar a los usuarios de las sesiones de streaming de WorkSpaces las aplicaciones integradas. En este momento, no se admiten ni SAML 2.0 ni los grupos de usuarios para las sesiones de streaming integradas. Para crear una URL de streaming, utilice uno de los métodos siguientes:
+ WorkSpaces Consola de aplicaciones
+ La acción [CreateStreamingde la API URL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) 
+ El comando [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS CLI

## Requisitos de configuración para usar dominios personalizados
<a name="configuration-requirements-custom-domains"></a>

Tanto si utiliza dominios personalizados para aplicar la marca de su empresa como para garantizar que las sesiones de streaming de WorkSpaces las aplicaciones integradas funcionen con navegadores que bloquean las cookies de terceros, los requisitos de configuración son los mismos.

Los dominios personalizados son necesarios para los navegadores web que bloquean las cookies de terceros. WorkSpaces Las aplicaciones utilizan cookies del navegador para autenticar las sesiones de streaming y permiten a los usuarios volver a conectarse a una sesión activa sin que se les pida que proporcionen sus credenciales de inicio de sesión cada vez. De forma predeterminada, WorkSpaces las aplicaciones de streaming se URLs incluyen **appstream.com** como dominio. Cuando se integra una sesión de streaming en un sitio web, **appstream.com** se trata como un dominio de terceros. En consecuencia, las sesiones de streaming pueden bloquearse cuando se utilizan navegadores modernos que bloquean las cookies de terceros de forma predeterminada.

Para evitar que las sesiones de streaming de WorkSpaces aplicaciones integradas se bloqueen en este escenario, siga estos pasos:

1. Especifique un dominio personalizado para alojar las sesiones de streaming de WorkSpaces las aplicaciones integradas.

   Cuando configure su dominio personalizado, asegúrese de que el dominio sea un subdominio de la página web en la que planea incrustar WorkSpaces las aplicaciones. Por ejemplo, si actualiza la pila para especificar **training.example.com** como dominio host, puede crear un subdominio denominado **content.training.example.com** para las sesiones de streaming integradas.

1. Cree una URL de streaming para las sesiones de streaming de WorkSpaces las aplicaciones integradas que utilicen el mismo subdominio personalizado. Para crear la URL de transmisión, utilice la acción de la API [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) o el comando [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS CLI. No puede usar la consola de WorkSpaces aplicaciones para crear una URL de transmisión en este escenario.

   Para crear una URL de streaming para las sesiones de streaming de WorkSpaces aplicaciones integradas, sustitúyala por **appstream2.** *region* **.aws.amazon.com** tu propio dominio en la URL. 

   De forma predeterminada, WorkSpaces las aplicaciones en streaming URLs tienen el siguiente formato:

   ```
   https://appstream2.region.aws.amazon.com/authenticate?parameters=authenticationcode
   ```

   Si su subdominio es **content.training.example.com**, la nueva URL de streaming tendrá este formato:

   ```
   https://content.training.example.com/authenticate?parameters=authenticationcode
   ```
**nota**  
Al crear un dominio personalizado, solo puede usarlo para las sesiones de streaming de WorkSpaces aplicaciones integradas en la AWS región para la que se configuró. Si planea admitir dominios personalizados en varias regiones, cree un dominio personalizado para cada región aplicable. Además, las sesiones de streaming integradas solo se admiten a través de HTTPS [puerto TCP 443].

1. Añada **appstream-custom-url-domain** al encabezado de la página web en la que se alojarán las sesiones de streaming integradas. Para el valor del encabezado, utilice el dominio que el proxy inverso muestra a los usuarios. Por ejemplo:

   ```
   Header name: appstream-custom-url-domain
   Header value: training.example.com
   ```

   Establecer un dominio personalizado y crear una URL de streaming que especifique el mismo dominio permite que las cookies se guarden como cookies propias. Para obtener información sobre cómo configurar dominios personalizados mediante Amazon CloudFront, consulta [Uso de dominios personalizados con WorkSpaces aplicaciones](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-custom-domains-with-amazon-appstream-2-0/).

Después de configurar un dominio personalizado para las sesiones de streaming de tus WorkSpaces aplicaciones integradas, si la transmisión URLs no redirige a tu dominio personalizado o si tu dominio personalizado no se muestra correctamente para los usuarios, consulta los siguientes temas de solución de problemas:
+ [He configurado un dominio personalizado para las sesiones de streaming de mis WorkSpaces aplicaciones integradas, pero la transmisión de mis WorkSpaces aplicaciones URLs no se redirige a mi dominio personalizado.](troubleshooting-general.md#embedded-streaming-sessions-streaming-urls-not-redirected-to-custom-domain)

# Paso 3: Descarga los archivos de Amazon WorkSpaces Applications integrados
<a name="download-embed-files"></a>

Para alojar sesiones de streaming de WorkSpaces aplicaciones integradas, debe descargar y configurar el JavaScript archivo API de WorkSpaces aplicaciones proporcionado.

1. <version>En la página web [Cómo incrustar WorkSpaces aplicaciones en su sitio web](https://clients.amazonappstream.com/embed.html), elija el enlace del paso 1 para descargar el archivo.zip del kit de incrustación de WorkSpaces aplicaciones, **appstream\$1embed\$1** .zip.

1. Desplácese hasta la ubicación donde descargó el archivo.zip y extraiga el contenido del archivo.

1. El contenido extraído del archivo incluye una carpeta, **appstream-embed**. Además de **COPYRIGHT.txt** y **THIRD\$1PARTY\$1NOTICES.txt **, esta carpeta contiene los dos archivos siguientes:
   + **appstream-embed.js**: proporciona la API de WorkSpaces aplicaciones integrada. Este JavaScript archivo incluye las funciones y acciones de la API para configurar y controlar la sesión de streaming de WorkSpaces las aplicaciones integradas.
   + **embed-sample.html**: describe cómo utilizar la API de WorkSpaces aplicaciones integrada para inicializar una sesión de streaming, llamar a funciones y escuchar eventos. Este archivo de ejemplo amplía la información de este tema proporcionando a los desarrolladores un ejemplo de caso de uso.

# Paso 4. Configure su sitio web para la integración con Amazon WorkSpaces Applications
<a name="configure-website-for-integration"></a>

En las siguientes secciones se proporciona información sobre cómo configurar su página web para alojar sesiones de streaming de WorkSpaces aplicaciones integradas.

**Topics**
+ [Importar el archivo appstream-embed JavaScript](#import-embed-javascript-file)
+ [Inicializar y configurar el objeto de interfaz `AppStream.Embed`](#initialize-configure-embed-interface-object)
+ [Ejemplos de ocultación de elementos en la interfaz de usuario de la WorkSpaces aplicación](#examples-hiding-user-interface-items)

## Importar el archivo appstream-embed JavaScript
<a name="import-embed-javascript-file"></a>

1. En la página web en la que planea incrustar la sesión de streaming de WorkSpaces Applications, importe el archivo **appstream-embed.js** a la página web añadiendo el siguiente código:

   ```
   <script type="text/javascript" src="./appstream_embed.js"> </script>
   ```

1. A continuación, cree un contenedor div vacío. El ID del div que defina se pasa al constructor de incrustación de WorkSpaces aplicaciones. A continuación, se usa para inyectar un iframe para la sesión de streaming. Para crear el div, añada el siguiente código:

   ```
   <div id="appstream-container"> </div>
   ```

## Inicializar y configurar el objeto de interfaz `AppStream.Embed`
<a name="initialize-configure-embed-interface-object"></a>

Para inicializar el objeto de `AppStream.Embed` interfaz JavaScript, debe agregar código que cree un `AppStream.Embed` objeto con opciones para la configuración de la URL de transmisión y la interfaz de usuario. Estas opciones, así como el ID div que ha creado, se almacenan en un objeto denominado `appstreamOptions`.

El código de ejemplo siguiente muestra cómo inicializar el objeto de interfaz `AppStream.Embed`.

```
var appstreamOptions = {
     sessionURL: 'https://appstream2.region.aws.amazon.com/authenticate?parameters=authenticationcode...',
     userInterfaceConfig:{[AppStream.Embed.Options.HIDDEN_ELEMENTS]:[AppStream.Embed.Elements.TOOLBAR]}
 };
 appstreamEmbed = new AppStream.Embed("appstream-container", appstreamOptions);
```

En el código, sustituya *sessionURL* y *userInterfaceConfig* por sus propios valores. 

**nota**  
El valor especificado para *userInterfaceConfig* oculta toda la barra de herramientas de WorkSpaces aplicaciones. Este valor, que se incluye como ejemplo, es opcional.

***sessionUrl***  
La URL de transmisión que creó mediante la consola de WorkSpaces aplicaciones, la acción de la API [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) o el comando [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS CLI. Este parámetro distingue entre mayúsculas y minúsculas.  
**Tipo:** cadena  
**Obligatorio**: sí

***userInterfaceConfig***  
La configuración que genera el estado inicial de los elementos de la interfaz de usuario. La configuración es un par de clave-valor.   
La clave,`AppStream.Embed.Options.HIDDEN_ELEMENTS`, especifica los objetos de la interfaz de usuario que se ocultan inicialmente cuando se inicializa la sesión de streaming de WorkSpaces las aplicaciones integradas. Posteriormente, puede devolver tanto objetos ocultos como visibles mediante el parámetro `getInterfaceState`.  
El valor es una matriz de constantes (botones de la barra de herramientas). Para obtener una lista de constantes que puede utilizar, consulte [Uso de `HIDDEN_ELEMENTS`](constants-functions-events-embedded-sessions.md#constants-hidden-elements).  
**Tipo**: Mapa (*key*:*value*)  
**Obligatorio**: no

## Ejemplos de ocultación de elementos en la interfaz de usuario de la WorkSpaces aplicación
<a name="examples-hiding-user-interface-items"></a>

Los ejemplos de esta sección muestran cómo ocultar a los usuarios los elementos de la interfaz de usuario de WorkSpaces las aplicaciones durante las sesiones de streaming de WorkSpaces las aplicaciones integradas.

**Topics**
+ [Ejemplo 1: Ocultar toda la barra de herramientas de WorkSpaces aplicaciones](#example-hide-the-entire-tooolbar)
+ [Ejemplo 2: Ocultar un botón específico en la barra de herramientas de WorkSpaces aplicaciones](#example-hide-a-specific-toolbar-button)
+ [Ejemplo 3: Ocultar varios botones de la barra de herramientas de WorkSpaces aplicaciones](#example-hide-multiple-toolbar-buttons)

### Ejemplo 1: Ocultar toda la barra de herramientas de WorkSpaces aplicaciones
<a name="example-hide-the-entire-tooolbar"></a>

Para evitar que los usuarios accedan a cualquier botón de la barra de herramientas de WorkSpaces aplicaciones durante las sesiones de streaming integradas, utilice la `AppStream.Embed.Elements.TOOLBAR` constante. Esta constante permite ocultar todos los botones de la barra de herramientas de WorkSpaces aplicaciones.

```
var appstreamOptions = {
     sessionURL: 'https://appstream2.region.aws.amazon.com/authenticate?parameters=authenticationcode...',
     userInterfaceConfig:{[AppStream.Embed.Options.HIDDEN_ELEMENTS]:[AppStream.Embed.Elements.TOOLBAR]}
 };
```

### Ejemplo 2: Ocultar un botón específico en la barra de herramientas de WorkSpaces aplicaciones
<a name="example-hide-a-specific-toolbar-button"></a>

Puede mostrar la barra de herramientas de WorkSpaces aplicaciones y, al mismo tiempo, impedir que los usuarios accedan a un botón específico de la barra de herramientas durante las sesiones de streaming integradas. Para ello, especifique la constante del botón que desea ocultar. El código siguiente utiliza la constante `AppStream.Embed.Elements.FILES_BUTTON` para ocultar el botón **My Files (Mis archivos)**. Esto impide que los usuarios accedan a las opciones de almacenamiento persistente durante las sesiones de streaming integradas.

```
var appstreamOptions = {
     sessionURL: 'https://appstream2.region.aws.amazon.com/authenticate?parameters=authenticationcode...',
     userInterfaceConfig:{[AppStream.Embed.Options.HIDDEN_ELEMENTS]:[AppStream.Embed.Elements.FILES_BUTTON]}
 };
```

### Ejemplo 3: Ocultar varios botones de la barra de herramientas de WorkSpaces aplicaciones
<a name="example-hide-multiple-toolbar-buttons"></a>

Puede mostrar la barra de herramientas de WorkSpaces aplicaciones y, al mismo tiempo, impedir que los usuarios accedan a más de un botón de la barra de herramientas durante las sesiones de streaming integradas. Para ello, especifique las constantes de los botones que desea ocultar. El código siguiente utiliza las constantes `AppStream.Embed.Elements.END_SESSION_BUTTON` y `AppStream.Embed.Elements.FULLSCREEN_BUTTON` para ocultar los botones **Finalizar sesión** y **Pantalla completa**. 

**nota**  
Separe las constantes entre sí mediante comas, sin espacio anterior ni posterior.

```
var appstreamOptions = {
     sessionURL: 'https://appstream2.region.aws.amazon.com/authenticate?parameters=authenticationcode... (https://appstream2.region.aws.amazon.com/#/)',
     userInterfaceConfig:{[AppStream.Embed.Options.HIDDEN_ELEMENTS]:[AppStream.Embed.Elements.END_SESSION_BUTTON,AppStream.Embed.Elements.FULLSCREEN_BUTTON]}
 };
```

# Constantes, funciones y eventos para sesiones de streaming de WorkSpaces aplicaciones integradas de Amazon
<a name="constants-functions-events-embedded-sessions"></a>

Los siguientes temas proporcionan información de referencia sobre las constantes, las funciones y los eventos que puede utilizar para configurar las sesiones de streaming de WorkSpaces aplicaciones integradas.

**Topics**
+ [Uso de `HIDDEN_ELEMENTS`](#constants-hidden-elements)
+ [Funciones para el objeto `AppStream.Embed`](#functions-embed-object)
+ [Eventos para WorkSpaces aplicaciones integradas: sesiones de streaming](#events-embedded-streaming-sessions)
+ [Ejemplos para añadir detectores de eventos y finalizar una sesión de streaming de WorkSpaces aplicaciones integradas](#examples-add-event-listeners-end-embedded-streaming-session)

Los siguientes elementos de la interfaz de usuario de WorkSpaces las aplicaciones se pueden pasar a la opción de `HIDDEN_ELEMENTS` configuración cuando se inicializa una sesión de streaming de WorkSpaces aplicaciones integradas.

## Uso de `HIDDEN_ELEMENTS`
<a name="constants-hidden-elements"></a>

Los siguientes elementos de la interfaz de usuario de WorkSpaces las aplicaciones se pueden pasar como constantes a la opción de `HIDDEN_ELEMENTS` configuración cuando se inicializa una sesión de streaming de WorkSpaces aplicaciones integradas. 

```
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
```

Los tres elementos siguientes se pueden pasar como cadenas a HIDDEN\$1ELEMENTS, en lugar de hacerlo como constantes.


| Cadena | Description (Descripción) | 
| --- | --- | 
| 'adminCommandsButton' | Cuando está conectado a un generador de imágenes de WorkSpaces aplicaciones, el botón Comandos de administración aparece en la esquina superior derecha de la barra de herramientas de WorkSpaces aplicaciones. Al pasar esta cadena a HIDDEN\$1ELEMENTS, se oculta el botón Comandos de administración. | 
| 'softKeyboardButton' | Durante WorkSpaces las sesiones de streaming de aplicaciones en dispositivos táctiles, los usuarios pueden tocar el icono del teclado en la barra de herramientas de WorkSpaces aplicaciones para que aparezca el teclado en pantalla. Al pasar esta cadena a HIDDEN\$1ELEMENTS, se oculta el icono del teclado. | 
| 'keyboardShortcutsButton' | Durante WorkSpaces las sesiones de streaming de aplicaciones en dispositivos táctiles, los usuarios pueden pulsar el icono Fn de la barra de herramientas de WorkSpaces aplicaciones para ver los atajos de teclado. Al pasar esta cadena a HIDDEN\$1ELEMENTS, se oculta el icono Fn. | 

## Funciones para el objeto `AppStream.Embed`
<a name="functions-embed-object"></a>

En la tabla siguiente, se enumeran las funciones que se pueden ejecutar con el objeto `AppStream.Embed`. 


| Función | Description (Descripción) | 
| --- | --- | 
| AppStream.Embed(containerId:string, options:object) | El generador de objetos AppStream.Embed. Este generador inicializa el objeto AppStream.Embed y se comunica con él. Además, utiliza un ID de contenedor div. El ID se usa para inyectar el iframe. También inserta un objeto que incluye las opciones de configuración de (y). appstreamOptions sessionURL HIDDEN\$1ELEMENTS  | 
| endSession() | Esta función finaliza la sesión de streaming, pero no destruye el iframe. Si especifica una URL de redirección, el iframe intenta cargar la URL. Según los encabezados CORS de la página, es posible que la URL no se cargue.  | 
| launchApp(appId:string) | Esta función inicia mediante programación una aplicación con el ID de aplicación que se especificó al crear la imagen.  | 
| launchAppSwitcher() | Esta función envía el AppSwitcher comando al portal de WorkSpaces aplicaciones. Esto activa el comando AppSwitcher en la instancia.  | 
| getSessionState() | Esta función devuelve un objeto para sessionStatus. Para obtener más información, consulte [Eventos para WorkSpaces aplicaciones integradas: sesiones de streaming](#events-embedded-streaming-sessions).  | 
| getUserInterfaceState() | Esta función devuelve un objeto para `UserInterfaceState`. El objeto contiene los pares de clave-valor para lo siguiente:  `sessionStatus`: enumeración de estados `sessionTerminationReason`: cadena `sessionDisconnectionReason`: cadena  Para obtener más información, consulte [Eventos para WorkSpaces aplicaciones integradas: sesiones de streaming](#events-embedded-streaming-sessions).  | 
| addEventListener(name, callback) | Esta función agrega una función de devolución de llamada a la que llamar cuando se activa el evento especificado. Para obtener una lista de los eventos que se pueden activar, consulte [Eventos para WorkSpaces aplicaciones integradas: sesiones de streaming](#events-embedded-streaming-sessions).  | 
| removeEventListener(name, callback) | Esta función elimina la devolución de llamada para los eventos especificados.  | 
| destroy() | Esta función elimina el iframe y limpia los recursos. Esta función no afecta a las sesiones de streaming en curso.  | 

## Eventos para WorkSpaces aplicaciones integradas: sesiones de streaming
<a name="events-embedded-streaming-sessions"></a>

En la siguiente tabla se enumeran los eventos que se pueden activar durante las sesiones de streaming de WorkSpaces aplicaciones integradas.


| Event | Datos | Description (Descripción) | 
| --- | --- | --- | 
| AppStream.Embed.Events.SESSION\$1STATE\$1CHANGE |  `sessionStatus`: `State enumeration` `sessionTerminationReason`: cadena `sessionDisconnectionReason`: cadena  | Este evento se activa cuando se produce cualquier cambio en el estado de la sesión. El evento incluye un mapa de los estados que han cambiado. Para recuperar el estado de la sesión completa, utilice la función `getSessionState()`. A continuación se muestran los estados de sesión: `AppStream.Embed.SessionStatus.Unknown` - La sesión no se ha iniciado ni está reservada. `AppStream.Embed.SessionStatus.Reserved` - La sesión está reservada, pero no se ha iniciado.  `AppStream.Embed.SessionStatus.Started` - El usuario se ha conectado a la sesión y ha comenzado a transmitir en streaming. `AppStream.Embed.SessionStatus Disconnected ` - El usuario se ha desconectado de la sesión. `AppStream.Embed.SessionStatus.Ended` - La sesión se ha marcado como finalizada o expirada.  | 
| AppStream.Embed.Events.SESSION\$1INTERFACE\$1STATE\$1CHANGE | `hiddenElements`: matriz de cadenas  `isFullscreen`: booleano `isSoftKeyboardVisible`: booleano  | Este evento se activa cuando se produce cualquier cambio en el estado de la sesión. El evento incluye un mapa de los estados que han cambiado. Para recuperar el estado de la sesión completa, utilice la función getSessionState(). | 
| AppStream.Embed.Events.SESSION\$1ERROR | `errorCode`: número `errorMessage`: cadena  | Este evento se activa cuando se producen errores durante una sesión. | 

## Ejemplos para añadir detectores de eventos y finalizar una sesión de streaming de WorkSpaces aplicaciones integradas
<a name="examples-add-event-listeners-end-embedded-streaming-session"></a>

Los ejemplos de esta sección muestran cómo hacer lo siguiente:
+ Agregue detectores de eventos para las sesiones de streaming de WorkSpaces aplicaciones integradas.
+ Finalice mediante programación una sesión de streaming de WorkSpaces aplicaciones integradas.

### Ejemplo 1: añadir detectores de eventos para las sesiones de streaming de aplicaciones integradas WorkSpaces
<a name="example-add-event-listeners"></a>

Para agregar detectores de eventos para cambios de estado de sesión, cambios de estado de interfaz de sesión y errores de sesión durante sesiones de streaming integradas, utilice el código siguiente:

```
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);
```

En este ejemplo, `AppStream.Embed.Events.SESSION_STATE_CHANGE`, `AppStream.Embed.Events.SESSION_INTERFACE_STATE_CHANGE` y `AppStream.Embed.Events.SESSION_ERROR` son nombres de eventos.

Las funciones `updateSessionStateCallback`, `updateUserInterfaceStateCallback` y `errorCallback` son las que se implementan. Estas funciones se pasan a la función `addEventListener` y se las llama cuando se activa un evento.

### Ejemplo 2: Finalizar mediante programación una sesión de streaming de aplicaciones integradas WorkSpaces
<a name="programmatically-end-embedded-streaming-session"></a>

Para finalizar una sesión de streaming de WorkSpaces aplicaciones integradas, utilice la siguiente función:

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