本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於嵌入式 Amazon AppStream 2.0 串流工作階段的常數、函數和事件
下列主題提供常數、函數和事件的參考資訊,可用來設定內嵌的 AppStream 2.0 串流工作階段。
目錄
初始化內嵌式 AppStream 2.0 串流工作階段時,下列 AppStream 2.0 使用者介面元素可以傳入HIDDEN_ELEMENTS
組態選項。
使用 HIDDEN_ELEMENTS
初始化內嵌式 AppStream 2.0 串流工作階段時,下列 AppStream 2.0 使用者介面元素可以作為常數傳遞至HIDDEN_ELEMENTS
組態選項。
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
下列三個元素可以作為字串傳遞到 HIDDEN_ELEMENTS,而不是作為常數。
字串 | 描述 |
---|---|
'adminCommandsButton' |
當您連線到 AppStream 2.0 映像建置器時,管理命令按鈕會顯示在 AppStream 2.0 工具列的右上角。將此字串傳遞至 HIDDEN_ELEMENTS 會隱藏 Admin Commands (管理命令) 按鈕。 |
'softKeyboardButton' |
在已啟用觸控功能的裝置的 AppStream 2.0 串流工作階段期間,使用者可以點選 AppStream 2.0 工具列上的鍵盤圖示,以顯示螢幕鍵盤。將此字串傳遞至 HIDDEN_ELEMENTS 會隱藏鍵盤圖示。 |
'keyboardShortcutsButton' |
在已啟用觸控功能的裝置的 AppStream 2.0 串流工作階段期間,使用者可以點選 AppStream 2.0 工具列上的 Fn 圖示,以顯示鍵盤快速鍵。將此字串傳遞至 HIDDEN_ELEMENTS 會隱藏 Fn 圖示。 |
AppStream.Embed
物件的功能
下表列出可在 AppStream.Embed
物件上執行的功能。
函式 | 描述 |
---|---|
AppStream.Embed(containerId:string, options:object) |
AppStream.Embed 物件建構函數。此建構函數會初始化並與 AppStream.Embed 物件通訊,而且會使用 div 容器 ID。該 ID 會於注入 iframe 時使用,它也會插入包含 appstreamOptions (sessionURL 和 HIDDEN_ELEMENTS )。 |
endSession() |
此函數會結束串流工作階段,但不會破壞 iframe。如果您指定重新導向 URL,iframe 會嘗試載入 URL。根據頁面的CORS標頭, URL可能不會載入。 |
launchApp(appId:string) |
此函數會以程式設計的方式,使用影像建立期間指定的應用程式 ID 啟動應用程式。 |
launchAppSwitcher() |
此函數會將 AppSwitcher命令傳送至 AppStream 2.0 入口網站。此操作會觸發執行個體上的 AppSwitcher 命令。 |
getSessionState() |
此函數會傳回 sessionStatus 的物件。如需詳細資訊,請參閱嵌入式 AppStream 2.0 串流工作階段的事件。 |
getUserInterfaceState() |
此函數會傳回
如需詳細資訊,請參閱嵌入式 AppStream 2.0 串流工作階段的事件。 |
addEventListener(name, callback) |
此函數會新增回呼功能,以在指定的活動觸發時呼叫。如需可觸發的事件清單,請參閱 嵌入式 AppStream 2.0 串流工作階段的事件。 |
removeEventListener(name, callback) |
此函數會刪除指定事件的回呼。 |
destroy() |
此函數會刪除 iframe 並清理資源。此函數不會影響進行中的串流工作階段。 |
嵌入式 AppStream 2.0 串流工作階段的事件
下表列出可在內嵌 AppStream 2.0 串流工作階段期間觸發的事件。
事件 | 資料 | 描述 |
---|---|---|
AppStream.Embed.Events.SESSION_STATE_CHANGE |
|
此事件會在有任何工作階段狀態變更發生時觸發。此事件包含已變更的狀態的對應。若要擷取完整工作階段狀態,請使用 以下是工作階段狀態:
|
AppStream.Embed.Events.SESSION_INTERFACE_STATE_CHANGE |
|
此事件會在有任何工作階段狀態變更發生時觸發。此事件包含已變更的狀態的對應。若要擷取完整工作階段狀態,請使用 getSessionState() 函數。 |
AppStream.Embed.Events.SESSION_ERROR |
|
工作階段期間發生任何錯誤都會觸發此事件。 |
新增事件接聽程式和結束內嵌 AppStream 2.0 串流工作階段的範例
本節中的範例說明如何執行以下動作:
新增內嵌 AppStream 2.0 串流工作階段的事件接聽程式。
以程式設計方式結束內嵌的 AppStream 2.0 串流工作階段。
範例 1:為內嵌 AppStream 2.0 串流工作階段新增事件接聽程式
若要在嵌入串流工作階段期間變更工作階段狀態、變更工作階段介面狀態和新增工作階段錯誤的事件偵聽程式,請使用以下程式碼:
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);
在此範例中,AppStream.Embed.Events.SESSION_STATE_CHANGE
、AppStream.Embed.Events.SESSION_INTERFACE_STATE_CHANGE
和 AppStream.Embed.Events.SESSION_ERROR
為事件名稱。
updateSessionStateCallback
、updateUserInterfaceStateCallback
和 errorCallback
函數是您實作的函數。系統會將這些函數傳送至 addEventListener
函數,並在觸發事件時呼叫。
範例 2:以程式設計方式結束內嵌的 AppStream 2.0 串流工作階段
若要結束內嵌 AppStream 2.0 串流工作階段,請使用下列函數:
appstreamEmbed.endSession();