

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Sematkan Sesi Streaming WorkSpaces Aplikasi Amazon
<a name="embed-streaming-sessions"></a>

Anda dapat membuat pengalaman yang dinamis, interaktif, dan disesuaikan untuk pengguna Anda dengan menyematkan sesi streaming WorkSpaces Aplikasi di situs web Anda. Sesi streaming WorkSpaces Aplikasi Tertanam memungkinkan pengguna berinteraksi dengan model 3D, peta, dan kumpulan data langsung dari situs web Anda. Misalnya, pengguna dapat melihat instruksi pelatihan atau materi pendidikan di samping sesi streaming WorkSpaces Aplikasi mereka. 

**Topics**
+ [Prasyarat untuk Menyematkan Sesi Streaming Aplikasi Amazon WorkSpaces](embed-streaming-sessions-prerequisites.md)
+ [Rekomendasi dan Pertimbangan Penggunaan untuk Menyematkan Sesi Streaming WorkSpaces Aplikasi Amazon](embed-streaming-sessions-recommendations-considerations.md)
+ [Langkah 1: Tentukan Domain Host ke Sesi Streaming WorkSpaces Aplikasi Amazon Tertanam](specify-host-domain-embedded-streaming-sessions.md)
+ [Langkah 2: Buat URL Streaming untuk Otentikasi Pengguna](create-streaming-url-user-authentication.md)
+ [Langkah 3: Unduh File WorkSpaces Aplikasi Amazon Tertanam](download-embed-files.md)
+ [Langkah 4. Konfigurasikan Situs Web Anda untuk Integrasi dengan WorkSpaces Aplikasi Amazon](configure-website-for-integration.md)
+ [Konstanta, Fungsi, dan Acara untuk Sesi Streaming WorkSpaces Aplikasi Amazon Tertanam](constants-functions-events-embedded-sessions.md)

# Prasyarat untuk Menyematkan Sesi Streaming Aplikasi Amazon WorkSpaces
<a name="embed-streaming-sessions-prerequisites"></a>

Untuk menyematkan sesi streaming WorkSpaces Aplikasi di situs web, Anda harus memiliki yang berikut:
+ Lingkungan WorkSpaces Aplikasi yang dikonfigurasi yang mencakup gambar, armada, dan tumpukan WorkSpaces Aplikasi. Untuk informasi tentang cara membuat sumber daya ini, lihat topik berikut di *Panduan Administrasi WorkSpaces Aplikasi*: 
  +  [Tutorial: Membuat Gambar WorkSpaces Aplikasi Kustom dengan Menggunakan Konsol WorkSpaces Aplikasi](tutorial-image-builder.md) atau [Buat Gambar WorkSpaces Aplikasi Amazon Anda Secara Terprogram dengan Menggunakan Operasi CLI Asisten Gambar](programmatically-create-image.md)
  + [Buat Armada di WorkSpaces Aplikasi Amazon](set-up-stacks-fleets-create.md)
  + [Buat Tumpukan di WorkSpaces Aplikasi Amazon](set-up-stacks-fleets-install.md)
