WebSlate 效能和安全性
效能
由於 WebSlate 是載入的網頁,因此請務必考慮效能影響:
場景通常以 60fps 的速度執行,最多 10 個使用中的 WebSlates。 不論內容為何,畫面速率和一般效能降低可能會與放置在場景中的WebSlate數目成比例來觀察。
內容會在 WebSlate 中載入並執行,而線程與場景的更新和轉譯線程不同,因此不太可能直接影響幀速率。 不過,在運行時間複雜度和記憶體使用量方面,考慮在網頁上執行的 JavaScript 成本仍然很重要。
為了協助節省效能,會自動暫停超過30個螢幕的WebSlate。 它們會在返回螢幕上快速恢復,但這可能會影響主控頁面上的主動執行服務。 如果這是問題,開發人員可以使用預製項的 [防止暫停] 複選框來停用暫停。 請注意,這樣做可能會導致場景耗用更多資源,因為這些 WebSlate 隨時保持作用中。
由於 WebSlate 預設沒有任何外部流覽 UI,最佳做法是只載入自定義 URL,其中網站流覽是迴圈的,而且可以在頁面內完成。 這可以使用導覽提要欄或中樞頁面的連結來完成。
Content 效能分析器 (CPA) 工具包含 WebSlate 分析器,可測量 Unity 轉譯管線在框架中轉譯 WebSlate 的平均時間。
度量是以 Unity 的分析工具錄製器為基礎,需要播放模式。 分析器會將相機移到每個 WebSlate 上,以收集足夠的分析工具樣本,並計算平均轉譯時間。
這會提供 Unity 轉譯管線內容中 WebSlate 轉譯時間的第一階段高階分析。 它不提供 WebSlate 內容本身的幀速率。
如果 Unity 的轉譯管線超過轉譯 WebSlates 的臨界值(目前為 10 毫秒),CPA 工具會提供警告。
效能分析工具也提供相同的度量。 效能分析工具上的群組通常會在超過類別的預算額度時,將色彩從綠色變更為紅色。 目前,WebSlate 群組只會顯示為綠色,直到 WebSlates 合理化轉譯時間預算為止。
安全性限制
WebSlate 會鎖定至其流覽至的URL,以防止惡意重新導向。 除非明確列為允許的網域,否則所有非預期的超連結瀏覽都會遭到封鎖,除非明確列為允許的網域(請參閱下方)。
WebSlate 僅限於在初始網域內巡覽,或指定的URL和伺服器的重新導向。
WebSlate 內的流覽僅限於 HTTPS。
網路攝影機、麥克風和地理位置的裝置存取會遭到封鎖。
WebSlate 網域允許清單
為了確保針對網路釣魚等非預期 URL 型攻擊向量的安全性,WebSlates 預設會將流覽限制在載入至 WebSlate 之第一頁的網域底下所包含的 URL。 例如,在上 https://www.microsoft.com/ 啟動的 WebSlate 只會流覽至 URL 開頭為 “www.microsoft.com” 的頁面。 雖然這可確保使用者不會不小心偏離預定的流覽流程,但對於某些使用案例,例如使用者驗證,可能會有重新導向至子域或第三方驗證提供者的過度限制預設值。
這些使用案例的因應方式是將網域新增至 WebSlate 的允許清單。
自動新增網域(建議)
在 Unity 編輯器中使用 WebSlates 時,您可以選擇啟用 [收集允許的網域]。 這會移除網域流覽限制,以便您可以在 [播放] 模式中執行時自由流覽,以測試您的案例。 當您在 [播放] 模式中瀏覽時,WebSlate 會記錄您在背景中瀏覽的網域。
在此情況下,我們會從 microsoft.com 展開流覽,以包含 learn.microsoft.com。
結束播放模式之後,您會在最上層 Assets 資料夾中找到名為 “WebViewAllowedDomains.asset” 的資產。
按兩下此資產會提供您在初始網址以外瀏覽的額外網域清單。 您可以用滑鼠右鍵按兩下、複製值,然後將這些值貼到WebSlate元件的[允許的網域] 字段中。
注意:此選項無法在上傳的場景中啟用。 將 [收集允許的網域] 保留為啟用,將不會移除最後一個場景中的限制。 不過,只要網域新增至 WebSlate,您允許的網域清單就會保存,而且會允許流覽。
手動新增網域
如果您已經知道您需要哪些網域,您可以展開 [允許的網域] 下拉式清單,並將補充網域新增至 Unity GUI 中的清單,以手動將它們新增至 WebSlate。