

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Incorpore sessões de streaming de WorkSpaces aplicativos da Amazon
<a name="embed-streaming-sessions"></a>

Você pode criar uma experiência dinâmica, interativa e personalizada para seus usuários incorporando uma sessão de streaming de WorkSpaces aplicativos ao seu site. As sessões de streaming de WorkSpaces aplicativos incorporados permitem que seus usuários interajam com modelos 3D, mapas e conjuntos de dados diretamente do seu site. Por exemplo, os usuários podem ver instruções de treinamento ou materiais educacionais junto com a sessão de streaming de WorkSpaces aplicativos. 

**Topics**
+ [Pré-requisitos para incorporar sessões de streaming de aplicativos da Amazon WorkSpaces](embed-streaming-sessions-prerequisites.md)
+ [Recomendações e considerações de uso para incorporar sessões de streaming de WorkSpaces aplicativos da Amazon](embed-streaming-sessions-recommendations-considerations.md)
+ [Etapa 1: Especificar um domínio de host para sessões de streaming de WorkSpaces aplicativos incorporados da Amazon](specify-host-domain-embedded-streaming-sessions.md)
+ [Etapa 2: Criar um URL de streaming para autenticação de usuário](create-streaming-url-user-authentication.md)
+ [Etapa 3: Baixe os arquivos de WorkSpaces aplicativos incorporados da Amazon](download-embed-files.md)
+ [Etapa 4: Configure seu site para integração com os WorkSpaces aplicativos da Amazon](configure-website-for-integration.md)
+ [Constantes, funções e eventos para sessões de streaming de WorkSpaces aplicativos incorporados da Amazon](constants-functions-events-embedded-sessions.md)

# Pré-requisitos para incorporar sessões de streaming de aplicativos da Amazon WorkSpaces
<a name="embed-streaming-sessions-prerequisites"></a>

Para incorporar uma sessão de streaming de WorkSpaces aplicativos em um site, você deve ter o seguinte:
+ Um ambiente de WorkSpaces aplicativos configurado que inclui uma imagem, frota e pilha de WorkSpaces aplicativos. Para obter informações sobre como criar esses recursos, consulte os tópicos a seguir no *Guia de Administração de WorkSpaces Aplicativos*: 
  +  [Tutorial: Crie uma imagem de WorkSpaces aplicativos personalizada usando o console de WorkSpaces aplicativos](tutorial-image-builder.md) ou [Crie sua imagem de WorkSpaces aplicativos da Amazon de forma programática usando as operações de CLI do Image Assistant](programmatically-create-image.md)
  + [Crie uma frota nos WorkSpaces aplicativos da Amazon](set-up-stacks-fleets-create.md)
  + [Crie uma pilha nos aplicativos da Amazon WorkSpaces](set-up-stacks-fleets-install.md)
