WebView sangat cocok untuk mengintegrasikan konten web Anda sendiri ke dalam aplikasi dengan lancar. Jika konten pihak pertama Anda menyertakan link ke situs yang bukan milik Anda, sebaiknya buka link tersebut di Tab Khusus, bukan di WebView. Hal ini memiliki dua manfaat:
- UX pihak pertama jelas terpisah dari UX konten web pihak ketiga.
- Situs pihak ketiga mendapatkan manfaat dari cookie yang dibagikan dengan 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);
}
}
});