WebViews zijn ideaal voor het naadloos integreren van uw eigen webinhoud in uw app. Wanneer uw eigen inhoud links bevat naar websites die niet uw eigendom zijn, kan het zinvol zijn deze op een aangepast tabblad te openen in plaats van in de WebView. Dit heeft twee voordelen:
- De UX van de eerste partij is duidelijk gescheiden van de UX van de 3P-webinhoud.
- Websites van 3P profiteren van cookies die worden gedeeld met de standaardbrowser.
Om dit te implementeren, configureert u een aangepaste onLoadResource
handler in uw 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);
}
}
});