https://android-developers.googleblog.com/2017/11/getting-your-android-app-ready-for.html
Android 8.0 提供新的自动填写特性,类似现在的输入法应用,可以选取第三方的 Autofill 应用管理自己的数据。可以到 设置->语言和输入法->自动填充服务 更改配置。
开发者需要作何准备
对应用进行测试,必要时添加提示属性
建议利用 android:autofillHints
attribute 和 setAutofillHints()
method ,为系统提供更精确的信息。
对于 WebView ,可使用 Autocomplete Attributes 。Chrome 61 及以上版本生效。
自定义 View 也可使用 define the metadata that allows autofill to work 进行适配。
对于不需要 Autofill 的控件,可以标记为 IMPORTANT_FOR_AUTOFILL_NO (or IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS)。谨慎使用此属性,并确保用户长按后可以继续使用悬浮菜单的 Autofill 选项。
将网页和手机客户端连接起来
使用 Google Autofill 可以在 web 和 app 间无缝的共享数据,保存在 Chrome 里的用户名密码可以直接用于手机客户端。开发者需要声明网站与应用的关系。
Step 1: Host a JSON file at yourdomain.com/.well-known/assetlinks.json
适配过 App Links 或者 Google Smart Lock 的应该接触过 Digital Asset Links (DAL) file。它是一个 json 文件,应该存放在你网站的一个公开位置上,提供网页和应用之间的关系。
创建 DAL 文件相关信息可见 Smart Lock for Passwords guide ,工作原理类似。此外, DAL 文件是公开的,其他 Autofill 服务开发者也可以利用此文件实现相关内容。
Step 2: Update your App’s Manifest with the same information
接着按照 Smart Lock for Passwords guide 中的步骤,在客户端声明与网站的关系。
要用一个 asset_statements 资源标注 assetlinks.json 文件的 URL,上传 play 市场,填写 Affiliation Submission Form 让配置生效。
Android Studio 3.0 可以快速生成 DAL (Tools -> App Links Assistant -> Open Digital Asset Links File Generator),确认选中 “Support sharing credentials between the app and website”。
点击 “Generate Digital Asset Links file”, 复制 preview content 到 DAL 文件,确认所有信息正确。
Future work
目前 (16 November 2017) 来说, Autofill 仍处于早期阶段。接下来还会有相关体验方面改进。主要包括以下几点:
- Autofill with Google : 提升 Google Autofill 体验,毕竟系统自带。
- WebView support : Chrome 61,测试,让兼容性更好。
- Third party app support : 希望你们这些开发者要配合啊,这有完整文档 Autofill Framework。