

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Streaming-Sitzungen WorkSpaces für Amazon-Anwendungen einbetten
<a name="embed-streaming-sessions"></a>

Sie können Ihren Benutzern ein dynamisches, interaktives und individuelles Erlebnis bieten, indem Sie eine WorkSpaces Anwendungs-Streaming-Sitzung in Ihre Website einbetten. Streaming-Sitzungen mit eingebetteten WorkSpaces Anwendungen ermöglichen es Ihren Benutzern, direkt von Ihrer Website aus mit 3D-Modellen, Karten und Datensätzen zu interagieren. Benutzer können sich beispielsweise neben ihrer Streaming-Sitzung mit WorkSpaces Anwendungen auch Schulungsanweisungen oder Lehrmaterialien ansehen. 

**Topics**
+ [Voraussetzungen für das Einbetten von Amazon WorkSpaces Applications Streaming-Sitzungen](embed-streaming-sessions-prerequisites.md)
+ [Empfehlungen und Nutzungsüberlegungen für das Einbetten von Amazon WorkSpaces Applications Streaming-Sitzungen](embed-streaming-sessions-recommendations-considerations.md)
+ [Schritt 1: Geben Sie eine Host-Domain für eingebettete Amazon WorkSpaces Applications Streaming-Sitzungen an](specify-host-domain-embedded-streaming-sessions.md)
+ [Schritt 2: Erstellen einer Streaming-URL für die Benutzerauthentifizierung](create-streaming-url-user-authentication.md)
+ [Schritt 3: Laden Sie die eingebetteten WorkSpaces Amazon-Anwendungsdateien herunter](download-embed-files.md)
+ [Schritt 4. Konfigurieren Sie Ihre Website für die Integration mit WorkSpaces Amazon-Anwendungen](configure-website-for-integration.md)
+ [Konstanten, Funktionen und Ereignisse für Streaming-Sitzungen mit eingebetteten WorkSpaces Amazon-Anwendungen](constants-functions-events-embedded-sessions.md)

# Voraussetzungen für das Einbetten von Amazon WorkSpaces Applications Streaming-Sitzungen
<a name="embed-streaming-sessions-prerequisites"></a>

Um eine WorkSpaces Applications-Streaming-Sitzung in eine Website einzubetten, müssen Sie über Folgendes verfügen:
+ Eine konfigurierte WorkSpaces Anwendungsumgebung, die ein WorkSpaces Anwendungs-Image, eine Flotte und einen Stack umfasst. Informationen zum Erstellen dieser Ressourcen finden Sie in den folgenden Themen im *WorkSpaces Applications Administration Guide*: 
  +  [Tutorial: Erstellen eines benutzerdefinierten WorkSpaces Anwendungsabbilds mithilfe der WorkSpaces Anwendungskonsole](tutorial-image-builder.md) oder [Erstellen Sie Ihr WorkSpaces Amazon-Anwendungs-Image programmgesteuert mithilfe der Cli-Operationen von Image Assistant](programmatically-create-image.md)
  + [Eine Flotte in Amazon WorkSpaces Applications erstellen](set-up-stacks-fleets-create.md)
  + [Erstellen Sie einen Stack in Amazon WorkSpaces Applications](set-up-stacks-fleets-install.md)
