自从 Android Oreo 发布以来,自动填写功能方便了用户在 App 内提交信息,例如信用卡、登录信息、地址等等。如今 App 内的表格均可以自动填写,并且用户无须费力记住复杂的密码,也免去了一次次填写的麻烦。
html
用户能够自行选择多种自动填写服务 (过程相似选择输入法)。在默认状况下,Google(服务)支持自动填写,不过用户也能够自行添加任何三方自动填写 App ,过程以下:android
设定 -> 系统 -> 语言 -> 高级选项 -> 自动填写服务json
自动填写目前支持项目:浏览器
自动填写 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)并选定悬浮菜单中的自动填写就好了。
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 仍是三方密码管理器来使用该功能,咱们都将继续努力,改善体验。
咱们的主要努力方向是:
Google 自动填写:咱们但愿用户从一开始就可以有很好的体验,所以全部 Android Oreo 设备都支持 Google 自动填写功能。一直以来,咱们不断改善字段检测和数据质量,同时扩大支持范围,增长保存数据类别。
WebView 支持:从 Chrome 61 开始,咱们引进了对 WebViews 表单填写支持,同时咱们会继续测试、加固而且改善该集成,所以即便您的 App 采用WebViews,一样能够享受到自动填写功能。
第三方 App 支持:咱们正在和生态圈伙伴紧密合做,确保 App 可以完美构建在自动填写基础框架上。强烈建议开发者试着在 Android Oreo 上发布本身的 App ,看看可否如期支持自动填写。详细信息请参阅《自动填写框架》完整版文档。
如遇任何问题或有任何宝贵意见,欢迎您经过留言等方式与咱们联系,帮助咱们进一步改进产品。