

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Intégrez des sessions de streaming Amazon WorkSpaces Applications
<a name="embed-streaming-sessions"></a>

Vous pouvez créer une expérience dynamique, interactive et personnalisée pour vos utilisateurs en intégrant une session de streaming d' WorkSpaces applications sur votre site Web. Les sessions de streaming d' WorkSpaces applications intégrées permettent à vos utilisateurs d'interagir avec des modèles 3D, des cartes et des ensembles de données directement depuis votre site Web. Par exemple, les utilisateurs peuvent consulter des instructions de formation ou du matériel pédagogique parallèlement à leur session de streaming d' WorkSpaces applications. 

**Topics**
+ [Conditions préalables à l'intégration de sessions de streaming Amazon WorkSpaces Applications](embed-streaming-sessions-prerequisites.md)
+ [Recommandations et considérations d'utilisation pour l'intégration de sessions de streaming Amazon WorkSpaces Applications](embed-streaming-sessions-recommendations-considerations.md)
+ [Étape 1 : Spécifier un domaine hôte pour les sessions de streaming WorkSpaces d'applications Amazon intégrées](specify-host-domain-embedded-streaming-sessions.md)
+ [Étape 2 : créer une URL de streaming pour l’authentification des utilisateurs](create-streaming-url-user-authentication.md)
+ [Étape 3 : Téléchargez les fichiers d' WorkSpaces applications Amazon intégrés](download-embed-files.md)
+ [Étape 4 : Configurez votre site Web pour l'intégrer aux WorkSpaces applications Amazon](configure-website-for-integration.md)
+ [Constantes, fonctions et événements pour les sessions de streaming WorkSpaces d'applications Amazon intégrées](constants-functions-events-embedded-sessions.md)

# Conditions préalables à l'intégration de sessions de streaming Amazon WorkSpaces Applications
<a name="embed-streaming-sessions-prerequisites"></a>

Pour intégrer une session de streaming d' WorkSpaces applications dans un site Web, vous devez disposer des éléments suivants :
+ Un environnement d' WorkSpaces applications configuré qui inclut une image, un parc et une pile d' WorkSpaces applications. Pour plus d'informations sur la création de ces ressources, consultez les rubriques suivantes du *Guide d'administration WorkSpaces des applications* : 
  +  [Tutoriel : Création d'une image d' WorkSpaces applications personnalisée à l'aide de la console WorkSpaces d'applications](tutorial-image-builder.md) ou [Créez votre image Amazon WorkSpaces Applications par programmation à l'aide des opérations de la CLI de l'Assistant Image](programmatically-create-image.md)
  + [Création d'une flotte dans Amazon WorkSpaces Applications](set-up-stacks-fleets-create.md)
  + [Création d'une pile dans Amazon WorkSpaces Applications](set-up-stacks-fleets-install.md)
+ Une URL de streaming pour l’authentification des utilisateurs. Les groupes d'utilisateurs SAML 2.0 et WorkSpaces Applications ne sont actuellement pas pris en charge en tant que méthodes d'authentification pour les sessions de streaming d' WorkSpaces applications intégrées.
+ Vous pouvez éventuellement utiliser des domaines personnalisés pour les sessions de streaming WorkSpaces d'applications intégrées. Vous pouvez utiliser des domaines personnalisés afin que l'URL de votre entreprise s'affiche pour les utilisateurs plutôt que l'URL WorkSpaces des applications. Des domaines personnalisés sont requis si vos utilisateurs disposent de navigateurs web qui bloquent les cookies tiers.
**Note**  
Vous pouvez configurer des domaines personnalisés à l'aide d'Amazon CloudFront. Pour plus d'informations, consultez la section [Utilisation de domaines personnalisés avec WorkSpaces des applications](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-custom-domains-with-amazon-appstream-2-0/).

  Lorsque vous utilisez un domaine personnalisé, vous devez :
  + Créer une URL de streaming qui utilise le même domaine. 
  + Ajoutez **appstream-custom-url-domain** à l'en-tête de la page Web qui hébergera les sessions de streaming WorkSpaces des applications intégrées. Pour la valeur d’en-tête, utilisez le domaine que votre proxy inverse affiche pour les utilisateurs. Pour de plus amples informations, veuillez consulter [Configuration requise pour l'utilisation de domaines personnalisés](create-streaming-url-user-authentication.md#configuration-requirements-custom-domains).

# Recommandations et considérations d'utilisation pour l'intégration de sessions de streaming Amazon WorkSpaces Applications
<a name="embed-streaming-sessions-recommendations-considerations"></a>

Tenez compte des recommandations et notes d'utilisation suivantes pour les sessions de streaming d' WorkSpaces applications intégrées.
+ Pour conserver un contrôle maximal sur l'expérience de streaming WorkSpaces des applications intégrées pour vos utilisateurs, nous vous recommandons de configurer un streaming URLs de courte durée d'environ 5 secondes. Tout utilisateur peut inspecter le contenu d'une page web et afficher sa source. Cela inclut le modèle d'objet de document (DOM) et l'URL src (source) de l'iframe. Si l'URL est toujours valide lorsqu'un utilisateur la copie, celui-ci peut coller l'URL dans un onglet de navigateur distinct et diffuser la session avec l'interface utilisateur standard du portail WorkSpaces des applications, sans les options d'intégration.
+ Les sessions simultanées ne sont pas prises en charge lorsque des domaines personnalisés sont utilisés pour les sessions de streaming d' WorkSpaces applications intégrées. Des sessions simultanées se produisent lorsque les utilisateurs démarrent deux sessions de streaming d' WorkSpaces applications intégrées, soit sur la même page Web, soit sur deux onglets de navigateur différents. Vous ne pouvez pas avoir un seul utilisateur avec des sessions simultanées, mais vous pouvez avoir plusieurs utilisateurs. Par exemple, un utilisateur se connecte à votre application, celle-ci génère une URL de streaming à transmettre au client (qui est considéré comme un utilisateur unique pour la facturation), un client charge l’URL de streaming et ce client est affecté à une instance AppStream au sein du groupe que vous avez spécifié.

# Étape 1 : Spécifier un domaine hôte pour les sessions de streaming WorkSpaces d'applications Amazon intégrées
<a name="specify-host-domain-embedded-streaming-sessions"></a>

Pour intégrer une session de streaming d' WorkSpaces applications dans une page Web, mettez d'abord à jour votre stack pour spécifier le domaine qui hébergera la session de streaming intégrée. Il s'agit d'une mesure de sécurité visant à garantir que seuls les domaines de sites Web autorisés peuvent intégrer WorkSpaces des sessions de streaming d'applications. WorkSpaces Applications ajoute le ou les domaines que vous spécifiez à l'en-tête **Content-Security-Policy** (CSP). Pour plus d'informations, consultez [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) dans la documentation [MDN Web Docs](https://developer.mozilla.org/en-US/) de Mozilla.

Pour mettre à jour votre pile afin de spécifier le domaine dans lequel héberger la session de streaming intégrée, utilisez l'une des méthodes suivantes :
+ La console WorkSpaces des applications
+ Action d’API `EmbedHostDomains` 
+ La `embed-host-domains` AWS commande de l'interface de ligne de AWS commande (CLI)

Pour spécifier un domaine hôte à l'aide de la console WorkSpaces Applications, effectuez les étapes suivantes.

1. Ouvrez la console WorkSpaces Applications à la [https://console.aws.amazon.com/appstream2/maison](https://console.aws.amazon.com/appstream2/home).

1. Dans le volet de navigation de gauche, choisissez **Piles**, puis sélectionnez la pile qui vous intéresse.

1. Choisissez **Modifier**.

1. Développez **les WorkSpaces applications intégrées (facultatif).**

1. Dans **Domaines hôtes**, spécifiez un domaine valide. Par exemple : **training.example.com**.
**Note**  
Les sessions de streaming intégrées sont prises en charge uniquement via HTTPS [port TCP 443].

1. Choisissez **Mettre à jour**.

# Étape 2 : créer une URL de streaming pour l’authentification des utilisateurs
<a name="create-streaming-url-user-authentication"></a>

Vous devez créer une URL de streaming pour authentifier les utilisateurs pour les sessions de streaming WorkSpaces d'applications intégrées. SAML 2.0 et les groupes d'utilisateurs ne sont actuellement pas pris en charge pour les sessions de streaming intégrées. Pour créer une URL de streaming, utilisez l’une des méthodes suivantes :
+ WorkSpaces Console d'applications
+ L'action de l'API [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) 
+ La [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS commande CLI

## Configuration requise pour l'utilisation de domaines personnalisés
<a name="configuration-requirements-custom-domains"></a>

Que vous utilisiez des domaines personnalisés pour appliquer l'image de marque de votre entreprise ou pour garantir que les sessions de streaming d' WorkSpaces applications intégrées fonctionnent avec des navigateurs qui bloquent les cookies tiers, les exigences de configuration sont les mêmes.

Pour les navigateurs web qui bloquent les cookies tiers, des domaines personnalisés sont requis. WorkSpaces Les applications utilisent les cookies du navigateur pour authentifier les sessions de streaming et permettent aux utilisateurs de se reconnecter à une session active sans être invités à fournir leurs informations de connexion à chaque fois. Par défaut, le streaming WorkSpaces des applications est URLs inclus **appstream.com** dans le domaine. Lorsque vous intégrez une session de streaming dans votre site web, **appstream.com** est traité comme un domaine tiers. Par conséquent, les sessions de streaming peuvent être bloquées lorsque des navigateurs modernes sont utilisés car ils bloquent les cookies tiers par défaut.

Pour éviter que les sessions de streaming d' WorkSpaces applications intégrées ne soient bloquées dans ce scénario, procédez comme suit :

1. Spécifiez un domaine personnalisé pour héberger vos sessions de streaming WorkSpaces d'applications intégrées.

   Lorsque vous configurez votre domaine personnalisé, assurez-vous qu'il s'agit d'un sous-domaine de la page Web dans laquelle vous prévoyez d'intégrer des applications. WorkSpaces Par exemple, si vous mettez à jour votre pile pour spécifier **training.example.com** comme domaine hôte, vous pouvez créer un sous-domaine appelé **content.training.example.com** pour vos sessions de streaming intégrées.

1. Créez une URL de streaming pour les sessions de streaming d' WorkSpaces applications intégrées qui utilisent le même sous-domaine personnalisé. Pour créer l'URL de diffusion, utilisez l'action [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) API ou la commande [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS CLI. Vous ne pouvez pas utiliser la console WorkSpaces Applications pour créer une URL de streaming dans ce scénario.

   Pour créer une URL de streaming pour les sessions de streaming d' WorkSpaces applications intégrées, remplacez-la **appstream2.** *region* **.aws.amazon.com** par votre propre domaine dans l'URL. 

   Par défaut, le format WorkSpaces des applications URLs en streaming est le suivant :

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

   Si votre sous-domaine est **content.training.example.com**, votre nouvelle URL de streaming suit le format suivant :

   ```
   https://content.training.example.com/authenticate?parameters=authenticationcode
   ```
**Note**  
Lorsque vous créez un domaine personnalisé, vous pouvez l'utiliser pour les sessions de streaming d' WorkSpaces applications intégrées uniquement dans la AWS région pour laquelle il a été configuré. Si vous envisagez de prendre en charge des domaines personnalisés dans plusieurs régions, créez un domaine personnalisé pour chaque région applicable. De même, les sessions de streaming intégrées sont prises en charge uniquement via HTTPS [port TCP 443].

1. Ajoutez **appstream-custom-url-domain** à l'en-tête de la page web qui hébergera les sessions de streaming intégrées. Pour la valeur d’en-tête, utilisez le domaine que votre proxy inverse affiche pour les utilisateurs. Par exemple :

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

   La définition d'un domaine personnalisé et la création d'une URL de streaming qui spécifie le même domaine permettent d'enregistrer les cookies en tant que cookies de première partie. Pour plus d'informations sur la configuration de domaines personnalisés à l'aide d'Amazon CloudFront, consultez la section [Utilisation de domaines personnalisés avec WorkSpaces des applications](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-custom-domains-with-amazon-appstream-2-0/).

Après avoir configuré un domaine personnalisé pour vos sessions de streaming d' WorkSpaces applications intégrées, si votre streaming URLs n'est pas redirigé vers votre domaine personnalisé ou si votre domaine personnalisé ne s'affiche pas correctement pour vos utilisateurs, consultez les rubriques de résolution des problèmes suivantes :
+ [J'ai configuré un domaine personnalisé pour mes sessions de streaming d' WorkSpaces applications intégrées, mais mes sessions de streaming d' WorkSpaces applications URLs ne sont pas redirigées vers mon domaine personnalisé.](troubleshooting-general.md#embedded-streaming-sessions-streaming-urls-not-redirected-to-custom-domain)

# Étape 3 : Téléchargez les fichiers d' WorkSpaces applications Amazon intégrés
<a name="download-embed-files"></a>

Pour héberger des sessions de streaming d' WorkSpaces applications intégrées, vous devez télécharger et configurer le JavaScript fichier API d' WorkSpaces applications fourni.

1. **Sur la page Web [d'intégration d' WorkSpaces applications dans votre site](https://clients.amazonappstream.com/embed.html) Web, cliquez sur le lien de l'étape 1 pour télécharger le fichier .zip du kit d'intégration d' WorkSpaces applications, appstream\$1embed\$1 .zip.** <version>

1. Accédez à l'emplacement où vous avez téléchargé le fichier .zip et extrayez le contenu du fichier.

1. Le contenu extrait du fichier comprend un dossier, **appstream-embed**. Outre les fichiers **Copyright.txt** et **Third\$1Party\$1Notices.txt**, ce dossier contient les deux fichiers suivants :
   + **appstream-embed.js** — Fournit l'API WorkSpaces des applications intégrées. Ce JavaScript fichier inclut les fonctions et les actions d'API permettant de configurer et de contrôler votre session de streaming d' WorkSpaces applications intégrées.
   + **embed-sample.html** — Décrit comment utiliser l'API WorkSpaces Applications intégrée pour initialiser une session de streaming, appeler des fonctions et écouter des événements. Cet exemple de fichier développe les informations de cette rubrique afin de fournir un exemple de cas d'utilisation pour les développeurs.

# Étape 4 : Configurez votre site Web pour l'intégrer aux WorkSpaces applications Amazon
<a name="configure-website-for-integration"></a>

Les sections suivantes fournissent des informations sur la façon de configurer votre page Web pour héberger des sessions de streaming d' WorkSpaces applications intégrées.

**Topics**
+ [Importez le fichier appstream-embed JavaScript](#import-embed-javascript-file)
+ [Initialisation et configuration de l'objet d'interface `AppStream.Embed`](#initialize-configure-embed-interface-object)
+ [Exemples de masquage d'éléments dans l'interface utilisateur WorkSpaces des applications](#examples-hiding-user-interface-items)

## Importez le fichier appstream-embed JavaScript
<a name="import-embed-javascript-file"></a>

1. Sur la page Web sur laquelle vous prévoyez d'intégrer la session de streaming d' WorkSpaces applications, importez le fichier **appstream-embed.js** dans la page Web en ajoutant le code suivant :

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

1. Ensuite, créez un conteneur div vide. L'ID du div que vous avez défini est transmis au constructeur d'intégration WorkSpaces des applications. Il est ensuite utilisé pour injecter un iframe pour la session de streaming. Pour créer le conteneur div, ajoutez le code suivant :

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

## Initialisation et configuration de l'objet d'interface `AppStream.Embed`
<a name="initialize-configure-embed-interface-object"></a>

Pour initialiser l'objet d'`AppStream.Embed`interface JavaScript, vous devez ajouter du code qui crée un `AppStream.Embed` objet avec des options pour l'URL de diffusion et la configuration de l'interface utilisateur. Ces options, ainsi que l'ID div que vous avez créé, sont stockés dans un objet appelé `appstreamOptions`.

L'exemple de code suivant montre comment initialiser l'objet d'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);
```

Dans le code, remplacez *sessionURL* et *userInterfaceConfig* par vos propres valeurs. 

**Note**  
La valeur spécifiée pour *userInterfaceConfig* masque l'intégralité de la barre d'outils WorkSpaces Applications. Cette valeur, qui est incluse à titre d'exemple, est facultative.

***sessionUrl***  
URL de streaming que vous avez créée à l'aide de la console WorkSpaces Applications, de l'action API [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) ou de la commande [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS CLI. Ce paramètre n'est pas sensible à la casse.  
**Type** : chaîne  
**Obligatoire** : oui

***userInterfaceConfig***  
Configuration qui génère l'état initial des éléments de l'interface utilisateur. La configuration est une paire clé-valeur.   
La clé,`AppStream.Embed.Options.HIDDEN_ELEMENTS`, spécifie les objets de l'interface utilisateur qui sont initialement masqués lors de l'initialisation de la session de streaming WorkSpaces des applications intégrées. Par la suite, vous pouvez renvoyer des objets masqués et visibles à l'aide du paramètre `getInterfaceState`.  
La valeur est un tableau de constantes (boutons de barre d'outils). Pour obtenir la liste des constantes que vous pouvez utiliser, consultez [Utilisation de l’option `HIDDEN_ELEMENTS`](constants-functions-events-embedded-sessions.md#constants-hidden-elements).  
**Type** : Carte (*key*:*value*)  
**Obligatoire** : non

## Exemples de masquage d'éléments dans l'interface utilisateur WorkSpaces des applications
<a name="examples-hiding-user-interface-items"></a>

Les exemples de cette section montrent comment masquer des éléments de l'interface utilisateur WorkSpaces des applications aux utilisateurs lors de leurs sessions de streaming d' WorkSpaces applications intégrées.

**Topics**
+ [Exemple 1 : masquer l'intégralité de la barre d'outils WorkSpaces des applications](#example-hide-the-entire-tooolbar)
+ [Exemple 2 : masquer un bouton spécifique dans la barre d'outils WorkSpaces des applications](#example-hide-a-specific-toolbar-button)
+ [Exemple 3 : masquer plusieurs boutons dans la barre d'outils WorkSpaces des applications](#example-hide-multiple-toolbar-buttons)

### Exemple 1 : masquer l'intégralité de la barre d'outils WorkSpaces des applications
<a name="example-hide-the-entire-tooolbar"></a>

Pour empêcher les utilisateurs d'accéder à n'importe quel bouton de la barre d'outils WorkSpaces des applications pendant les sessions de streaming intégrées, utilisez la `AppStream.Embed.Elements.TOOLBAR` constante. Cette constante permet de masquer tous les boutons de la barre d'outils des WorkSpaces applications.

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

### Exemple 2 : masquer un bouton spécifique dans la barre d'outils WorkSpaces des applications
<a name="example-hide-a-specific-toolbar-button"></a>

Vous pouvez afficher la barre d'outils WorkSpaces Applications, tout en empêchant les utilisateurs d'accéder à un bouton de barre d'outils spécifique pendant les sessions de streaming intégrées. Pour ce faire, spécifiez la constante du bouton que vous souhaitez masquer. Le code suivant utilise la constante `AppStream.Embed.Elements.FILES_BUTTON` pour masquer le bouton **Mes fichiers**. Cela empêche les utilisateurs d'accéder aux options de stockage persistant pendant les sessions de streaming intégrées.

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

### Exemple 3 : masquer plusieurs boutons dans la barre d'outils WorkSpaces des applications
<a name="example-hide-multiple-toolbar-buttons"></a>

Vous pouvez afficher la barre d'outils WorkSpaces Applications, tout en empêchant les utilisateurs d'accéder à plusieurs boutons de barre d'outils pendant les sessions de streaming intégrées. Pour ce faire, spécifiez les constantes des boutons que vous souhaitez masquer. Le code suivant utilise les constantes `AppStream.Embed.Elements.END_SESSION_BUTTON` et `AppStream.Embed.Elements.FULLSCREEN_BUTTON` pour masquer les boutons **End Session (Fin de session)** et **Fullscreen (Plein écran)**. 

**Note**  
Séparez chaque constante par une virgule, sans espace devant ou après.

```
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, fonctions et événements pour les sessions de streaming WorkSpaces d'applications Amazon intégrées
<a name="constants-functions-events-embedded-sessions"></a>

Les rubriques suivantes fournissent des informations de référence sur les constantes, les fonctions et les événements que vous pouvez utiliser pour configurer des sessions de streaming d' WorkSpaces applications intégrées.

**Topics**
+ [Utilisation de l’option `HIDDEN_ELEMENTS`](#constants-hidden-elements)
+ [Fonctions pour l'objet `AppStream.Embed`](#functions-embed-object)
+ [Événements pour les sessions de streaming WorkSpaces d'applications intégrées](#events-embedded-streaming-sessions)
+ [Exemples d'ajout d'écouteurs d'événements et de fin d'une session de streaming d' WorkSpaces applications intégrées](#examples-add-event-listeners-end-embedded-streaming-session)

Les éléments de l'interface utilisateur des WorkSpaces applications suivants peuvent être transmis à l'option `HIDDEN_ELEMENTS` de configuration lors de l'initialisation d'une session de streaming d' WorkSpaces applications intégrées.

## Utilisation de l’option `HIDDEN_ELEMENTS`
<a name="constants-hidden-elements"></a>

Les éléments suivants de l'interface utilisateur des WorkSpaces applications peuvent être transmis sous forme de constantes à l'option `HIDDEN_ELEMENTS` de configuration lors de l'initialisation d'une session de streaming d' WorkSpaces applications intégrées. 

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

Les trois éléments suivants peuvent être transmis sous forme de chaînes dans HIDDEN\$1ELEMENTS, plutôt que sous forme de constantes.


| String | Description | 
| --- | --- | 
| 'adminCommandsButton' | Lorsque vous êtes connecté à un générateur d'images d' WorkSpaces applications, le bouton Commandes d'administration s'affiche dans le coin supérieur droit de la barre d'outils WorkSpaces des applications. La transmission de cette chaîne dans HIDDEN\$1ELEMENTS masque le bouton Commandes d’administration. | 
| 'softKeyboardButton' | Pendant WorkSpaces les sessions de streaming d'applications sur des appareils tactiles, les utilisateurs peuvent appuyer sur l'icône du clavier dans la barre d'outils WorkSpaces des applications pour afficher le clavier à l'écran. La transmission de cette chaîne dans HIDDEN\$1ELEMENTS masque l’icône du clavier. | 
| 'keyboardShortcutsButton' | Pendant WorkSpaces les sessions de streaming d'applications sur des appareils tactiles, les utilisateurs peuvent appuyer sur l'icône Fn dans la barre d'outils WorkSpaces des applications pour afficher les raccourcis clavier. La transmission de cette chaîne dans HIDDEN\$1ELEMENTS masque l’icône Fn. | 

## Fonctions pour l'objet `AppStream.Embed`
<a name="functions-embed-object"></a>

Le tableau suivant répertorie les fonctions qui peuvent être exécutées sur l'objet `AppStream.Embed`. 


| Fonction | Description | 
| --- | --- | 
| AppStream.Embed(containerId:string, options:object) | Constructeur d'objet AppStream.Embed. Ce constructeur initialise et communique avec l'objet AppStream.Embed et il utilise un ID de conteneur div. L'ID est utilisé pour injecter l'iframe. Il injecte également un objet qui inclut les options de configuration pour appstreamOptions (sessionURLetHIDDEN\$1ELEMENTS).  | 
| endSession() | Cette fonction met fin à la session de streaming, mais ne détruit pas l'iframe. Si vous spécifiez une URL de redirection, l'iframe tente de charger l'URL. Selon les en-têtes CORS de la page, l'URL peut ne pas se charger.  | 
| launchApp(appId:string) | Cette fonction lance par programmation une application ayant l’ID d’application spécifié lors de la création de l’image.  | 
| launchAppSwitcher() | Cette fonction envoie la AppSwitcher commande au portail WorkSpaces des applications. Cela déclenche la commande AppSwitcher sur l'instance.  | 
| getSessionState() | Cette fonction renvoie un objet pour sessionStatus. Pour plus d’informations, consultez [Événements pour les sessions de streaming WorkSpaces d'applications intégrées](#events-embedded-streaming-sessions).  | 
| getUserInterfaceState() | Cette fonction renvoie un objet pour `UserInterfaceState`. L'objet contient les paires clé-valeur pour les éléments suivants :  `sessionStatus` : énumération d’état `sessionTerminationReason` : chaîne `sessionDisconnectionReason` : chaîne  Pour plus d’informations, consultez [Événements pour les sessions de streaming WorkSpaces d'applications intégrées](#events-embedded-streaming-sessions).  | 
| addEventListener(name, callback) | Cette fonction ajoute une fonction de rappel à appeler lorsque l'événement spécifié est déclenché. Pour obtenir la liste des événements pouvant être déclenchés, consultez [Événements pour les sessions de streaming WorkSpaces d'applications intégrées](#events-embedded-streaming-sessions).  | 
| removeEventListener(name, callback) | Cette fonction supprime le rappel pour les événements spécifiés.  | 
| destroy() | Cette fonction supprime l'iframe et nettoie les ressources. Cette fonction n'affecte pas les sessions de streaming en cours.  | 

## Événements pour les sessions de streaming WorkSpaces d'applications intégrées
<a name="events-embedded-streaming-sessions"></a>

Le tableau suivant répertorie les événements qui peuvent être déclenchés lors de sessions de streaming WorkSpaces d'applications intégrées.


| Événement | Données | Description | 
| --- | --- | --- | 
| AppStream.Embed.Events.SESSION\$1STATE\$1CHANGE |  `sessionStatus`: `State enumeration` `sessionTerminationReason` : chaîne `sessionDisconnectionReason` : chaîne  | Cet événement est déclenché lorsqu’un changement d’état de session se produit. L’événement inclut une carte des états qui ont changé. Pour récupérer l’état complet de la session, utilisez la fonction `getSessionState()`. Voici les états de session : `AppStream.Embed.SessionStatus.Unknown` : la session n’a pas démarré et n’est pas réservée. `AppStream.Embed.SessionStatus.Reserved` : la session est réservée mais n’a pas démarré.  `AppStream.Embed.SessionStatus.Started` : l’utilisateur s’est connecté à la session et a commencé le streaming. `AppStream.Embed.SessionStatus Disconnected ` : l’utilisateur s’est déconnecté de la session. `AppStream.Embed.SessionStatus.Ended` : la session a été marquée comme terminée ou expirée.  | 
| AppStream.Embed.Events.SESSION\$1INTERFACE\$1STATE\$1CHANGE | `hiddenElements` : tableau de chaînes  `isFullscreen` : valeur booléenne `isSoftKeyboardVisible` : valeur booléenne  | Cet événement est déclenché lorsqu’un changement d’état de session se produit. L’événement inclut une carte des états qui ont changé. Pour récupérer l’état complet de la session, utilisez la fonction getSessionState(). | 
| AppStream.Embed.Events.SESSION\$1ERROR | `errorCode` : nombre `errorMessage` : chaîne  | Cet événement est déclenché lorsque des erreurs se produisent au cours d'une session. | 

## Exemples d'ajout d'écouteurs d'événements et de fin d'une session de streaming d' WorkSpaces applications intégrées
<a name="examples-add-event-listeners-end-embedded-streaming-session"></a>

Les exemples de cette section montrent comment effectuer les opérations suivantes :
+ Ajoutez des écouteurs d'événements pour les sessions de streaming WorkSpaces d'applications intégrées.
+ Mettez fin par programmation à une session de streaming d' WorkSpaces applications intégrées.

### Exemple 1 : ajouter des écouteurs d'événements pour les sessions de streaming WorkSpaces d'applications intégrées
<a name="example-add-event-listeners"></a>

Pour ajouter des écouteurs d'événements pour les modifications d'état de session, les modifications d'état de l'interface de session et les erreurs de session pendant les sessions de streaming intégrées, utilisez le code suivant :

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

Dans cet exemple, `AppStream.Embed.Events.SESSION_STATE_CHANGE`, `AppStream.Embed.Events.SESSION_INTERFACE_STATE_CHANGE` et `AppStream.Embed.Events.SESSION_ERROR` sont des noms d’événements.

Les fonctions `updateSessionStateCallback`, `updateUserInterfaceStateCallback` et `errorCallback` sont celles que vous implémentez. Ces fonctions sont transmises à la fonction `addEventListener` et appelées lorsqu'un événement est déclenché.

### Exemple 2 : Fin par programmation d'une session de streaming d' WorkSpaces applications intégrées
<a name="programmatically-end-embedded-streaming-session"></a>

Pour mettre fin à une session de streaming d' WorkSpaces applications intégrées, utilisez la fonction suivante :

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