+ URL streaming untuk otentikasi pengguna. Kumpulan pengguna SAMP 2.0 dan WorkSpaces Applications saat ini tidak didukung sebagai metode otentikasi untuk sesi streaming WorkSpaces Aplikasi tertanam.
+ Secara opsional, Anda dapat menggunakan domain khusus untuk sesi streaming WorkSpaces Aplikasi yang disematkan. Anda dapat menggunakan domain khusus sehingga URL perusahaan Anda sendiri ditampilkan untuk pengguna, bukan URL WorkSpaces Aplikasi. Domain khusus diperlukan jika pengguna Anda memiliki browser web yang memblokir cookie pihak ketiga.
**catatan**  
Anda dapat mengonfigurasi domain khusus dengan menggunakan Amazon CloudFront. Untuk selengkapnya, lihat [Menggunakan Domain Kustom dengan WorkSpaces Aplikasi](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-custom-domains-with-amazon-appstream-2-0/).

  Saat Anda menggunakan domain khusus, Anda harus:
  + Buat URL streaming yang menggunakan domain yang sama. 
  + Tambahkan **appstream-custom-url-domain** ke header halaman web yang akan menjadi tuan rumah sesi streaming WorkSpaces Aplikasi yang disematkan. Untuk nilai header, gunakan domain yang ditampilkan proxy terbalik Anda kepada pengguna. Untuk informasi selengkapnya, lihat [Persyaratan Konfigurasi untuk Menggunakan Domain Kustom](create-streaming-url-user-authentication.md#configuration-requirements-custom-domains).

# Rekomendasi dan Pertimbangan Penggunaan untuk Menyematkan Sesi Streaming WorkSpaces Aplikasi Amazon
<a name="embed-streaming-sessions-recommendations-considerations"></a>

Pertimbangkan rekomendasi dan catatan penggunaan berikut untuk sesi streaming WorkSpaces Aplikasi yang disematkan.
+ Untuk mempertahankan kontrol maksimum atas pengalaman streaming WorkSpaces Aplikasi yang disematkan untuk pengguna Anda, kami sarankan Anda mengonfigurasi streaming berumur pendek URLs yang berlangsung sekitar 5 detik. Setiap pengguna dapat memeriksa isi halaman web dan melihat sumbernya. Ini termasuk model objek dokumen (DOM) dan src (sumber) URL iframe. Jika URL masih valid saat pengguna menyalinnya, pengguna tersebut dapat menempelkan URL di tab browser terpisah dan melakukan streaming sesi dengan antarmuka pengguna portal WorkSpaces Aplikasi standar, tanpa opsi penyematan.
+ Sesi bersamaan tidak didukung saat domain kustom digunakan untuk sesi streaming WorkSpaces Aplikasi yang disematkan. Sesi bersamaan terjadi ketika pengguna memulai dua sesi streaming WorkSpaces Aplikasi yang disematkan baik di halaman web yang sama atau di dua tab browser yang berbeda. Anda tidak dapat memiliki satu pengguna dengan sesi bersamaan, tetapi Anda dapat memiliki banyak pengguna. Misalnya, pengguna masuk ke aplikasi Anda, aplikasi Anda menghasilkan URL streaming untuk diberikan kepada pelanggan (yang dihitung sebagai pengguna unik untuk penagihan), pelanggan memuat URL streaming, dan pelanggan ditetapkan ke instance appstream dalam kumpulan yang Anda tentukan.

# Langkah 1: Tentukan Domain Host ke Sesi Streaming WorkSpaces Aplikasi Amazon Tertanam
<a name="specify-host-domain-embedded-streaming-sessions"></a>

Untuk menyematkan sesi streaming WorkSpaces Aplikasi di halaman web, perbarui tumpukan Anda terlebih dahulu untuk menentukan domain yang akan menjadi tuan rumah sesi streaming yang disematkan. Ini adalah langkah keamanan untuk memastikan bahwa hanya domain situs web resmi yang dapat menyematkan sesi streaming WorkSpaces Aplikasi. WorkSpaces Aplikasi menambahkan domain atau domain yang Anda tentukan ke header **Content-Security-Policy** (CSP). Untuk informasi selengkapnya, lihat [Kebijakan Keamanan Konten (CSP) di dokumentasi](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) Mozilla [MDN Web](https://developer.mozilla.org/en-US/) Docs.

Untuk memperbarui tumpukan Anda untuk menentukan domain untuk meng-host sesi streaming yang disematkan, gunakan salah satu metode berikut:
+ Konsol WorkSpaces Aplikasi
+ Tindakan `EmbedHostDomains` API 
+ `embed-host-domains` AWS Perintah antarmuka baris perintah (AWS CLI)

Untuk menentukan domain host menggunakan konsol WorkSpaces Aplikasi, lakukan langkah-langkah berikut.

1. Buka konsol WorkSpaces Aplikasi di [https://console.aws.amazon.com/appstream2/rumah](https://console.aws.amazon.com/appstream2/home).

1. Di panel navigasi kiri, pilih **Tumpukan**, dan pilih tumpukan yang Anda inginkan.

1. Pilih **Edit**.

1. Perluas ** WorkSpaces Aplikasi Sematan (Opsional).**

1. Di **Host Domains**, tentukan domain yang valid. Sebagai contoh: **training.example.com**.
**catatan**  
Sesi streaming yang disematkan hanya didukung melalui HTTPS [port TCP 443].

1. Pilih **Perbarui**.

# Langkah 2: Buat URL Streaming untuk Otentikasi Pengguna
<a name="create-streaming-url-user-authentication"></a>

Anda harus membuat URL streaming untuk mengautentikasi pengguna untuk sesi streaming WorkSpaces Aplikasi yang disematkan. SAMP 2.0 dan kumpulan pengguna saat ini tidak didukung untuk sesi streaming tertanam. Untuk membuat URL streaming, gunakan salah satu metode berikut:
+ WorkSpaces Aplikasi konsol
+ Tindakan API [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) 
+ [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS Perintah CLI

## Persyaratan Konfigurasi untuk Menggunakan Domain Kustom
<a name="configuration-requirements-custom-domains"></a>

Baik Anda menggunakan domain khusus untuk menerapkan branding perusahaan Anda atau untuk memastikan bahwa sesi streaming WorkSpaces Aplikasi yang disematkan berfungsi dengan browser yang memblokir cookie pihak ketiga, persyaratan konfigurasinya sama.

Untuk browser web yang memblokir cookie pihak ketiga, domain khusus diperlukan. WorkSpaces Aplikasi menggunakan cookie browser untuk mengautentikasi sesi streaming dan memungkinkan pengguna terhubung kembali ke sesi aktif tanpa diminta untuk memberikan kredensi masuk mereka setiap saat. Secara default, WorkSpaces aplikasi streaming URLs termasuk **appstream.com** sebagai domain. Saat Anda menyematkan sesi streaming di situs web Anda, **appstream.com** diperlakukan sebagai domain pihak ketiga. Akibatnya, sesi streaming dapat diblokir ketika browser modern digunakan yang memblokir cookie pihak ketiga secara default.

Untuk menghindari sesi streaming WorkSpaces Aplikasi yang disematkan diblokir dalam skenario ini, ikuti langkah-langkah berikut:

1. Tentukan domain khusus untuk meng-host sesi streaming WorkSpaces Aplikasi yang disematkan.

   Ketika Anda mengonfigurasi domain kustom Anda, pastikan bahwa domain tersebut adalah subdomain dari halaman web tempat Anda berencana untuk menyematkan WorkSpaces Aplikasi. Misalnya, jika Anda memperbarui tumpukan untuk ditentukan **training.example.com** sebagai domain host, Anda dapat membuat subdomain yang dipanggil **content.training.example.com** untuk sesi streaming yang disematkan.

1. Buat URL streaming untuk sesi streaming WorkSpaces Aplikasi tertanam yang menggunakan subdomain kustom yang sama. Untuk membuat URL streaming, gunakan tindakan [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) API atau perintah [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS CLI. Anda tidak dapat menggunakan konsol WorkSpaces Aplikasi untuk membuat URL streaming dalam skenario ini.

   Untuk membuat URL streaming untuk sesi streaming WorkSpaces Aplikasi yang disematkan, di URL, ganti **appstream2.** *region* **.aws.amazon.com** dengan domain Anda sendiri. 

   Secara default, streaming WorkSpaces Aplikasi URLs diformat sebagai berikut:

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

   Jika subdomain Anda**content.training.example.com**, URL streaming baru Anda mengikuti format ini:

   ```
   https://content.training.example.com/authenticate?parameters=authenticationcode
   ```
**catatan**  
Saat membuat domain khusus, Anda dapat menggunakan domain untuk sesi streaming WorkSpaces Aplikasi yang disematkan hanya di AWS Wilayah tempat domain tersebut dikonfigurasi. Jika Anda berencana untuk mendukung domain kustom di beberapa Wilayah, buat domain khusus untuk setiap Wilayah yang berlaku. Selain itu, sesi streaming tertanam hanya didukung melalui HTTPS [port TCP 443].

1. Tambahkan **appstream-custom-url-domain** ke header halaman web yang akan menjadi tuan rumah sesi streaming yang disematkan. Untuk nilai header, gunakan domain yang ditampilkan proxy terbalik Anda kepada pengguna. Contoh:

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

   Menetapkan domain khusus dan membuat URL streaming yang menentukan domain yang sama memungkinkan cookie disimpan sebagai cookie pihak pertama. Untuk informasi tentang cara mengonfigurasi domain kustom menggunakan Amazon CloudFront, lihat [Menggunakan Domain Kustom dengan WorkSpaces Aplikasi](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-custom-domains-with-amazon-appstream-2-0/).

Setelah menyiapkan domain khusus untuk sesi streaming WorkSpaces Aplikasi yang disematkan, jika streaming URLs tidak dialihkan ke domain kustom, atau jika domain kustom tidak ditampilkan dengan benar untuk pengguna, lihat topik pemecahan masalah berikut:
+ [Saya menyiapkan domain khusus untuk sesi streaming WorkSpaces Aplikasi yang disematkan, tetapi streaming WorkSpaces Aplikasi saya URLs tidak dialihkan ke domain khusus saya.](troubleshooting-general.md#embedded-streaming-sessions-streaming-urls-not-redirected-to-custom-domain)

# Langkah 3: Unduh File WorkSpaces Aplikasi Amazon Tertanam
<a name="download-embed-files"></a>

Untuk meng-host sesi streaming WorkSpaces Aplikasi yang disematkan, Anda harus mengunduh dan mengonfigurasi JavaScript file API WorkSpaces Aplikasi yang disediakan.

1. **Pada halaman web [Embedding WorkSpaces Applications in Your Website](https://clients.amazonappstream.com/embed.html), pilih tautan di langkah 1 untuk mengunduh file WorkSpaces Applications Embed Kit .zip, appstream\$1embed\$1.zip.** <version>

1. Arahkan ke lokasi tempat Anda mengunduh file.zip, dan ekstrak konten file.

1. **Isi file yang diekstrak terdiri dari satu folder, appstream-embed.** Selain file **COPYRIGHT.txt** dan **THIRD\$1PARTY\$1NOTICES.txt**, folder ini berisi dua file berikut:
   + **appstream-embed.js** - Menyediakan API WorkSpaces Aplikasi tertanam. JavaScript File ini mencakup fungsi dan tindakan API untuk mengonfigurasi dan mengontrol sesi streaming WorkSpaces Aplikasi yang disematkan.
   + **embed-sample.html** - Menjelaskan cara menggunakan WorkSpaces Applications API yang disematkan untuk menginisialisasi sesi streaming, fungsi panggilan, dan mendengarkan acara. File contoh ini memperluas informasi dalam topik ini, untuk memberikan contoh kasus penggunaan bagi pengembang.

# Langkah 4. Konfigurasikan Situs Web Anda untuk Integrasi dengan WorkSpaces Aplikasi Amazon
<a name="configure-website-for-integration"></a>

Bagian berikut memberikan informasi tentang cara mengonfigurasi halaman web Anda untuk meng-host sesi streaming WorkSpaces Aplikasi yang disematkan.

**Topics**
+ [Impor File yang disematkan appstream JavaScript](#import-embed-javascript-file)
+ [Inisialisasi dan Konfigurasikan Objek `AppStream.Embed` Antarmuka](#initialize-configure-embed-interface-object)
+ [Contoh untuk Menyembunyikan Item di Antarmuka Pengguna WorkSpaces Aplikasi](#examples-hiding-user-interface-items)

## Impor File yang disematkan appstream JavaScript
<a name="import-embed-javascript-file"></a>

1. Pada halaman web tempat Anda berencana untuk menyematkan sesi streaming WorkSpaces Aplikasi, impor file **appstream-embed.js** ke halaman web dengan menambahkan kode berikut:

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

1. Selanjutnya, buat div kontainer kosong. ID div yang Anda atur diteruskan ke konstruktor embed WorkSpaces Applications. Ini kemudian digunakan untuk menyuntikkan iframe untuk sesi streaming. Untuk membuat div, tambahkan kode berikut:

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

## Inisialisasi dan Konfigurasikan Objek `AppStream.Embed` Antarmuka
<a name="initialize-configure-embed-interface-object"></a>

Untuk menginisialisasi objek `AppStream.Embed` antarmuka JavaScript, Anda harus menambahkan kode yang membuat `AppStream.Embed` objek dengan opsi untuk URL streaming dan konfigurasi antarmuka pengguna. Opsi ini, dan ID div yang Anda buat, disimpan dalam objek yang disebut`appstreamOptions`.

Kode contoh berikut menunjukkan bagaimana menginisialisasi objek `AppStream.Embed` antarmuka.

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

Dalam kode, ganti *sessionURL* dan *userInterfaceConfig* dengan nilai Anda sendiri. 

**catatan**  
Nilai yang ditentukan untuk *userInterfaceConfig* menyembunyikan seluruh toolbar WorkSpaces Aplikasi. Nilai ini, yang disertakan sebagai contoh, adalah opsional.

***sessionUrl***  
URL streaming yang Anda buat dengan menggunakan konsol WorkSpaces Aplikasi, tindakan API [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html), atau perintah [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html) AWS CLI. Parameter ini peka huruf besar/kecil.  
**Tipe**: String  
**Wajib**: Ya

***userInterfaceConfig***  
Konfigurasi yang menghasilkan keadaan awal elemen antarmuka pengguna. Konfigurasi adalah pasangan kunci-nilai.   
Kuncinya`AppStream.Embed.Options.HIDDEN_ELEMENTS`,, menentukan objek antarmuka pengguna yang awalnya disembunyikan ketika sesi streaming WorkSpaces Aplikasi tertanam diinisialisasi. Kemudian, Anda dapat mengembalikan objek tersembunyi dan terlihat dengan menggunakan `getInterfaceState` parameter.  
Nilainya adalah array konstanta (tombol toolbar). Untuk daftar konstanta yang dapat Anda gunakan, lihat[Bekerja dengan `HIDDEN_ELEMENTS`](constants-functions-events-embedded-sessions.md#constants-hidden-elements).  
**Jenis**: Peta (*key*:*value*)  
**Wajib**: Tidak

## Contoh untuk Menyembunyikan Item di Antarmuka Pengguna WorkSpaces Aplikasi
<a name="examples-hiding-user-interface-items"></a>

Contoh di bagian ini menunjukkan cara menyembunyikan item di antarmuka pengguna WorkSpaces Aplikasi dari pengguna selama sesi streaming WorkSpaces Aplikasi yang disematkan.

**Topics**
+ [Contoh 1: Sembunyikan seluruh toolbar WorkSpaces Aplikasi](#example-hide-the-entire-tooolbar)
+ [Contoh 2: Sembunyikan tombol tertentu pada toolbar WorkSpaces Aplikasi](#example-hide-a-specific-toolbar-button)
+ [Contoh 3: Sembunyikan beberapa tombol pada toolbar WorkSpaces Aplikasi](#example-hide-multiple-toolbar-buttons)

### Contoh 1: Sembunyikan seluruh toolbar WorkSpaces Aplikasi
<a name="example-hide-the-entire-tooolbar"></a>

Untuk mencegah pengguna mengakses tombol apa pun pada bilah alat WorkSpaces Aplikasi selama sesi streaming tertanam, gunakan konstanta. `AppStream.Embed.Elements.TOOLBAR` Konstanta ini memungkinkan Anda menyembunyikan semua tombol toolbar WorkSpaces Aplikasi.

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

### Contoh 2: Sembunyikan tombol tertentu pada toolbar WorkSpaces Aplikasi
<a name="example-hide-a-specific-toolbar-button"></a>

Anda dapat menampilkan toolbar WorkSpaces Aplikasi, sekaligus mencegah pengguna mengakses tombol toolbar tertentu selama sesi streaming tertanam. Untuk melakukannya, tentukan konstanta untuk tombol yang ingin Anda sembunyikan. Kode berikut menggunakan `AppStream.Embed.Elements.FILES_BUTTON` konstanta untuk menyembunyikan tombol **My Files**. Ini mencegah pengguna mengakses opsi penyimpanan persisten selama sesi streaming tertanam.

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

### Contoh 3: Sembunyikan beberapa tombol pada toolbar WorkSpaces Aplikasi
<a name="example-hide-multiple-toolbar-buttons"></a>

Anda dapat menampilkan toolbar WorkSpaces Aplikasi, sekaligus mencegah pengguna mengakses lebih dari satu tombol toolbar selama sesi streaming tertanam. Untuk melakukannya, tentukan konstanta untuk tombol yang ingin Anda sembunyikan. Kode berikut menggunakan `AppStream.Embed.Elements.FULLSCREEN_BUTTON` konstanta `AppStream.Embed.Elements.END_SESSION_BUTTON` dan untuk menyembunyikan tombol **End Session** dan **Fullscreen**. 

**catatan**  
Pisahkan setiap konstanta dengan koma, tanpa spasi sebelumnya atau berikutnya.

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

# Konstanta, Fungsi, dan Acara untuk Sesi Streaming WorkSpaces Aplikasi Amazon Tertanam
<a name="constants-functions-events-embedded-sessions"></a>

Topik berikut memberikan informasi referensi untuk konstanta, fungsi, dan peristiwa yang dapat Anda gunakan untuk mengonfigurasi sesi streaming WorkSpaces Aplikasi yang disematkan.

**Topics**
+ [Bekerja dengan `HIDDEN_ELEMENTS`](#constants-hidden-elements)
+ [Fungsi untuk `AppStream.Embed` Objek](#functions-embed-object)
+ [Acara untuk Sesi Streaming WorkSpaces Aplikasi Tertanam](#events-embedded-streaming-sessions)
+ [Contoh untuk Menambahkan Pendengar Acara dan Mengakhiri Sesi Streaming WorkSpaces Aplikasi Tertanam](#examples-add-event-listeners-end-embedded-streaming-session)

Elemen antarmuka pengguna WorkSpaces Aplikasi berikut dapat diteruskan ke opsi `HIDDEN_ELEMENTS` konfigurasi saat sesi streaming WorkSpaces Aplikasi tertanam diinisialisasi.

## Bekerja dengan `HIDDEN_ELEMENTS`
<a name="constants-hidden-elements"></a>

Elemen antarmuka pengguna WorkSpaces Aplikasi berikut dapat diteruskan sebagai konstanta ke dalam opsi `HIDDEN_ELEMENTS` konfigurasi saat sesi streaming WorkSpaces Aplikasi tertanam diinisialisasi. 

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

Tiga elemen berikut dapat diteruskan sebagai string ke HIDDEN\$1ELEMENTS, bukan sebagai konstanta.


| String | Deskripsi | 
| --- | --- | 
| 'adminCommandsButton' | Saat Anda terhubung ke pembuat gambar WorkSpaces Aplikasi, tombol Perintah Admin ditampilkan di sudut kanan atas toolbar WorkSpaces Aplikasi. Melewati string ini ke HIDDEN\$1ELEMENTS menyembunyikan tombol Perintah Admin. | 
| 'softKeyboardButton' | Selama sesi streaming WorkSpaces Aplikasi pada perangkat berkemampuan sentuh, pengguna dapat mengetuk ikon keyboard pada bilah alat WorkSpaces Aplikasi untuk menampilkan keyboard di layar. Melewati string ini ke HIDDEN\$1ELEMENTS menyembunyikan ikon keyboard. | 
| 'keyboardShortcutsButton' | Selama sesi streaming WorkSpaces Aplikasi pada perangkat yang mendukung sentuhan, pengguna dapat mengetuk ikon Fn pada bilah alat WorkSpaces Aplikasi untuk menampilkan pintasan keyboard. Melewati string ini ke HIDDEN\$1ELEMENTS menyembunyikan ikon Fn. | 

## Fungsi untuk `AppStream.Embed` Objek
<a name="functions-embed-object"></a>

Tabel berikut mencantumkan fungsi yang dapat dilakukan pada `AppStream.Embed` objek. 


| Fungsi | Deskripsi | 
| --- | --- | 
| AppStream.Embed(containerId:string, options:object) | Konstruktor AppStream.Embed objek. Konstruktor ini menginisialisasi dan berkomunikasi dengan AppStream.Embed objek, dan menggunakan ID kontainer div. ID digunakan untuk menyuntikkan iframe. Ini juga menyuntikkan objek yang mencakup opsi konfigurasi untuk appstreamOptions (sessionURLdanHIDDEN\$1ELEMENTS).  | 
| endSession() | Fungsi ini mengakhiri sesi streaming, tetapi tidak merusak iframe. Jika Anda menentukan URL pengalihan, iframe mencoba memuat URL. Bergantung pada header CORS halaman, URL mungkin tidak dimuat.  | 
| launchApp(appId:string) | Fungsi ini secara terprogram meluncurkan aplikasi dengan ID aplikasi yang ditentukan selama pembuatan gambar.  | 
| launchAppSwitcher() | Fungsi ini mengirimkan AppSwitcher perintah ke portal WorkSpaces Aplikasi. Ini memicu AppSwitcher perintah pada instance.  | 
| getSessionState() | Fungsi ini mengembalikan sebuah objek untuksessionStatus. Untuk informasi selengkapnya, lihat [Acara untuk Sesi Streaming WorkSpaces Aplikasi Tertanam](#events-embedded-streaming-sessions).  | 
| getUserInterfaceState() | Fungsi ini mengembalikan sebuah objek untuk`UserInterfaceState`. Objek berisi pasangan kunci-nilai untuk berikut:  `sessionStatus`: Pencacahan negara `sessionTerminationReason`: String `sessionDisconnectionReason`: String  Untuk informasi selengkapnya, lihat [Acara untuk Sesi Streaming WorkSpaces Aplikasi Tertanam](#events-embedded-streaming-sessions).  | 
| addEventListener(name, callback) | Fungsi ini menambahkan fungsi callback untuk memanggil ketika peristiwa tertentu dipicu. Untuk daftar peristiwa yang dapat dipicu, lihat[Acara untuk Sesi Streaming WorkSpaces Aplikasi Tertanam](#events-embedded-streaming-sessions).  | 
| removeEventListener(name, callback) | Fungsi ini menghapus callback untuk peristiwa tertentu.  | 
| destroy() | Fungsi ini menghapus iframe dan membersihkan sumber daya. Fungsi ini tidak memengaruhi sesi streaming yang sedang berlangsung.  | 

## Acara untuk Sesi Streaming WorkSpaces Aplikasi Tertanam
<a name="events-embedded-streaming-sessions"></a>

Tabel berikut mencantumkan peristiwa yang dapat dipicu selama sesi streaming WorkSpaces Aplikasi tertanam.


| Peristiwa | Data | Deskripsi | 
| --- | --- | --- | 
| AppStream.Embed.Events.SESSION\$1STATE\$1CHANGE |  `sessionStatus`: `State enumeration` `sessionTerminationReason`: String `sessionDisconnectionReason`: String  | Peristiwa ini dipicu ketika terjadi perubahan status sesi. Acara ini mencakup peta negara bagian yang berubah. Untuk mengambil status sesi penuh, gunakan `getSessionState()` fungsi. Berikut ini adalah status sesi: `AppStream.Embed.SessionStatus.Unknown`— Sesi belum dimulai dan tidak dicadangkan `AppStream.Embed.SessionStatus.Reserved`— Sesi dicadangkan tetapi belum dimulai.  `AppStream.Embed.SessionStatus.Started`— Pengguna terhubung ke sesi dan mulai streaming. `AppStream.Embed.SessionStatus Disconnected `— Pengguna terputus dari sesi. `AppStream.Embed.SessionStatus.Ended`— Sesi ditandai sebagai berakhir atau kedaluwarsa.  | 
| AppStream.Embed.Events.SESSION\$1INTERFACE\$1STATE\$1CHANGE | `hiddenElements`: Array string  `isFullscreen`: Boolean `isSoftKeyboardVisible`: Boolean  | Peristiwa ini dipicu ketika terjadi perubahan status sesi. Acara ini mencakup peta negara bagian yang berubah. Untuk mengambil status sesi penuh, gunakan getSessionState() fungsi. | 
| AppStream.Embed.Events.SESSION\$1ERROR | `errorCode`: Angka `errorMessage`: String  | Peristiwa ini dipicu ketika ada kesalahan yang terjadi selama sesi. | 

## Contoh untuk Menambahkan Pendengar Acara dan Mengakhiri Sesi Streaming WorkSpaces Aplikasi Tertanam
<a name="examples-add-event-listeners-end-embedded-streaming-session"></a>

Contoh di bagian ini menunjukkan cara melakukan hal berikut:
+ Tambahkan pendengar acara untuk sesi streaming WorkSpaces Aplikasi yang disematkan.
+ Akhiri sesi streaming WorkSpaces Aplikasi yang disematkan secara terprogram.

### Contoh 1: Tambahkan pendengar acara untuk sesi streaming WorkSpaces Aplikasi yang disematkan
<a name="example-add-event-listeners"></a>

Untuk menambahkan pendengar acara untuk perubahan status sesi, perubahan status antarmuka sesi, dan kesalahan sesi selama sesi streaming tertanam, gunakan kode berikut:

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

Dalam contoh ini,`AppStream.Embed.Events.SESSION_STATE_CHANGE`,`AppStream.Embed.Events.SESSION_INTERFACE_STATE_CHANGE`, dan `AppStream.Embed.Events.SESSION_ERROR` merupakan nama acara.

Fungsi `updateSessionStateCallback``updateUserInterfaceStateCallback`, dan `errorCallback` fungsi adalah yang Anda terapkan. Fungsi-fungsi ini diteruskan ke `addEventListener` fungsi dan dipanggil ketika suatu peristiwa dipicu.

### Contoh 2: Akhiri sesi streaming WorkSpaces Aplikasi yang disematkan secara terprogram
<a name="programmatically-end-embedded-streaming-session"></a>

Untuk mengakhiri sesi streaming WorkSpaces Aplikasi yang disematkan, gunakan fungsi berikut:

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