如何让应用支持 Android 8.0 自动填充?

自从 Android Oreo 发布以来,自动填写功能方便了用户在 App 内提交信息,例如信用卡、登录信息、地址等等。如今 App 内的表格均可以自动填写,并且用户无须费力记住复杂的密码,也免去了一次次填写的麻烦。
html

用户能够自行选择多种自动填写服务 (过程相似选择输入法)。在默认状况下,Google(服务)支持自动填写,不过用户也能够自行添加任何三方自动填写 App ,过程以下:android

设定 -> 系统 -> 语言 -> 高级选项 -> 自动填写服务json

自动填写目前支持项目:浏览器

如今,Google(服务)下的自动填写功能支持的项目包括:信用卡信息、地址、登录信息、姓名和电话号码。当用户首次登录或者建立帐号时,自动填写功能同时容许用户保存该帐号的认证信息。即便 App 内经过 WebViews 完成登录 —— 用于打开登录页面的内置浏览器控件 —— 用户依旧能够享用自动填写功能带来的方便,前提是设备内装有 Chrome 61 或者更高版本。

自动填写 API 彻底开放,任何想要将该服务内嵌到本身 App 的开发者均可如下载该 API。如今咱们正在和 1Password, Dashlane, Keeper 以及 LastPass 积极合做,加快三者在 Android 平台上的认证。同时咱们将会认证密码管理器(password manager)并将其添加到 Google Play 中,用户能够经过 “添加服务” 按钮跳转连接到 Google Play 中的页面。安全

开发者应该怎么作?

若是您是 App 开发者,只需要完成如下几个简单步骤,就能够在 App 中轻松添加自动填写功能:服务器

对 App 进行测试,若有必要须要标注视图:网络

大部分状况下,让 App 支持自动填写功能不须要额外操做。可是为了保证行为一致性,咱们建议开发者经过 android:autofillHints attribute 或者 setAutofillHints ( ) method 向框架提供关于字段内容的显式提示信息(explicit hint)。架构

若是 App 使用 WebViews,那么开发者能够经过 HTML Autocomplete Attributes 提供字段提示信息。有一点要注意,设备需要将 Chrome 浏览器升级至 61 或以上版本,WebViews 才能支持自动填写功能。即便您的 App 采用自定义视图,开发者也能够经过定义元数据来添加自动填写功能。框架

访问此连接了解更多:dom

那么像是 Captcha(验证码)或者消息对话框这类彻底不适用自动填写的应该怎么操做呢?开发者只须要将视图参数设定为 IMPORTANT_FOR_AUTOFILL_NO(或者将视图层次根设定为 IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS)。开发者得负责地使用该字段,牢记用户能够随时绕过这一步骤,只要长按输入框(EditText)并选定悬浮菜单中的自动填写就好了。

关联网站和移动端 App

Google 自动填写功可以无缝分享网站和移动端 App 之间的登录信息,便是说 Chrome 浏览器保存的密码亦能够应用在原生 App 上。可是如何保证三方 App 也能分享信息呢?这需要开发者在网站和移动端 App 之间构建明确联系,步骤以下:

第一步:在 yourdomain.com/.well-known…中托管 JSON 文件

若是以前接触过相似 App Link或者 Google Smart Lock 的技术,那么您可能据说过数字资产连接(DAL)文件。DAL 采用 JSON 文件的形式保存在您的网络服务器 .well-known 目录中,用于公开声明与此网站关联的其余 App 或者网站。

请参阅 Smart Lock for Passwords 指南,按照指南中的步骤在服务器上正确建立而且托管 DAL 文件。就用户登陆 App 来讲,Smart Lock 虽然更为高级,可是咱们的自动填写功能其实采用的是相同的基础架构来验证 App 和网站之间的关联信息。并且,由于 DAL 文件是彻底公开的,第三方自动填写服务开发者也可使用关联信息来保障实现安全性。

第二步:根据相同信息更新 App 的清单文件(Manifest)

一样地,请根据 Smart Lock for Passwords 指南中《声明 Android App 关联项》条目,完成此步骤。

开发者需要根据 asset_statements 资源更新 App 的清单文件,该资源可以连接到托管 assetlinks.json 文件的 URL 地址。完成操做以后,开发者须要从新上传 App 到 Google Play,而且填写 “关联提交表格”(Affiliation Submission Form),届时关联才正式生效。

Android Studio 3.0 中 App Links Assistant 可以帮开发者自动生成上述全部信息。打开 DAL 生成器工具(工具 -> App Links Assistant -> 打开数字资产连接文件生成器),确保启用名为 “支持 App 和网站之间共享认证信息” 的新复选框。


而后点击 “生成数字资产连接文件”,将预览信息复制到 DAL 文件中,并将文件托管在服务器和 App 上。记得核实选定域名和证书是否正确。

Android 自动填写功能还在初级阶段,不论用户是经过 Google 仍是三方密码管理器来使用该功能,咱们都将继续努力,改善体验。

展望将来

咱们的主要努力方向是:

  1. Google 自动填写:咱们但愿用户从一开始就可以有很好的体验,所以全部 Android Oreo 设备都支持 Google 自动填写功能。一直以来,咱们不断改善字段检测和数据质量,同时扩大支持范围,增长保存数据类别。

  2. WebView 支持:从 Chrome 61 开始,咱们引进了对 WebViews 表单填写支持,同时咱们会继续测试、加固而且改善该集成,所以即便您的 App 采用WebViews,一样能够享受到自动填写功能。

  3. 第三方 App 支持:咱们正在和生态圈伙伴紧密合做,确保 App 可以完美构建在自动填写基础框架上。强烈建议开发者试着在 Android Oreo 上发布本身的 App ,看看可否如期支持自动填写。详细信息请参阅《自动填写框架》完整版文档。

如遇任何问题或有任何宝贵意见,欢迎您经过留言等方式与咱们联系,帮助咱们进一步改进产品。

相关文章
相关标签/搜索