WebViews отлично подходят для простой интеграции вашего собственного веб-контента в ваше приложение. Если ваш собственный контент содержит ссылки на веб-сайты, не принадлежащие вам, имеет смысл открыть их на настраиваемой вкладке вместо WebView. Это имеет два преимущества:
- Собственный UX четко отделен от UX 3P-контента.
- Веб-сайты 3P получают выгоду от использования файлов cookie в браузере по умолчанию.
Чтобы реализовать это, настройте собственный обработчик onLoadResource
в вашем WebViewClient
:
WebView webView = (WebView)findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return true;
}
@Override
public void onLoadResource(WebView view, String url) {
if (url.startsWith("http://www.my-own-domain.com")) {
//Handle Internal Link...
} else {
//Open Link in a Custom Tab
Uri uri = Uri.parse(url);
new CustomTabsIntent.Builder()
.build()
.launchUrl(context, uri);
}
}
});