Poprawianie zgodności WebView

Instytucje edukacyjne używają produktów do filtrowania treści, aby uniemożliwić użytkownikom dostęp do nieodpowiednich treści na Chromebookach. Użytkownicy mają kilka sposobów na opuszczenie tej piaskownicy treści i uzyskanie dostępu do treści, do których w innych okolicznościach nie powinni mieć dostępu. Te rekomendacje dotyczące aplikacji na Androida i Chrome powinny pomóc deweloperom w zapewnieniu prawidłowego działania aplikacji z filtrowaniem treści.

Ograniczanie treści internetowych w aplikacji

Jeśli Twoja aplikacja używa komponentów WebView, aby umożliwić uczniom logowanie się do Twojej usługi lub wyświetlanie dokumentacji, może to pozwalać uczniom na przeglądanie internetu bez ochrony przed filtrowaniem treści zapewnianej przez szkoły. Niektóre z najpopularniejszych usług filtrowania treści używanych w szkołach na Chromebookach są wdrażane jako rozszerzenia Chrome, które mogą wyświetlać tylko ruch w kartach przeglądarki. Treści internetowe są często nieprzewidywalne, więc uczniowie mogą swobodnie przeglądać internet, klikając linki w widoku WebView, bez ochrony filtrowania treści.

Ograniczając ilość treści przeglądarkowych wyświetlanych w aplikacji, możesz zmniejszyć prawdopodobieństwo, że niechciane treści będą w niej dostępne. Jeśli to niemożliwe, zadbaj o to, aby komponent WebView wyświetlał tylko wybrane przez Ciebie treści i nie zawierał linków do wyszukiwarki ani otwartej sieci.

Ograniczanie treści w widokach WebView

Jeśli Twoja aplikacja wymaga komponentu WebView, upewnij się, że treści w nim wyświetlane nie mogą opuścić aplikacji i przejść do treści, których nie jesteś właścicielem ani nad którymi nie masz kontroli. Możesz to zrobić, modyfikując klienta WebView, aby zastąpić wczytywanie określonych adresów URL za pomocą listy dozwolonych na Androidzie, lub ręcznie przeanalizować witrynę i sprawdzić, czy linki nie prowadzą do treści innych firm, nad którymi nie masz kontroli, ponieważ może to umożliwić użytkownikom dostęp do nieodpowiednich treści. W przypadku aplikacji Chrome możesz też użyć interfejsu WebRequestEventInterface, aby modyfikować żądania i sprawdzać, czy mogą one przejść do listy dozwolonych witryn.

Uruchamianie witryn zewnętrznych w przeglądarce

Ryzyko obejścia filtrowania treści przez użytkowników można zmniejszyć, otwierając treści internetowe w wbudowanych przeglądarkach internetowych na urządzeniach.

W przypadku aplikacji na Androida rozważ użycie kart niestandardowych Chrome zamiast komponentów WebView. Na Androidzie karta niestandardowa otworzy kartę przeglądarki, która będzie miała motyw podobny do Twojej aplikacji. W ChromeOS uruchomi to zwykłą przeglądarkę i umożliwi użytkownikom normalne poruszanie się po stronie, ale ponieważ jest to ich zwykła przeglądarka, pozwoli to na egzekwowanie zasad przeglądarki w odniesieniu do treści, do których uczniowie mają dostęp. W przypadku większości organizacji edukacyjnych oznacza to, że wyświetlane treści będą widoczne dla rozszerzeń do filtrowania treści działających w przeglądarce. Jest to szczególnie przydatne w przypadku zewnętrznych dostawców tożsamości, którzy korzystają z implementacji OAuth w widoku WebView.

W Aplikacjach Chrome linki do treści, których nie jesteś właścicielem, powinny być otwierane na nowej karcie, a nie w komponencie WebView. Aby otworzyć nową kartę z aplikacji Chrome, możesz zmodyfikować tagi kotwicy, aby ustawić atrybut target na _blank. Dzięki temu link będzie się otwierać na nowej karcie.

<a href=”https://google.com” target=”_blank”>External Site</a>

Uwaga: jeśli w aplikacji Chrome musisz używać komponentu WebView do uwierzytelniania za pomocą logowania jednokrotnego, upewnij się, że wybrany dostawca tożsamości otwiera nowe linki na nowych kartach, używając wspomnianego atrybutu docelowego _blank, lub nie zawiera linków do żadnych treści, które umożliwiają przejście do wyszukiwarki lub innych treści, które mogłyby zapewnić szeroki dostęp do internetu.

Korzystanie z funkcji „Zaloguj się przez Google”

Jeśli aplikacja używa tylko Logowania przez Google, nie używaj do logowania komponentu WebView. Zamiast tego na Androidzie użyj procesu rejestracji i logowania jednym dotknięciem. Jeśli używasz aplikacji Chrome, nadal korzystaj z interfejsu chrome.identity API. Linki w tym procesie logowania zaczynają się w przeglądarce, a nie w osadzonym komponencie WebView, do którego mogą nie być stosowane te same ustawienia filtrowania.