WebSlate Leistung und Sicherheit
Leistung
Anzeigen und Interagieren mit webinhaltsübersicht
Da ein WebSlate eine geladene Webseite ist, ist es wichtig, Leistungsauswirkungen zu berücksichtigen:
Szenen sind in der Regel bei 60fps mit bis zu 10 aktiven WebSlates ausgeführt. Framerate und allgemeine Leistungsbeeinträchtigung können unabhängig vom Inhalt in einer Szene beobachtet werden.
Inhalte werden im WebSlate in einem Thread geladen und ausgeführt, der von den Aktualisierungs- und Renderingthreads der Szene getrennt ist und daher unwahrscheinlich ist, dass sich die Framerate direkt auswirkt. Es ist jedoch dennoch wichtig, die Kosten von JavaScript zu berücksichtigen, die auf einer Webseite sowohl hinsichtlich der Laufzeitkomplexität als auch der Speicherauslastung ausgeführt werden.
Um die Leistung zu sparen, werden WebSlates, die für mehr als 30s offscreen sind, automatisch angehalten. Sie werden schnell wieder auf dem Bildschirm fortgesetzt, aber dies kann sich auf aktiv ausgeführte Dienste auf der gehosteten Seite auswirken. Wenn dies ein Problem ist, können Entwickler das Anhalten mit dem Kontrollkästchen "Anhalten verhindern" des Prefab deaktivieren. Beachten Sie, dass die Szene dadurch mehr Ressourcen verbrauchen kann, da diese WebSlate jederzeit aktiv bleiben.
Da WebSlates standardmäßig keine externe Navigationsbenutzeroberfläche aufweisen, empfiehlt es sich, nur benutzerdefinierte URLs zu laden, wobei die Websitenavigation zyklischer Art ist und innerhalb der Seite erfolgen kann. Dies kann beispielsweise mit einer Navigations-Randleiste oder links zu einer Hubseite erfolgen.
Das Tool "Content Leistungsanalyse( CPA)" enthält einen WebSlate-Analyzer, der die durchschnittliche Zeit misst, die die Renderpipeline von Unity zum Rendern von WebSlates in einem Frame benötigt.
Messungen basieren auf dem Profilerrekorder von Unity und erfordern den Wiedergabemodus. Der Analyzer verschiebt die Kamera über jedes WebSlate, um ausreichende Profilerbeispiele zu sammeln und berechnet die durchschnittliche Renderzeit.
Dies bietet eine erststufige, allgemeine Analyse der WebSlate-Renderzeiten im Kontext der Renderpipeline von Unity. Die Framerate des WebSlate-Inhalts selbst wird nicht bereitgestellt.
Wenn die Renderpipeline von Unity den Schwellenwert für das Rendern von WebSlates (derzeit 10 ms) überschreitet, stellt das CPA-Tool eine Warnung bereit.
Die gleichen Maße sind auch für den Performance Profiler verfügbar. Die Gruppe im Performance Profiler ändert in der Regel Farben von Grün in Rot, wenn das Budgetbudget für eine Kategorie überschritten wird. Derzeit wird die WebSlate-Gruppe nur grün angezeigt, bis ein angemessenes Renderzeitbudget für WebSlates rationalisiert wird.
Sicherheitsbeschränkungen
WebSlates sind auf die URLs gesperrt, zu denen sie navigieren, und verhindern bösartige Umleitungen. Alle unbeabsichtigten Hyperlinknavigationen zu externen Domänen werden blockiert, es sei denn, sie werden explizit als zulässige Domäne aufgeführt (siehe unten).
WebSlates sind auf die Navigation innerhalb der ursprünglichen Domäne oder auf die Umleitungen der angegebenen URL und des Servers beschränkt.
Die Navigation in einem WebSlate ist ausschließlich auf HTTPS beschränkt.
Der Gerätezugriff auf Webcam, Mikrofon und Geolocation wird blockiert.
WebSlate-Domänen-Zulassungsliste
Um die Sicherheit vor unbeabsichtigten URL-basierten Angriffsvektoren wie Phishing zu gewährleisten, schränken WebSlates standardmäßig die Navigation auf die URL ein, die in die Domäne der ersten Seite eingeschlossen sind, die in webSlate geladen wurde. Beispielsweise navigiert ein webSlate, das gestartet https://www.microsoft.com/ wird, nur zu Seiten, deren URL mit "www.microsoft.com" beginnt. Dadurch wird zwar sichergestellt, dass Benutzer nicht versehentlich vom beabsichtigten Navigationsfluss abweichen, es kann jedoch ein übermäßig restriktiver Standard für einige Anwendungsfälle sein, z. B. die Benutzerauthentifizierung, bei der möglicherweise Umleitungen zu Unterdomänen oder Authentifizierungsanbietern von Drittanbietern auftreten.
Die Möglichkeit, diese Anwendungsfälle zu berücksichtigen, besteht darin, Domänen zur Zulassungsliste von WebSlate hinzuzufügen.
Automatisches Hinzufügen von Domänen (empfohlen)
Beim Arbeiten mit WebSlates im Unity-Editor haben Sie die Möglichkeit, "Zulässige Domänen sammeln" zu aktivieren. Dadurch wird die Domänennavigationseinschränkung entfernt, sodass Sie beim Ausführen im Wiedergabemodus frei navigieren können, um Ihr Szenario zu testen. Während Sie im Wiedergabemodus navigieren, protokolliert WebSlate die Domänen, die Sie im Hintergrund besuchen.
In diesem Fall erweitern wir die Navigation von microsoft.com, um auch learn.microsoft.com einzuschließen.
Nachdem Sie den Wiedergabemodus beendet haben, finden Sie eine Ressource namens "WebViewAllowedDomains.asset" im Ordner "Assets der obersten Ebene".
Wenn Sie auf diese Ressource klicken, erhalten Sie die Liste der zusätzlichen Domänen, die Sie über die Domäne Ihrer anfänglichen URL hinaus besucht haben. Sie können mit der rechten Maustaste klicken, kopieren und dann die Werte in das Feld "Zulässige Domänen" der WebSlate-Komponente einfügen.
Hinweis: Diese Option kann in hochgeladenen Szenen nicht aktiviert werden. Wenn "Zulässige Domänen sammeln" aktiviert bleibt, wird die Einschränkung in Ihrer endgültigen Szene NICHT entfernt. Die Liste der zulässigen Domänen bleibt jedoch erhalten und ermöglicht die Navigation, solange die Domänen dem WebSlate hinzugefügt werden.
Manuelles Hinzufügen von Domänen
Wenn Sie bereits wissen, welche Domänen Sie benötigen, können Sie sie manuell zum WebSlate hinzufügen, indem Sie die Dropdownliste "Zulässige Domänen" erweitern und Die zusätzlichen Domänen zur Liste in der Unity-GUI hinzufügen.