WebView là lựa chọn tuyệt vời để tích hợp liền mạch nội dung trên web của bạn vào ứng dụng. Khi nội dung bên thứ nhất của bạn có chứa đường liên kết đến trang web mà bạn không sở hữu, bạn nên mở những đường liên kết này trong Thẻ tuỳ chỉnh thay vì WebView. Việc này có hai lợi ích:
- Trải nghiệm người dùng của bên thứ nhất được tách biệt rõ ràng với trải nghiệm người dùng nội dung web của bên thứ ba.
- Trang web của bên thứ ba được hưởng lợi từ việc cookie được chia sẻ với trình duyệt mặc định.
Để triển khai việc này, hãy định cấu hình một trình xử lý onLoadResource
tuỳ chỉnh trong 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);
}
}
});