WebView sangat cocok untuk mengintegrasikan konten web Anda sendiri ke aplikasi dengan lancar. Jika konten pihak pertama menyertakan link ke situs yang tidak Anda miliki, sebaiknya buka di Tab Khusus, bukan WebView. Hal ini memiliki dua manfaat:
- UX pihak pertama jelas terpisah dari UX konten web pihak ketiga.
- Situs pihak ketiga mendapatkan manfaat karena cookie yang dibagikan ke browser default.
Untuk menerapkannya, konfigurasikan pengendali onLoadResource
kustom di WebViewClient
Anda:
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);
}
}
});