+ Um URL de streaming para autenticação de usuário. No momento, os grupos de usuários do SAML 2.0 e dos WorkSpaces aplicativos não são suportados como métodos de autenticação para sessões de streaming de WorkSpaces aplicativos incorporados.
+ Opcionalmente, você pode usar domínios personalizados para sessões de streaming de WorkSpaces aplicativos incorporados. Você pode usar domínios personalizados para que o URL da sua própria empresa seja exibido para os usuários em vez de um URL de WorkSpaces aplicativos. Domínios personalizados são necessários se seus usuários tiverem navegadores da Web que bloqueiam cookies de terceiros.
**nota**  
Você pode configurar domínios personalizados usando a Amazon CloudFront. Para obter informações, consulte [Usando domínios personalizados com WorkSpaces aplicativos.](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-custom-domains-with-amazon-appstream-2-0/)

  Ao usar um domínio personalizado, você deve:
  + Criar um URL de streaming que use o mesmo domínio. 
  + Adicione **appstream-custom-url-domain** ao cabeçalho da página da web que hospedará as sessões de streaming de WorkSpaces aplicativos incorporados. Para o valor de cabeçalho, use o domínio que o proxy reverso exibe para os usuários. Para obter mais informações, consulte [Requisitos de configuração para uso de domínios personalizados](create-streaming-url-user-authentication.md#configuration-requirements-custom-domains).

# Recomendações e considerações de uso para incorporar sessões de streaming de WorkSpaces aplicativos da Amazon
<a name="embed-streaming-sessions-recommendations-considerations"></a>

Considere as seguintes recomendações e notas de uso para sessões de streaming de WorkSpaces aplicativos incorporados.
+ Para manter o máximo controle sobre a experiência de streaming de WorkSpaces aplicativos incorporados para seus usuários, recomendamos que você configure um streaming de curta duração URLs que dure aproximadamente 5 segundos. Qualquer usuário pode inspecionar o conteúdo de uma página da Web e visualizar sua fonte. Isso inclui o modelo de objeto do documento (DOM) e o URL de src (origem) do iframe. Se a URL ainda for válida quando um usuário a copiar, esse usuário poderá colar a URL em uma guia separada do navegador e transmitir a sessão com a interface de usuário padrão do portal de WorkSpaces aplicativos, sem as opções de incorporação.
+ Não há suporte para sessões simultâneas quando domínios personalizados são usados para sessões de streaming de WorkSpaces aplicativos incorporados. As sessões simultâneas ocorrem quando os usuários iniciam duas sessões de streaming de WorkSpaces aplicativos incorporados na mesma página da web ou em duas guias diferentes do navegador. Não é possível ter um único usuário com sessões simultâneas, mas é possível ter vários usuários. Por exemplo, um usuário faz login em sua aplicação, o que gera um URL de streaming para fornecer ao cliente (isso conta como um usuário exclusivo para fins de cobrança). Depois, um cliente carrega o URL de streaming e é atribuído a uma instância appstream dentro do grupo especificado.

# Etapa 1: Especificar um domínio de host para sessões de streaming de WorkSpaces aplicativos incorporados da Amazon
<a name="specify-host-domain-embedded-streaming-sessions"></a>

Para incorporar uma sessão de streaming de WorkSpaces aplicativos em uma página da web, primeiro atualize sua pilha para especificar o domínio para hospedar a sessão de streaming incorporada. Essa é uma medida de segurança para garantir que somente domínios de sites autorizados possam incorporar sessões de streaming de WorkSpaces aplicativos. WorkSpaces Os aplicativos adicionam o domínio ou domínios que você especifica ao cabeçalho **Content-Security-Policy** (CSP). Para obter mais informações, consulte [Política de Segurança de Conteúdo (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) na documentação [MDN Web Docs](https://developer.mozilla.org/en-US/) do Mozilla.

Para atualizar sua pilha para especificar o domínio para hospedar a sessão de streaming incorporada, use qualquer um dos seguintes métodos:
+ O console WorkSpaces de aplicativos
+ A ação de API `EmbedHostDomains`. 
+ O `embed-host-domains` AWS comando da interface de linha de comando (AWS CLI)

Para especificar um domínio de host usando o console de WorkSpaces aplicativos, execute as etapas a seguir.

1. Abra o console de WorkSpaces aplicativos em [https://console.aws.amazon.com/appstream2/casa](https://console.aws.amazon.com/appstream2/home).

1. No painel de navegação à esquerda, selecione **Stacks (Pilhas)** e selecione a pilha desejada.

1. Escolha **Editar**.

1. Expanda **Incorporar WorkSpaces aplicativos (opcional).**

1. Em **Host Domains (Domínios de Host)**, especifique um domínio válido. Por exemplo: **training.example.com**.
**nota**  
As sessões de streaming incorporadas só são permitidas via HTTPS [porta TCP 443].

1. Selecione **Atualizar**.

# Etapa 2: Criar um URL de streaming para autenticação de usuário
<a name="create-streaming-url-user-authentication"></a>

Você deve criar uma URL de streaming para autenticar usuários para sessões de streaming de WorkSpaces aplicativos incorporados. No momento, o SAML 2.0 e os grupos de usuários não são compatíveis para sessões de streaming incorporadas. Para criar um URL de streaming, use um dos seguintes métodos:
+ WorkSpaces Console de aplicativos
+ A ação [CreateStreamingda API de URL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) 
+ O [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS comando CLI

## Requisitos de configuração para uso de domínios personalizados
<a name="configuration-requirements-custom-domains"></a>

Se você usa domínios personalizados para aplicar a marca da sua empresa ou para garantir que as sessões de streaming de WorkSpaces aplicativos incorporados funcionem com navegadores que bloqueiam cookies de terceiros, os requisitos de configuração são os mesmos.

Os domínios personalizados são necessários para navegadores da web que bloqueiam cookies de terceiros. WorkSpaces Os aplicativos usam cookies do navegador para autenticar sessões de streaming e permitem que os usuários se reconectem a uma sessão ativa sem serem solicitados a fornecer suas credenciais de login todas as vezes. Por padrão, o streaming de WorkSpaces aplicativos URLs inclui **appstream.com** como domínio. Quando você incorpora uma sessão de streaming ao seu site, **appstream.com** é tratado como domínio de terceiros. Como resultado, as sessões de streaming podem ser bloqueadas quando navegadores modernos são usados para bloquear cookies de terceiros por padrão.

Para evitar que as sessões de streaming de WorkSpaces aplicativos incorporados sejam bloqueadas nesse cenário, siga estas etapas:

1. Especifique um domínio personalizado para hospedar suas sessões de streaming de WorkSpaces aplicativos incorporados.

   Ao configurar seu domínio personalizado, certifique-se de que o domínio seja um subdomínio da página da Web na qual você planeja WorkSpaces incorporar aplicativos. Por exemplo, se atualizar sua pilha para especificar **training.example.com** como o domínio do host, você poderá criar um subdomínio chamado **content.training.example.com** para suas sessões de streaming incorporadas.

1. Crie uma URL de streaming para sessões de streaming de WorkSpaces aplicativos incorporados que usem o mesmo subdomínio personalizado. Para criar o URL de streaming, use a ação da API de [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) ou o [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS comando CLI. Você não pode usar o console de WorkSpaces aplicativos para criar uma URL de streaming nesse cenário.

   Para criar uma URL de streaming para sessões de streaming de WorkSpaces aplicativos incorporados, na URL, **appstream2.** *region* **.aws.amazon.com** substitua por seu próprio domínio. 

   Por padrão, o streaming de WorkSpaces aplicativos URLs é formatado da seguinte forma:

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

   Se o seu subdomínio for **content.training.example.com**, o novo URL de streaming seguirá este formato:

   ```
   https://content.training.example.com/authenticate?parameters=authenticationcode
   ```
**nota**  
Ao criar um domínio personalizado, você pode usar o domínio para sessões de streaming de WorkSpaces aplicativos incorporados somente na AWS região para a qual ele foi configurado. Se você planeja oferecer suporte a domínios personalizados em várias regiões, crie um domínio personalizado para cada região aplicável. Além disso, as sessões de streaming incorporadas só são permitidas via HTTPS [porta TCP 443].

1. Adicione **appstream-custom-url-domain** ao cabeçalho da página da Web que hospedará as sessões de streaming incorporadas. Para o valor de cabeçalho, use o domínio que o proxy reverso exibe para os usuários. Por exemplo:

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

   Definir um domínio personalizado e criar um URL de streaming que especifique o mesmo domínio permite que os cookies sejam salvos como cookies primários. Para obter informações sobre como configurar domínios personalizados usando a Amazon CloudFront, consulte [Usando domínios personalizados com WorkSpaces aplicativos](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-custom-domains-with-amazon-appstream-2-0/).

Depois de configurar um domínio personalizado para suas sessões de streaming de WorkSpaces aplicativos incorporados, se seu streaming URLs não redirecionar para seu domínio personalizado ou se seu domínio personalizado não for exibido corretamente para seus usuários, consulte os seguintes tópicos de solução de problemas:
+ [Eu configurei um domínio personalizado para minhas sessões de streaming de WorkSpaces aplicativos incorporados, mas meu streaming de WorkSpaces aplicativos URLs não está sendo redirecionado para meu domínio personalizado.](troubleshooting-general.md#embedded-streaming-sessions-streaming-urls-not-redirected-to-custom-domain)

# Etapa 3: Baixe os arquivos de WorkSpaces aplicativos incorporados da Amazon
<a name="download-embed-files"></a>

Para hospedar sessões de streaming de WorkSpaces aplicativos incorporados, você deve baixar e configurar o JavaScript arquivo de API de WorkSpaces aplicativos fornecido.

1. **Na página [Incorporando WorkSpaces aplicativos em seu site](https://clients.amazonappstream.com/embed.html), escolha o link na etapa 1 para baixar o arquivo.zip do WorkSpaces Applications Embed Kit, appstream\$1embed\$1 .zip.** <version>

1. Navegue até o local onde você baixou o arquivo .zip e extraia o conteúdo do arquivo.

1. O conteúdo extraído do arquivo contém uma pasta, **appstream-embed**. Além dos arquivos **Copyright.txt** e **Third\$1Party\$1Notices.txt **, essa pasta contém os dois arquivos a seguir:
   + **appstream-embed.js** — Fornece a API de WorkSpaces aplicativos incorporada. Esse JavaScript arquivo inclui as funções e ações de API para configurar e controlar sua sessão de streaming de WorkSpaces aplicativos incorporados.
   + **embed-sample.html** — Descreve como usar a API de WorkSpaces aplicativos incorporada para inicializar uma sessão de streaming, chamar funções e ouvir eventos. Este arquivo de exemplo expande as informações neste tópico para fornecer um exemplo de caso de uso para desenvolvedores.

# Etapa 4: Configure seu site para integração com os WorkSpaces aplicativos da Amazon
<a name="configure-website-for-integration"></a>

As seções a seguir fornecem informações sobre como configurar sua página da web para hospedar sessões de streaming de WorkSpaces aplicativos incorporados.

**Topics**
+ [Importar o arquivo JavaScript appstream-embed](#import-embed-javascript-file)
+ [Inicializar e configurar o objeto de interface `AppStream.Embed`](#initialize-configure-embed-interface-object)
+ [Exemplos para ocultar itens na interface de usuário do WorkSpaces aplicativo](#examples-hiding-user-interface-items)

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

1. Na página da Web em que você planeja incorporar a sessão de streaming de WorkSpaces Aplicativos, importe o arquivo **appstream-embed.js** para a página da Web adicionando o seguinte código:

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

1. Em seguida, crie um div de contêiner vazio. O ID do div que você definiu é passado para o construtor de incorporação de WorkSpaces aplicativos. Ele é usado, então, para injetar um iframe à sessão de streaming. Para criar o div, adicione o seguinte código:

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

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

Para inicializar o objeto de `AppStream.Embed` interface em JavaScript, você deve adicionar um código que crie um `AppStream.Embed` objeto com opções para o URL de streaming e a configuração da interface do usuário. Essas opções e o ID do div que você criou são armazenados em um objeto chamado `appstreamOptions`.

O código de exemplo a seguir mostra como inicializar o objeto de interface `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);
```

No código, substitua *sessionURL* e *userInterfaceConfig* por seus próprios valores. 

**nota**  
O valor especificado para *userInterfaceConfig* oculta toda a barra de ferramentas de WorkSpaces aplicativos. Esse valor, que é incluído como exemplo, é opcional.

***sessionUrl***  
O URL de streaming que você criou usando o console de WorkSpaces aplicativos, a ação da API de [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) ou o comando da [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS CLI. Esse parâmetro diferencia maiúsculas de minúsculas.  
**Tipo:** string  
**Obrigatório**: Sim

***userInterfaceConfig***  
A configuração que gera o estado inicial dos elementos da interface do usuário. A configuração é um par de chave/valor.   
A chave,`AppStream.Embed.Options.HIDDEN_ELEMENTS`, especifica os objetos da interface do usuário que ficam inicialmente ocultos quando a sessão de streaming de WorkSpaces aplicativos incorporados é inicializada. Posteriormente, você pode retornar objetos ocultos e visíveis usando o parâmetro `getInterfaceState`.  
O valor é uma matriz de constantes (botões da barra de ferramentas). Para obter uma lista de constantes que podem ser usadas, consulte [Trabalhar com o `HIDDEN_ELEMENTS`](constants-functions-events-embedded-sessions.md#constants-hidden-elements).  
**Tipo**: Mapa (*key*:*value*)  
**Obrigatório**: não

## Exemplos para ocultar itens na interface de usuário do WorkSpaces aplicativo
<a name="examples-hiding-user-interface-items"></a>

Os exemplos nesta seção mostram como ocultar itens na interface de usuário dos WorkSpaces aplicativos dos usuários durante as sessões de streaming de WorkSpaces aplicativos incorporados.

**Topics**
+ [Exemplo 1: ocultar toda a barra de ferramentas de WorkSpaces aplicativos](#example-hide-the-entire-tooolbar)
+ [Exemplo 2: Ocultar um botão específico na barra de ferramentas de WorkSpaces aplicativos](#example-hide-a-specific-toolbar-button)
+ [Exemplo 3: Ocultar vários botões na barra de ferramentas de WorkSpaces aplicativos](#example-hide-multiple-toolbar-buttons)

### Exemplo 1: ocultar toda a barra de ferramentas de WorkSpaces aplicativos
<a name="example-hide-the-entire-tooolbar"></a>

Para impedir que os usuários acessem qualquer botão na barra de ferramentas de WorkSpaces aplicativos durante as sessões de streaming incorporadas, use a `AppStream.Embed.Elements.TOOLBAR` constante. Essa constante permite ocultar todos os botões da barra de ferramentas de WorkSpaces aplicativos.

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

### Exemplo 2: Ocultar um botão específico na barra de ferramentas de WorkSpaces aplicativos
<a name="example-hide-a-specific-toolbar-button"></a>

Você pode exibir a barra de ferramentas de WorkSpaces aplicativos e, ao mesmo tempo, impedir que os usuários acessem um botão específico da barra de ferramentas durante as sessões de streaming incorporadas. Para fazer isso, especifique a constante para o botão que você deseja ocultar. O código a seguir usa a constante `AppStream.Embed.Elements.FILES_BUTTON` para ocultar o botão **My Files (Meus arquivos)** . Isso impede que os usuários acessem opções de armazenamento persistente durante as sessões de streaming incorporadas.

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

### Exemplo 3: Ocultar vários botões na barra de ferramentas de WorkSpaces aplicativos
<a name="example-hide-multiple-toolbar-buttons"></a>

Você pode exibir a barra de ferramentas de WorkSpaces aplicativos e, ao mesmo tempo, impedir que os usuários acessem mais de um botão da barra de ferramentas durante as sessões de streaming incorporadas. Para fazer isso, especifique as constantes para os botões que você deseja ocultar. O código a seguir usa as constantes `AppStream.Embed.Elements.END_SESSION_BUTTON` e `AppStream.Embed.Elements.FULLSCREEN_BUTTON` para ocultar os botões **End Session (Encerrar sessão)** e **Fullscreen (Modo de tela inteira)**. 

**nota**  
Separe cada constante com uma vírgula, sem espaço anterior ou 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, funções e eventos para sessões de streaming de WorkSpaces aplicativos incorporados da Amazon
<a name="constants-functions-events-embedded-sessions"></a>

Os tópicos a seguir fornecem informações de referência para constantes, funções e eventos que você pode usar para configurar sessões de streaming de WorkSpaces aplicativos incorporados.

**Topics**
+ [Trabalhar com o `HIDDEN_ELEMENTS`](#constants-hidden-elements)
+ [Funções para o objeto `AppStream.Embed`](#functions-embed-object)
+ [Eventos para sessões de streaming WorkSpaces de aplicativos incorporados](#events-embedded-streaming-sessions)
+ [Exemplos para adicionar ouvintes de eventos e encerrar uma sessão de streaming de WorkSpaces aplicativos incorporados](#examples-add-event-listeners-end-embedded-streaming-session)

Os seguintes elementos da interface de usuário de WorkSpaces aplicativos podem ser passados para a opção de `HIDDEN_ELEMENTS` configuração quando uma sessão de streaming de WorkSpaces aplicativos incorporados é inicializada.

## Trabalhar com o `HIDDEN_ELEMENTS`
<a name="constants-hidden-elements"></a>

Os seguintes elementos da interface de usuário de WorkSpaces aplicativos podem ser passados como constantes para a opção de `HIDDEN_ELEMENTS` configuração quando uma sessão de streaming de WorkSpaces aplicativos incorporados é inicializada. 

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

Os três elementos a seguir podem ser passados como strings para HIDDEN\$1ELEMENTS, em vez de como constantes.


| String | Description | 
| --- | --- | 
| 'adminCommandsButton' | Quando você está conectado a um construtor de imagens de WorkSpaces aplicativos, o botão Comandos administrativos é exibido no canto superior direito da barra de ferramentas de WorkSpaces aplicativos. Passar essa string para HIDDEN\$1ELEMENTS oculta o botão Admin Commands (Comandos de administrador). | 
| 'softKeyboardButton' | Durante as sessões de streaming de WorkSpaces aplicativos em dispositivos sensíveis ao toque, os usuários podem tocar no ícone do teclado na barra de ferramentas de WorkSpaces aplicativos para exibir o teclado na tela. Passar essa string para HIDDEN\$1ELEMENTS oculta o ícone do teclado. | 
| 'keyboardShortcutsButton' | Durante as sessões de streaming de WorkSpaces aplicativos em dispositivos sensíveis ao toque, os usuários podem tocar no ícone Fn na barra de ferramentas de WorkSpaces aplicativos para exibir os atalhos do teclado. Passar essa string para HIDDEN\$1ELEMENTS oculta o ícone Fn. | 

## Funções para o objeto `AppStream.Embed`
<a name="functions-embed-object"></a>

A tabela a seguir lista as funções que podem ser executadas no objeto `AppStream.Embed`. 


| Função | Description | 
| --- | --- | 
| AppStream.Embed(containerId:string, options:object) | O construtor do objeto AppStream.Embed. Este construtor inicializa e se comunica com o objeto AppStream.Embed e usa um ID de contêiner div. O ID é usado para injetar o iframe. Ele também injeta um objeto que inclui as opções de configuração para appstreamOptions (sessionURLeHIDDEN\$1ELEMENTS).  | 
| endSession() | Essa função encerra a sessão de streaming, mas não destrói o iframe. Se você especificar um URL de redirecionamento, o iframe tentará carregar o URL. Dependendo dos cabeçalhos CORS da página, o URL pode não ser carregado.  | 
| launchApp(appId:string) | Esta função inicia programaticamente um aplicativo com o ID do aplicativo especificado durante a criação da imagem.  | 
| launchAppSwitcher() | Essa função envia o AppSwitcher comando para o portal de WorkSpaces aplicativos. Isso aciona o comando AppSwitcher na instância.  | 
| getSessionState() | Essa função retorna um objeto para sessionStatus. Para obter mais informações, consulte [Eventos para sessões de streaming WorkSpaces de aplicativos incorporados](#events-embedded-streaming-sessions).  | 
| getUserInterfaceState() | Essa função retorna um objeto para `UserInterfaceState`. O objeto contém os pares de chave/valor para o seguinte:  `sessionStatus`: enumeração de estado `sessionTerminationReason`: string `sessionDisconnectionReason`: string  Para obter mais informações, consulte [Eventos para sessões de streaming WorkSpaces de aplicativos incorporados](#events-embedded-streaming-sessions).  | 
| addEventListener(name, callback) | Essa função adiciona uma função de retorno de chamada para quando o evento especificado é acionado. Para obter uma lista dos eventos que podem ser acionados, consulte [Eventos para sessões de streaming WorkSpaces de aplicativos incorporados](#events-embedded-streaming-sessions).  | 
| removeEventListener(name, callback) | Essa função remove o retorno de chamada para os eventos especificados.  | 
| destroy() | Essa função exclui o iframe e limpa os recursos. Essa função não afeta as sessões de streaming que estão em andamento.  | 

## Eventos para sessões de streaming WorkSpaces de aplicativos incorporados
<a name="events-embedded-streaming-sessions"></a>

A tabela a seguir lista os eventos que podem ser acionados durante as sessões de streaming de WorkSpaces aplicativos incorporados.


| Event | Dados | Description | 
| --- | --- | --- | 
| AppStream.Embed.Events.SESSION\$1STATE\$1CHANGE |  `sessionStatus`: `State enumeration` `sessionTerminationReason`: string `sessionDisconnectionReason`: string  | Esse evento é acionado quando ocorre qualquer alteração no estado da sessão. O evento inclui um mapa dos estados que foram alterados. Para recuperar o estado da sessão completa, use a função `getSessionState()`. Veja a seguir os estados da sessão: `AppStream.Embed.SessionStatus.Unknown`: a sessão não foi iniciada e não está reservada `AppStream.Embed.SessionStatus.Reserved`: a sessão está reservada, mas não foi iniciada.  `AppStream.Embed.SessionStatus.Started`: o usuário se conectou à sessão e iniciou o streaming. `AppStream.Embed.SessionStatus Disconnected `: o usuário se desconectou da sessão. `AppStream.Embed.SessionStatus.Ended`: a sessão foi marcada como encerrada ou expirada.  | 
| AppStream.Embed.Events.SESSION\$1INTERFACE\$1STATE\$1CHANGE | `hiddenElements`: matriz de strings  `isFullscreen`: booliano `isSoftKeyboardVisible`: booliano  | Esse evento é acionado quando ocorre qualquer alteração no estado da sessão. O evento inclui um mapa dos estados que foram alterados. Para recuperar o estado da sessão completa, use a função getSessionState(). | 
| AppStream.Embed.Events.SESSION\$1ERROR | `errorCode`: número `errorMessage`: string  | Esse evento é acionado quando ocorrem erros durante uma sessão. | 

## Exemplos para adicionar ouvintes de eventos e encerrar uma sessão de streaming de WorkSpaces aplicativos incorporados
<a name="examples-add-event-listeners-end-embedded-streaming-session"></a>

Os exemplos nesta seção mostram como fazer o seguinte:
+ Adicione ouvintes de eventos para sessões de streaming de WorkSpaces aplicativos incorporados.
+ Encerre programaticamente uma sessão de streaming de WorkSpaces aplicativos incorporados.

### Exemplo 1: Adicionar ouvintes de eventos para sessões de streaming de WorkSpaces aplicativos incorporados
<a name="example-add-event-listeners"></a>

Para adicionar listeners de eventos para alterações de estado de sessão, alterações de estado da interface da sessão e erros de sessão durante as sessões de streaming incorporadas, use o seguinte código:

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

Neste exemplo, `AppStream.Embed.Events.SESSION_STATE_CHANGE`, `AppStream.Embed.Events.SESSION_INTERFACE_STATE_CHANGE` e `AppStream.Embed.Events.SESSION_ERROR` são nomes de eventos.

As funções `updateSessionStateCallback`, `updateUserInterfaceStateCallback` e `errorCallback` são as que você implementa. Essas funções são passadas para a função `addEventListener` e chamadas quando um evento é acionado.

### Exemplo 2: Encerrar programaticamente uma sessão de streaming de WorkSpaces aplicativos incorporados
<a name="programmatically-end-embedded-streaming-session"></a>

Para encerrar uma sessão de streaming de WorkSpaces aplicativos incorporados, use a seguinte função:

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