WebView는 자체 웹 콘텐츠를 앱에 원활하게 통합하는 데 유용합니다. 퍼스트 파티 콘텐츠에 소유하지 않은 웹사이트의 링크가 포함된 경우 WebView 대신 맞춤 탭에서 여는 것이 좋습니다. 여기에는 두 가지 이점이 있습니다.
- 퍼스트 파티 UX는 서드 파티 웹 콘텐츠 UX와 명확하게 구분됩니다.
- 서드 파티 웹사이트는 쿠키를 기본 브라우저와 공유하면 도움이 됩니다.
이렇게 구현하려면 WebViewClient
에서 맞춤 onLoadResource
핸들러를 구성합니다.
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);
}
}
});