+ Eine Streaming-URL für die Benutzerauthentifizierung. SAML 2.0- und WorkSpaces Anwendungsbenutzerpools werden derzeit nicht als Authentifizierungsmethoden für eingebettete WorkSpaces Anwendungs-Streaming-Sitzungen unterstützt.
+ Optional können Sie benutzerdefinierte Domänen für Streaming-Sitzungen mit eingebetteten WorkSpaces Anwendungen verwenden. Sie können benutzerdefinierte Domänen verwenden, sodass Ihre eigene Unternehmens-URL für Benutzer angezeigt wird und nicht eine WorkSpaces Anwendungs-URL. Benutzerdefinierte Domänen sind erforderlich, wenn Ihre Benutzer über Webbrowser verfügen, die Cookies von Drittanbietern blockieren.
**Anmerkung**  
Sie können benutzerdefinierte Domains mithilfe von Amazon konfigurieren CloudFront. Weitere Informationen finden Sie unter [Verwenden von benutzerdefinierten Domains mit WorkSpaces Anwendungen](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-custom-domains-with-amazon-appstream-2-0/).

  Wenn Sie eine benutzerdefinierte Domäne verwenden, müssen Sie:
  + Erstellen Sie eine Streaming-URL, die dieselbe Domäne verwendet. 
  + Fügen Sie **appstream-custom-url-domain** es dem Header der Webseite hinzu, auf der die eingebetteten WorkSpaces Anwendungs-Streaming-Sitzungen gehostet werden. Verwenden Sie für den Header-Wert die Domäne, die Ihr Reverse-Proxy Benutzern anzeigt. Weitere Informationen finden Sie unter [Konfigurationsanforderungen für die Verwendung benutzerdefinierter Domänen](create-streaming-url-user-authentication.md#configuration-requirements-custom-domains).

# Empfehlungen und Nutzungsüberlegungen für das Einbetten von Amazon WorkSpaces Applications Streaming-Sitzungen
<a name="embed-streaming-sessions-recommendations-considerations"></a>

Beachten Sie die folgenden Empfehlungen und Nutzungshinweise für Streaming-Sitzungen mit eingebetteten WorkSpaces Anwendungen.
+ Um die maximale Kontrolle über das Streaming-Erlebnis eingebetteter WorkSpaces Anwendungen für Ihre Benutzer zu behalten, empfehlen wir Ihnen, kurzlebiges Streaming zu konfigurieren URLs , das etwa 5 Sekunden dauert. Jeder Benutzer kann den Inhalt einer Webseite überprüfen und deren Quelle anzeigen. Dazu gehören das Document Object Model (DOM) und die src-(source)-URL des iframe. Wenn die URL noch gültig ist, wenn ein Benutzer sie kopiert, kann dieser Benutzer die URL in eine separate Browserregisterkarte einfügen und die Sitzung mit der WorkSpaces Standardbenutzeroberfläche des Anwendungsportals streamen, ohne die Einbettungsoptionen.
+ Gleichzeitige Sitzungen werden nicht unterstützt, wenn benutzerdefinierte Domänen für eingebettete WorkSpaces Anwendungs-Streaming-Sitzungen verwendet werden. Gleichzeitige Sitzungen treten auf, wenn Benutzer zwei eingebettete WorkSpaces Anwendungs-Streaming-Sitzungen entweder auf derselben Webseite oder über zwei verschiedene Browser-Tabs starten. Sie können keinen einzelnen Benutzer mit gleichzeitigen Sitzungen haben, aber Sie können mehrere Benutzer haben. Beispiel: Ein Benutzer meldet sich bei Ihrer App an. Ihre App generiert eine Streaming-URL, die an den Kunden weitergegeben wird (und die für die Abrechnung als individueller Benutzer zählt). Der Kunde lädt die Streaming-URL und wird einer AppStream-Instance innerhalb des von Ihnen festgelegten Pools zugeordnet.

# Schritt 1: Geben Sie eine Host-Domain für eingebettete Amazon WorkSpaces Applications Streaming-Sitzungen an
<a name="specify-host-domain-embedded-streaming-sessions"></a>

Um eine WorkSpaces Anwendungs-Streaming-Sitzung in eine Webseite einzubetten, aktualisieren Sie zunächst Ihren Stack, um die Domain anzugeben, auf der die eingebettete Streaming-Sitzung gehostet werden soll. Dies ist eine Sicherheitsmaßnahme, um sicherzustellen, dass nur autorisierte Website-Domains WorkSpaces Anwendungs-Streaming-Sitzungen einbetten können. WorkSpaces Applications fügt die von Ihnen angegebene (n) Domain (n) dem **Content-Security-Policy** (CSP) -Header hinzu. Weitere Informationen finden Sie unter [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) in der Mozilla-Dokumentation [MDN Web Docs](https://developer.mozilla.org/en-US/).

Verwenden Sie eine der folgenden Methoden, um den Stack zu aktualisieren, um die Domäne anzugeben, in der die eingebettete Streaming-Sitzung gehostet wird:
+ Die WorkSpaces Anwendungskonsole
+ API-Aktion `EmbedHostDomains` 
+ Der `embed-host-domains` AWS Befehl Befehlszeilenschnittstelle (AWS CLI)

Gehen Sie wie folgt vor, um mithilfe der WorkSpaces Anwendungskonsole eine Hostdomäne anzugeben.

1. Öffnen Sie die WorkSpaces Anwendungskonsole zu [https://console.aws.amazon.com/appstream2/Hause](https://console.aws.amazon.com/appstream2/home).

1. Wählen Sie im linken Navigationsbereich **Stacks** aus und wählen Sie dann den Stack aus.

1. Wählen Sie **Bearbeiten** aus.

1. Erweitern Sie „** WorkSpaces Anwendungen einbetten“ (optional)**.

1. Geben Sie unter **Host-Domains** eine gültige Domain an. Beispiel: **training.example.com**.
**Anmerkung**  
Eingebettete Streaming-Sitzungen werden nur über HTTPS [TCP-Port 443] unterstützt.

1. Wählen Sie **Aktualisieren** aus.

# Schritt 2: Erstellen einer Streaming-URL für die Benutzerauthentifizierung
<a name="create-streaming-url-user-authentication"></a>

Sie müssen eine Streaming-URL erstellen, um Benutzer für Streaming-Sitzungen mit eingebetteten WorkSpaces Anwendungen zu authentifizieren. SAML 2.0 und Benutzerpools werden derzeit nicht für eingebettete Streaming-Sitzungen unterstützt. Verwenden Sie eine der folgenden Methoden, um eine Streaming-URL zu erstellen:
+ WorkSpaces Anwendungskonsole
+ Die [CreateStreamingURL-API-Aktion](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) 
+ Der [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS CLI-Befehl

## Konfigurationsanforderungen für die Verwendung benutzerdefinierter Domänen
<a name="configuration-requirements-custom-domains"></a>

Unabhängig davon, ob Sie benutzerdefinierte Domains verwenden, um Ihr Unternehmens-Branding anzubringen oder um sicherzustellen, dass Streaming-Sitzungen für eingebettete WorkSpaces Anwendungen mit Browsern funktionieren, die Cookies von Drittanbietern blockieren, die Konfigurationsanforderungen sind dieselben.

Benutzerdefinierte Domains sind erforderlich, wenn Ihre Benutzer über Webbrowser verfügen, die Cookies von Drittanbietern blockieren. WorkSpaces Anwendungen verwenden Browser-Cookies zur Authentifizierung von Streaming-Sitzungen und ermöglichen es Benutzern, erneut eine Verbindung zu einer aktiven Sitzung herzustellen, ohne jedes Mal zur Eingabe ihrer Anmeldeinformationen aufgefordert zu werden. Standardmäßig URLs umfasst **appstream.com** das Streaming von WorkSpaces Anwendungen die Domäne. Wenn Sie eine Streaming-Sitzung in Ihrer Website einbetten, wird **appstream.com** als Drittanbieter-Domäne behandelt. Daher können Streaming-Sitzungen blockiert werden, wenn moderne Browser verwendet werden, die Cookies von Drittanbietern standardmäßig blockieren.

Gehen Sie folgendermaßen vor, um zu verhindern, dass Streaming-Sitzungen für eingebettete WorkSpaces Anwendungen in diesem Szenario blockiert werden:

1. Geben Sie eine benutzerdefinierte Domäne an, um Ihre eingebetteten WorkSpaces Anwendungs-Streaming-Sitzungen zu hosten.

   Wenn Sie Ihre benutzerdefinierte Domain konfigurieren, stellen Sie sicher, dass es sich bei der Domain um eine Subdomain der Webseite handelt, in die Sie WorkSpaces Anwendungen einbetten möchten. Wenn Sie Ihren Stack beispielsweise so aktualisieren, dass **training.example.com** als Host-Domäne angegeben wird, können Sie eine Subdomäne mit dem Namen **content.training.example.com** für Ihre eingebetteten Streaming-Sitzungen erstellen.

1. Erstellen Sie eine Streaming-URL für eingebettete WorkSpaces Anwendungs-Streaming-Sitzungen, die dieselbe benutzerdefinierte Subdomain verwendet. Verwenden Sie die URL-API-Aktion oder den [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS CLI-Befehl, um die [CreateStreamingStreaming-URL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) zu erstellen. In diesem Szenario können Sie die WorkSpaces Anwendungskonsole nicht verwenden, um eine Streaming-URL zu erstellen.

   Um eine Streaming-URL für eingebettete WorkSpaces Anwendungs-Streaming-Sitzungen zu erstellen, **appstream2.** *region* **.aws.amazon.com** ersetzen Sie die URL durch Ihre eigene Domain. 

   Standardmäßig ist das Streaming URLs von WorkSpaces Anwendungen wie folgt formatiert:

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

   Wenn Ihre Subdomäne **content.training.example.com** ist, folgt Ihre neue Streaming-URL dem folgenden Format:

   ```
   https://content.training.example.com/authenticate?parameters=authenticationcode
   ```
**Anmerkung**  
Wenn Sie eine benutzerdefinierte Domäne erstellen, können Sie die Domäne nur für eingebettete WorkSpaces Anwendungs-Streaming-Sitzungen in der AWS Region verwenden, für die sie konfiguriert wurde. Wenn Sie benutzerdefinierte Domänen in mehreren Regionen unterstützen möchten, erstellen Sie für jede entsprechende Region eine benutzerdefinierte Domäne. Außerdem werden eingebettete Streaming-Sitzungen nur über HTTPS [TCP-Port 443] unterstützt.

1. Fügen Sie **appstream-custom-url-domain** zum Header der Webseite hinzu, die die eingebetteten Streaming-Sitzungen hosten soll. Verwenden Sie für den Header-Wert die Domäne, die Ihr Reverse-Proxy Benutzern anzeigt. Beispiel:

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

   Wenn Sie eine benutzerdefinierte Domäne festlegen und eine Streaming-URL erstellen, die dieselbe Domäne angibt, können die Cookies als Erstanbieter-Cookies gespeichert werden. Informationen zur Konfiguration benutzerdefinierter Domains mithilfe von Amazon CloudFront finden Sie unter [Benutzerdefinierte Domains mit WorkSpaces Anwendungen](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-custom-domains-with-amazon-appstream-2-0/) verwenden.

Wenn Sie eine benutzerdefinierte Domain für Ihre eingebetteten WorkSpaces Anwendungs-Streaming-Sitzungen eingerichtet haben und Ihr Streaming URLs nicht zu Ihrer benutzerdefinierten Domain umgeleitet wird oder wenn Ihre benutzerdefinierte Domain Ihren Benutzern nicht richtig angezeigt wird, finden Sie weitere Informationen zu den folgenden Themen zur Fehlerbehebung:
+ [Ich habe eine benutzerdefinierte Domain für meine eingebetteten WorkSpaces Anwendungs-Streaming-Sitzungen eingerichtet, aber mein WorkSpaces Anwendungs-Streaming wird URLs nicht zu meiner benutzerdefinierten Domain umgeleitet.](troubleshooting-general.md#embedded-streaming-sessions-streaming-urls-not-redirected-to-custom-domain)

# Schritt 3: Laden Sie die eingebetteten WorkSpaces Amazon-Anwendungsdateien herunter
<a name="download-embed-files"></a>

Um Streaming-Sitzungen WorkSpaces für eingebettete Anwendungen zu hosten, müssen Sie die bereitgestellte WorkSpaces JavaScript Anwendungs-API-Datei herunterladen und konfigurieren.

1. <version>Wählen Sie auf der Webseite „[ WorkSpaces Anwendungen in Ihre Website einbetten](https://clients.amazonappstream.com/embed.html)“ den Link in Schritt 1 aus, um die ZIP-Datei appstream\$1embed\$1 .zip für das WorkSpaces **Applications** Embed Kit herunterzuladen.

1. Navigieren Sie zu dem Speicherort, an dem Sie die ZIP-Datei heruntergeladen haben, und extrahieren Sie den Inhalt der Datei.

1. Der extrahierte Inhalt der Datei besteht aus einem Ordner, **appstream-embed**. Neben den Dateien **COPYRIGHT.txt** und **THRID\$1PARTY\$1NOTICES.txt** enthält dieser Ordner die folgenden beiden Dateien:
   + **appstream-embed.js** — Stellt die eingebettete WorkSpaces Anwendungs-API bereit. Diese JavaScript Datei enthält die Funktionen und API-Aktionen zur Konfiguration und Steuerung Ihrer eingebetteten WorkSpaces Anwendungs-Streaming-Sitzung.
   + **embed-sample.html** — Beschreibt, wie Sie die eingebettete WorkSpaces Anwendungs-API verwenden, um eine Streaming-Sitzung zu initialisieren, Funktionen aufzurufen und auf Ereignisse zu warten. Diese Beispieldatei erweitert die Informationen in diesem Thema, um einen Anwendungsfall für Entwickler bereitzustellen.

# Schritt 4. Konfigurieren Sie Ihre Website für die Integration mit WorkSpaces Amazon-Anwendungen
<a name="configure-website-for-integration"></a>

Die folgenden Abschnitte enthalten Informationen zur Konfiguration Ihrer Webseite für das Hosten eingebetteter WorkSpaces Anwendungs-Streaming-Sitzungen.

**Topics**
+ [Importieren Sie die JavaScript Appstream-Embed-Datei](#import-embed-javascript-file)
+ [Initialisieren und Konfigurieren des Schnittstellenobjekts `AppStream.Embed`](#initialize-configure-embed-interface-object)
+ [Beispiele für das Ausblenden von Elementen in der Benutzeroberfläche der WorkSpaces Anwendung](#examples-hiding-user-interface-items)

## Importieren Sie die JavaScript Appstream-Embed-Datei
<a name="import-embed-javascript-file"></a>

1. Importieren Sie auf der Webseite, auf der Sie die WorkSpaces Anwendungs-Streaming-Sitzung einbetten möchten, die Datei **appstream-embed.js** in die Webseite, indem Sie den folgenden Code hinzufügen:

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

1. Als nächstes erstellen Sie ein leeres Container-div. Die ID des DIV, das Sie festgelegt haben, wird an den WorkSpaces Applications Embed-Konstruktor übergeben. Es wird dann verwendet, um einen iframe für die Streaming-Sitzung zu einzufügen. Um das div zu erstellen, fügen Sie den folgenden Code hinzu:

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

## Initialisieren und Konfigurieren des Schnittstellenobjekts `AppStream.Embed`
<a name="initialize-configure-embed-interface-object"></a>

Um das `AppStream.Embed` Schnittstellenobjekt in zu initialisieren JavaScript, müssen Sie Code hinzufügen, der ein `AppStream.Embed` Objekt mit Optionen für die Streaming-URL und die Konfiguration der Benutzeroberfläche erstellt. Diese Optionen und die von Ihnen erstellte div-ID werden in einem Objekt namens `appstreamOptions` gespeichert.

Der folgende Beispielcode zeigt, wie das Schnittstellenobjekt `AppStream.Embed` initialisiert wird.

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

Ersetzen Sie im Code *sessionURL* und *userInterfaceConfig* durch Ihre eigenen Werte. 

**Anmerkung**  
Der für angegebene Wert *userInterfaceConfig* verbirgt die gesamte WorkSpaces Anwendungssymbolleiste. Dieser Wert, der als Beispiel enthalten ist, ist optional.

***sessionUrl***  
Die Streaming-URL, die Sie mit der WorkSpaces Anwendungskonsole, der [CreateStreamingURL-API-Aktion](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) oder dem [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS CLI-Befehl erstellt haben. Bei diesem Parameter wird zwischen Groß- und Kleinschreibung unterschieden.  
**Typ:** Zeichenfolge  
**Erforderlich**: Ja

***userInterfaceConfig***  
Die Konfiguration, die den Anfangszustand der Benutzeroberflächenelemente generiert. Die Konfiguration ist ein Schlüssel-Wert-Paar.   
Der Schlüssel,`AppStream.Embed.Options.HIDDEN_ELEMENTS`, gibt die Benutzeroberflächenobjekte an, die zunächst ausgeblendet sind, wenn die eingebettete WorkSpaces Anwendungs-Streaming-Sitzung initialisiert wird. Später können Sie mithilfe des Parameters `getInterfaceState` sowohl ausgeblendete als auch sichtbare Objekte zurückgeben.  
Der Wert ist ein Array von Konstanten (Symbolleistenschaltflächen). Eine Liste der Konstanten, die Sie verwenden können, finden Sie unter [Arbeiten mit `HIDDEN_ELEMENTS`](constants-functions-events-embedded-sessions.md#constants-hidden-elements).  
**Typ**: Map (*key*:*value*)  
**Required**: No

## Beispiele für das Ausblenden von Elementen in der Benutzeroberfläche der WorkSpaces Anwendung
<a name="examples-hiding-user-interface-items"></a>

Die Beispiele in diesem Abschnitt zeigen, wie Sie Elemente in der WorkSpaces Anwendungsbenutzeroberfläche vor Benutzern während ihrer eingebetteten WorkSpaces Anwendungs-Streaming-Sitzungen verbergen können.

**Topics**
+ [Beispiel 1: Die gesamte WorkSpaces Anwendungssymbolleiste ausblenden](#example-hide-the-entire-tooolbar)
+ [Beispiel 2: Blenden Sie eine bestimmte Schaltfläche auf der WorkSpaces Anwendungssymbolleiste aus](#example-hide-a-specific-toolbar-button)
+ [Beispiel 3: Verbergen Sie mehrere Schaltflächen auf der WorkSpaces Anwendungssymbolleiste](#example-hide-multiple-toolbar-buttons)

### Beispiel 1: Die gesamte WorkSpaces Anwendungssymbolleiste ausblenden
<a name="example-hide-the-entire-tooolbar"></a>

Verwenden Sie die `AppStream.Embed.Elements.TOOLBAR` Konstante, um zu verhindern, dass Benutzer während eingebetteter Streaming-Sitzungen auf eine Schaltfläche auf der Anwendungssymbolleiste zugreifen. WorkSpaces Mit dieser Konstante können Sie alle Schaltflächen der WorkSpaces Anwendungssymbolleiste ausblenden.

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

### Beispiel 2: Blenden Sie eine bestimmte Schaltfläche auf der WorkSpaces Anwendungssymbolleiste aus
<a name="example-hide-a-specific-toolbar-button"></a>

Sie können die WorkSpaces Anwendungs-Symbolleiste anzeigen und gleichzeitig verhindern, dass Benutzer während eingebetteter Streaming-Sitzungen auf eine bestimmte Schaltfläche in der Werkzeugleiste zugreifen. Geben Sie dazu die Konstante für die Schaltfläche an, die ausgeblendet werden soll. Im folgenden Code wird die Konstante `AppStream.Embed.Elements.FILES_BUTTON` zum Ausblenden der Schaltfläche **My Files (Eigene Dateien)** verwendet. Dadurch wird verhindert, dass Benutzer während eingebetteter Streaming-Sitzungen auf persistente Speicheroptionen zugreifen.

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

### Beispiel 3: Verbergen Sie mehrere Schaltflächen auf der WorkSpaces Anwendungssymbolleiste
<a name="example-hide-multiple-toolbar-buttons"></a>

Sie können die WorkSpaces Anwendungs-Symbolleiste anzeigen und gleichzeitig verhindern, dass Benutzer während eingebetteter Streaming-Sitzungen auf mehr als eine Schaltfläche in der Werkzeugleiste zugreifen. Geben Sie dazu die Konstanten für die Schaltflächen an, die ausgeblendet werden sollen. Im folgenden Code werden die Konstanten `AppStream.Embed.Elements.END_SESSION_BUTTON` und `AppStream.Embed.Elements.FULLSCREEN_BUTTON` verwendet, um die Schaltflächen **End Session (Sitzung beenden)** und **Fullscreen (Vollbild)** auszublenden. 

**Anmerkung**  
Trennen Sie jede Konstante durch ein Komma, ohne vorherige oder folgende Leerzeichen.

```
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]}
 };
```

# Konstanten, Funktionen und Ereignisse für Streaming-Sitzungen mit eingebetteten WorkSpaces Amazon-Anwendungen
<a name="constants-functions-events-embedded-sessions"></a>

Die folgenden Themen enthalten Referenzinformationen für Konstanten, Funktionen und Ereignisse, mit denen Sie Streaming-Sitzungen für eingebettete WorkSpaces Anwendungen konfigurieren können.

**Topics**
+ [Arbeiten mit `HIDDEN_ELEMENTS`](#constants-hidden-elements)
+ [Funktionen für das `AppStream.Embed`-Objekt](#functions-embed-object)
+ [Ereignisse für Streaming-Sitzungen mit eingebetteten WorkSpaces Anwendungen](#events-embedded-streaming-sessions)
+ [Beispiele für das Hinzufügen von Ereignis-Listenern und das Beenden einer Streaming-Sitzung für eingebettete WorkSpaces Anwendungen](#examples-add-event-listeners-end-embedded-streaming-session)

Die folgenden Benutzeroberflächenelemente für WorkSpaces Anwendungen können an die `HIDDEN_ELEMENTS` Konfigurationsoption übergeben werden, wenn eine eingebettete WorkSpaces Anwendungs-Streaming-Sitzung initialisiert wird.

## Arbeiten mit `HIDDEN_ELEMENTS`
<a name="constants-hidden-elements"></a>

Die folgenden Benutzeroberflächenelemente für WorkSpaces Anwendungen können als Konstanten an die `HIDDEN_ELEMENTS` Konfigurationsoption übergeben werden, wenn eine eingebettete WorkSpaces Anwendungs-Streaming-Sitzung initialisiert wird. 

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

Die folgenden drei Elemente können nicht als Konstanten, sondern als Zeichenfolgen an HIDDEN\$1ELEMENTS übergeben werden.


| Zeichenfolge | Description | 
| --- | --- | 
| 'adminCommandsButton' | Wenn Sie mit einem WorkSpaces Anwendungs-Image-Builder verbunden sind, wird die Schaltfläche „Admin-Befehle“ in der oberen rechten Ecke der WorkSpaces Anwendungssymbolleiste angezeigt. Wenn diese Zeichenfolge an HIDDEN\$1ELEMENTS übergeben wird, wird die Schaltfläche Admin Commands (Admin-Befehle) ausgeblendet. | 
| 'softKeyboardButton' | Während WorkSpaces Anwendungs-Streaming-Sitzungen auf berührungsfähigen Geräten können Benutzer auf das Tastatursymbol in der Anwendungssymbolleiste tippen, um die Bildschirmtastatur anzuzeigen. WorkSpaces Wenn Sie diese Zeichenfolge HIDDEN\$1ELEMENTS übergeben, wird das Tastatursymbol ausgeblendet. | 
| 'keyboardShortcutsButton' | Während WorkSpaces Anwendungs-Streaming-Sitzungen auf berührungsempfindlichen Geräten können Benutzer in der WorkSpaces Anwendungs-Symbolleiste auf das Fn-Symbol tippen, um Tastenkombinationen anzuzeigen. Wenn Sie diese Zeichenfolge HIDDEN\$1ELEMENTS übergeben, wird das Fn-Symbol ausgeblendet. | 

## Funktionen für das `AppStream.Embed`-Objekt
<a name="functions-embed-object"></a>

In der folgenden Tabelle sind die Funktionen aufgeführt, die für das Objekt `AppStream.Embed` ausgeführt werden können. 


| Funktion | Description | 
| --- | --- | 
| AppStream.Embed(containerId:string, options:object) | Der AppStream.Embed-Objektkonstruktor. Dieser Konstruktor initialisiert das Objekt AppStream.Embed und kommuniziert mit ihm und verwendet eine div-Container-ID. Die ID wird zum Einfügen des iframe verwendet. Außerdem wird ein Objekt eingefügt, das die Konfigurationsoptionen für appstreamOptions (sessionURLund) enthält. HIDDEN\$1ELEMENTS  | 
| endSession() | Diese Funktion beendet die Streaming-Sitzung, zerstört aber nicht den iframe. Wenn Sie eine Umleitungs-URL angeben, versucht der iframe, die URL zu laden. Abhängig von den CORS-Headern der Seite wird die URL möglicherweise nicht geladen.  | 
| launchApp(appId:string) | Diese Funktion startet programmgesteuert eine Anwendung mit der Anwendungs-ID, die während der Erstellung des Abbildes angegeben wurde.  | 
| launchAppSwitcher() | Diese Funktion sendet den AppSwitcher Befehl an das WorkSpaces Anwendungsportal. Dies löst den Befehl AppSwitcher für die Instance aus.  | 
| getSessionState() | Diese Funktion gibt ein Objekt für sessionStatus zurück. Weitere Informationen finden Sie unter [Ereignisse für Streaming-Sitzungen mit eingebetteten WorkSpaces Anwendungen](#events-embedded-streaming-sessions).  | 
| getUserInterfaceState() | Diese Funktion gibt ein Objekt für `UserInterfaceState` zurück. Das Objekt enthält die Schlüssel-Wert-Paare für Folgendes:  `sessionStatus`: Status-Aufzählung `sessionTerminationReason`: Zeichenfolge `sessionDisconnectionReason`: Zeichenfolge  Weitere Informationen finden Sie unter [Ereignisse für Streaming-Sitzungen mit eingebetteten WorkSpaces Anwendungen](#events-embedded-streaming-sessions).  | 
| addEventListener(name, callback) | Diese Funktion fügt eine Callback-Funktion hinzu, die aufzurufen ist, wenn das angegebene Ereignis ausgelöst wird. Eine Liste der Ereignisse, die ausgelöst werden können, finden Sie unter [Ereignisse für Streaming-Sitzungen mit eingebetteten WorkSpaces Anwendungen](#events-embedded-streaming-sessions).  | 
| removeEventListener(name, callback) | Diese Funktion entfernt den Rückruf für die angegebenen Ereignisse.  | 
| destroy() | Diese Funktion löscht den iframe und bereinigt Ressourcen. Diese Funktion hat keine Auswirkungen auf Streaming-Sitzungen, die gerade ausgeführt werden.  | 

## Ereignisse für Streaming-Sitzungen mit eingebetteten WorkSpaces Anwendungen
<a name="events-embedded-streaming-sessions"></a>

In der folgenden Tabelle sind die Ereignisse aufgeführt, die während Streaming-Sitzungen für eingebettete WorkSpaces Anwendungen ausgelöst werden können.


| Veranstaltung | Daten | Description | 
| --- | --- | --- | 
| AppStream.Embed.Events.SESSION\$1STATE\$1CHANGE |  `sessionStatus`: `State enumeration` `sessionTerminationReason`: Zeichenfolge `sessionDisconnectionReason`: Zeichenfolge  | Dieses Ereignis wird ausgelöst, wenn eine Änderung des Sitzungsstatus auftritt. Das Ereignis enthält eine Karte der geänderten Zustände. Verwenden Sie die Funktion `getSessionState()`, um den vollständigen Sitzungsstatus abzurufen. Nachstehend folgen die Sitzungsstatus: `AppStream.Embed.SessionStatus.Unknown` – Die Sitzung hat noch nicht begonnen und ist nicht reserviert. `AppStream.Embed.SessionStatus.Reserved` – Die Sitzung ist reserviert, hat aber noch nicht begonnen.  `AppStream.Embed.SessionStatus.Started` – Der Benutzer hat sich mit der Sitzung verbunden und mit dem Streaming begonnen. `AppStream.Embed.SessionStatus Disconnected ` – Der Benutzer hat die Verbindung zur Sitzung getrennt. `AppStream.Embed.SessionStatus.Ended` – Die Sitzung wurde als beendet oder abgelaufen markiert.  | 
| AppStream.Embed.Events.SESSION\$1INTERFACE\$1STATE\$1CHANGE | `hiddenElements`: Zeichenfolgen-Array  `isFullscreen`: Boolesch `isSoftKeyboardVisible`: Boolesch  | Dieses Ereignis wird ausgelöst, wenn eine Änderung des Sitzungsstatus auftritt. Das Ereignis enthält eine Karte der geänderten Zustände. Verwenden Sie die Funktion getSessionState(), um den vollständigen Sitzungsstatus abzurufen. | 
| AppStream.Embed.Events.SESSION\$1ERROR | `errorCode`: Nummer `errorMessage`: Zeichenfolge  | Dieses Ereignis wird ausgelöst, wenn während einer Sitzung Fehler auftreten. | 

## Beispiele für das Hinzufügen von Ereignis-Listenern und das Beenden einer Streaming-Sitzung für eingebettete WorkSpaces Anwendungen
<a name="examples-add-event-listeners-end-embedded-streaming-session"></a>

In den Beispielen in diesem Abschnitt wird gezeigt, wie Sie Folgendes tun können:
+ Fügen Sie Ereignis-Listener für Streaming-Sitzungen mit eingebetteten WorkSpaces Anwendungen hinzu.
+ Beenden Sie programmgesteuert eine Streaming-Sitzung mit eingebetteten WorkSpaces Anwendungen.

### Beispiel 1: Fügen Sie Ereignis-Listener für eingebettete WorkSpaces Anwendungs-Streaming-Sitzungen hinzu
<a name="example-add-event-listeners"></a>

Verwenden Sie den folgenden Code, um Ereignis-Listener für Sitzungsstatusänderungen, Sitzungsschnittstellenstatusänderungen und Sitzungsfehler während eingebetteter Streaming-Sitzungen hinzuzufügen:

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

In diesem Beispiel sind `AppStream.Embed.Events.SESSION_STATE_CHANGE`, `AppStream.Embed.Events.SESSION_INTERFACE_STATE_CHANGE` und `AppStream.Embed.Events.SESSION_ERROR` Ereignisnamen.

Die Funktionen `updateSessionStateCallback`, `updateUserInterfaceStateCallback` und `errorCallback` sind diejenigen, die Sie implementieren. Diese Funktionen werden in die Funktion `addEventListener` übergeben und aufgerufen, wenn ein Ereignis ausgelöst wird.

### Beispiel 2: Programmgesteuertes Beenden einer Streaming-Sitzung für eingebettete Anwendungen WorkSpaces
<a name="programmatically-end-embedded-streaming-session"></a>

Verwenden Sie die folgende Funktion, um eine eingebettete WorkSpaces Anwendungs-Streaming-Sitzung zu beenden:

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