Android 允许开发者在应用中利用 Web 的强大功能,因此您可以受益于能够显示某些类型内容的灵活性和效率。
这样一来,您就可以将现有的 Web 内容无缝集成到原生 Android 应用中,例如显示新闻 Feed、显示互动式教程、展示广告,甚至托管迷你游戏,而无需从头开始构建所有内容。您可以将其视为应用中的一个互联网窗口。您可以通过以下两种方式将网络内容嵌入到应用中:
- WebView:它会以内嵌方式显示您控制的网页内容,让您能够灵活地自定义或更新界面。
- 自定义标签页:一种由用户默认浏览器提供支持的完整应用内浏览体验(请参阅浏览器支持),当用户点击链接时,您希望他们留在应用中,而不是前往外部浏览器,并且开箱即可获得大部分浏览体验。


为什么要嵌入网页内容?
- 效率:重复使用网站中的现有代码。基于现有的 Web 技术和内容。
- 集成:在应用中利用第三方提供商提供的外部内容,例如媒体、广告。
- 灵活性:动态更新内容,不受预定义界面限制,也无需发布应用更新。
何时使用网页内容?
在 Android 应用中使用 Web 有以下三种主要用例:
1. 将 Web 内容作为主要内容或辅助内容嵌入到应用中:使用 WebView
- 以内嵌方式显示您自己的网页内容,作为主要体验,以便您灵活地自定义或更新界面。
- 在应用体验中以内嵌方式或窗口形式显示其他内容,例如广告、法律条款和法规或其他第三方内容。


2. 使用自定义标签页进行应用内浏览,或使用 WebView 实现更高级的用例
- 当用户点击链接时,您希望他们留在应用中,而不是前往外部浏览器,这时您就可以提供完整的应用内浏览体验。
- 注意:对于平板电脑和可折叠设备等大屏设备,还有一些其他选项可帮助应用利用额外的空间:
- 应用可以使用启动相邻的多窗口体验在分屏模式下打开网页链接。这样一来,用户就可以同时在您的应用和浏览器之间执行多项任务。或
- 自定义标签页具有可在同一任务中打开的侧边栏选项,但会显示在现有应用内容旁边。
- 自定义标签页由用户的默认浏览器提供支持(对于支持自定义标签页的浏览器)。
- 虽然可以使用 WebView 提供高度可自定义的应用内浏览体验,但我们建议使用自定义标签页,以便提供开箱即用的浏览器体验,并在用户想要在浏览器中打开网页链接时实现无缝过渡。

3. 应用内的登录或身份验证流程
Android 建议使用 Credential Manager 构建登录或身份验证流程。如果您发现仍需使用嵌入式 Web 来实现这些体验,请遵循以下指南:
- 有些应用使用 WebView 为用户提供登录流程,包括使用特定于应用的用户名和通行密钥(或密码)。这使开发者能够统一跨平台的身份验证流程。
- 当链接到第三方身份提供商或登录体验(例如“使用…账号登录”)时,自定义标签页是理想之选。启动自定义标签页可确保用户的凭据受到保护,并与第三方网站隔离开来。
如需详细了解如何利用 WebView 进行身份验证,请参阅使用 WebView 对用户进行身份验证。 如需了解如何启动自定义标签页,请参阅 Android 自定义标签页概览。

