你的 Android 应用为 Autofill 做好准备了吗?

从 Oreo 系统开始,自动填充(Autofill)功能使得用户在应用内填写信用卡、登录、地址和其他信息变得非常方便。 现在应用中的表单也可以被自动填充,用户不需要再记住复杂的密码或多次输入相同的信息。

用户可以选择多种自动填充服务。 默认使用的是 Google 自动填充(Autofill with Google)功能,但用户也可以选择他们喜欢的任何第三方自动填充应用。 用户可以在设置 -> 系统 ->语言 -> 高级 -> 自动填充服务中进行管理。

目前有什么可用的

目前,Google 自动填充支持提交信用卡、地址、登录名、姓名和电话号码。 当首次登录或创建帐户时,自动填充功能也允许用户将新的凭据保存到帐户。 如果你在你的应用中使用 WebViews,那么许多应用都可以在登录或者其他屏幕上使用自动填充功能,而且只要用户安装了 Chrome 61 或更高版本,那么你的用户现在也可以享受到自动填充功能带来的便利。

自动填充 API 面向任何人开放以实现自动填充服务。 Google 也正积极的与 1Password、DashlaneKeeperLastPass 展开合作,帮助他们实现在 Android 上的认证。 Google 将验证密码管理并将他们添加到 Play 应用市场,并作为 Play 应用市场中的一部分,其中设置里的“添加服务”按钮将链接到该部分。 如果你是密码管理员并且想要获得认证,那么请与 Google 联系

作为一名开发者你需要做些什么

作为一名应用开发者,你应用想要集成这个新功能仅仅需要做一些很简单的事情就可以了:

测试你的应用并在需要的时候注释说明你的视图

在很多情况下,在你的应用中实现自动填充功能可能不需要做任何额外的工作。 但为了确保一致的行为,Google 建议我们提供明确的提示,告诉框架自动填充的内容有关的字段。 你可以使用 android:autofillHints 属性或 setAutofillHints() 方法执行此操作。

同样,在你的应用中使用 WebViews,你也可以使用 HTML 的自动完成属性来提供相关字段的提示。 只要设备上安装了 Chrome 61 或更高版本,自动填充功能就可以在 WebView 中使用。 即使你的应用使用自定义视图,也可以定义允许自动填充功能工作的元数据

对于自动填充没有意义的视图(例如验证码或消息输入框),你可以显式地将视图标记为IMPORTANT_FOR_AUTOFILL_NO(或视图层次结构的根目录中的IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS)。要谨慎的使用这个字段,并且记住,用户总是可以通过长按 EditText 并在弹出的下拉菜单中选择“自动填充”来绕过它。

加入你的网站和移动应用

使用 Google 自动填充可以在网站和移动应用上无缝的共享登录信息 – 通过 Chrome 保存的密码也可以提供给本地应用。 但为了实现这个目标,作为应用开发人员,你必须明确声明你的网站与移动应用之间的关联。 这涉及2个步骤:

步骤1:在 yourdomain.com/.well-known/assetlinks.json 中托管一个 JSON 文件

如果你以前使用过 App Links 或 Google Smart Lock 等技术,则可能听说过数字资产链接(Digital Asset Links)文件。 这是一个放置在你的网站上一个众所周知的位置的可以公开访问的、可验证的关于其他应用或网站的声明的 JSON 文件。

你应该按照 Smart Lock for Passwords 指南获取有关如何在服务器上正确创建和托管 DAL 文件的信息。 即使 Smart Lock 是让用户登入你的应用的更高级的方式,我们的自动填充服务也使用相同的基础结构来验证应用网站关联。 而且,由于 DAL 文件是公开的,因此第三方自动填充服务的开发人员也可以使用关联信息来保护他们的实现。

第2步:用相同的信息更新你的应用的清单

再次按照 Smart Lock for Passwords 指南中的 “在 Android 应用中声明关联” 这一步骤再进行一边。

你需要使用 asset_statements 资源来更新应用的清单文件,该资源链接到你的 assetlinks.json 文件所在的 URL。 完成之后,你需要将更新后的应用提交到 Play 应用应用应用市场,并填写联盟提交表单,以便联系人上线。

当使用 Android Studio 3.0 时,App Links 助手可以帮你生成以上所有的内容。 当你打开 DAL 生成器工具(工具 ->应用链接助理 ->打开数字资产链接文件生成器)时,只需确保启用标记为“在应用和网站之间支持共享凭据”的复选框。如下图:

然后,点击“生成数字资产链接文件”,并将预览内容复制到你的服务器和你的应用托管的 DAL 文件。 请记得确保所选的域名和证书是否正确。

未来的工作

Android 中的自动填充功能还处于早期阶段。无论你是使用 Autofill with Google 还是第三方密码管理器,Android 开发团队仍在继续加大这方面的开发工作以改善用户体验。

Android 开发团队将会在以下几个方面加大开发工作:

1.Google 自动填充:Android 开发团队希望提供一个很棒的体验,所以他们将使所有的 Oreo 设备中都包含 Google 自动填充功能。并不断的改进使用场景的检测和数据质量,从而扩大可以保存更多的数据类型。
2.WebView 支持:在 Chrome 61 版本中引入了可以在 WebViews 中进行自动填充的初始支持,随着时间的推移,还需要继续测试,以加强和改进此功能,所以如果你的应用使用了  WebView,那么你仍然可以享受到这个功能带来的便利。
3.对第三方应用的支持:Android 开发团队正在与生态系统合作,确保应用按照自动填充框架的要求工作。Android 开发团队也会督促开发者将他们的应用适配到 Android Oreo 系统,确保在启用自动填充的情况下应用能够按照预期工作。更多相关信息,请查看自动填充框架的完整文档

如果你遇到任何问题或者更好的建议,请给反馈给 Android 开发团队

编译:谷创字幕组    原文:Android Developers Blog 配图:Android Developers Blog

Google 以日食来倒计时 Android O 的发布

Google 在 7 月份的时候发布了 Android O 的最后一个预览版,这个预览版几乎跟正式版没多大差别了,而 Android O 的正式版将在美国时间 8月 21日发布,此次 Android O 的发布日期正好赶上了百年一遇的日全食天文奇观,Google 为此制作了一个日全食主题的倒计时网站。如下图:

由此看来这个发布日期 Google 是蓄谋已久了啊,此前大家都在猜猜 Android O 的版本代号会是那一种甜品呢?是 Oreo、Octopus、Oatmeal Cookie 还是 Orangina呢?日全食什么想必大家都知道,那这是不是在暗示 Android O 的正式版代号是 Oreo 呢?让我们拭目以待吧!

编译:谷饭  配图:Android Official Website

Android Things 发布第 5 个预览版

Android Things 的第 5 个开发者预览版(Denveloper Preview 5)已经发布了,其中包括了基于即将推出的 Android O 版本的重大变化。 Android Things 是可让 Android 开发人员创建物联网(IoT)设备,并从原型到生产无缝扩展的平台。

此次 PD5 预览版有很多更新,首先 DP5 基于即将发布的 Android O(之前的版本基于 Android N),这就意味着我们开发的 Android Things 应用在未来也可以在 API 26 上正常工作,这是系统层面的一点更新,次外 DP5 也添加对新型硬件 NXP SprIoT i.MX6UL 的支持,NXP Pico i.MX6UL 的一些基本配置信息如下:

除次之外还有一些其他的改进,例如可以使用 UserDriver APIRaspberry Pi 3 上支持 OpenGL ES 2.0 和 WebView、为 Raspberry Pi 3 实现了动态引脚复用 (dynamic pin muxing) 、一些 Android Things 的示例也可以通过 Android Studio 直接导入和查看等等。

编译:谷饭  原文:Android Developers Blog 配图:Android Developers Site

Android O 新特性之:快捷方式和小部件

为什么要使用快捷方式 (shortcuts) 和小部件 (widgets)?

在 Android O 中我们最喜欢的功能之一是可以通过深度链接 (deep linking) 将应用的快捷方式和小部件固定在启动器(launcher)上。

快捷方式可让用户快速启动特定任务,而小部件可让用户立即访问应用中的特定操作和信息。 用户希望完成一些事情,并且快速完成一些事情 – 那么快捷方式和小部件可以帮助他们做到以及提升用户使用应用的频率。

要固定快捷方式或小部件,用户可以长按应用的图标,将所选的快捷方式或小部件拖放到指定的位置即可。

     

Dynamic / static shortcuts                 Pinned shortcuts

从你的应用中添加快捷方式和小部件

从你的应用中添加快捷方式和小部件这个 API 有一个新的流程,就是通过一个模态对话框来添加,如上图所示,而使用一个广播 (broadcast) 来添加的方法已经被废弃了,这种添加方式在 Android O 的设备上将不能正常工作。

除此之外,我们还改进了用户界面和交互体验。 在这之前,由于快捷方式上没有应用的图标,因此用户不知道这个快捷方式是哪个应用的。 使用应用图标标记快捷方式不仅可以提供更好的品牌展示,同时也可以保护用户免受潜在的恶意软件的攻击。如下图所示:

                        

Old shortcut                                          New shortcut

另外也可以通过添加一个专门的 Activity 来帮助用户创建快捷方式。这个 Activity 可以对快捷键方式做一些自定义设置和确认提示等等。

要了解更多信息,可以戳这里Android开发人员网站上的关于快捷方式和小部件的页面。

编译:谷饭  原文/配图:Android Developers Blog

Android DP4 来了,O 还会远吗?

期待已久的 Android O 预览版 4 (Developer Preview 4)  终于来了,这是在发布 Android O 最终版本之前的最后一个预览版,开发者可以借此机会尽快展开 Android O 系统的适配和测试并发布更新,等到 Android O 正式版发布之后可以让用户平稳过渡到 Android O 系统。

如果你有一个设备已经加入了 Android 测试计划,那么最近几天你的设备将会收到 DP 4 系统的更新,如果还没加入可以去 Android 测试计划官网加入并获得更新。

DP4 的主要更新有哪些?

  1. 预览版 3 以来所有可用的 APIs、bug 修复和一些优化
  2. Android O 预览版 4 设备镜像
  3. 标准版的 Android 26.0.0 支持库 (Support Library)
  4. 最近几天还会有 SDK、Tools 和 Android Emulator 系统镜像的增量更新等等
  5. 新版的 Android Testing Support Library,它包含了一些新特性,例如:Android Test Orchestrator、Multiprocess Espresso 等等

在 Android O 上测试你的应用

预览版 4 是 Android O 最终版的候选版本,所以你可以在预览版 4 上测试和适配你的的应用,在测试和适配的时候你需要适当的处理一下 Android O 的一些新的行为变更,比如:后台位置限制 (background location limits)通知频道 (notification channels)网络 (networking)安全 (security)标识符 (identifers) 等,更 Android O 的行为变更请到这里查看

用 Android O 的新特性和 API 增强你的应用

运行最新版本 Android 的用户通常在下载应用程序,消费内容和进行购买方面最为活跃。 他们更喜欢支持他们最喜爱的应用中的最新 Android 功能。 使用 Android O,用户期待着通知渠道和点,快速固定,画中画,自动填充等功能。 随着时间的推移,更多用户升级到Android O,这些功能还可以帮助您增加与应用的互动。

使用 Android 最新版的用户在应用下载、内容付费和付费购买方面最为活跃。他们更喜欢已经支持了 Android 最特性的应用。而对于 Android O,用户比较期待的新特性有:通知频道通知标记 (dots)固定的快捷方式 (shortcut pinning)画中画 (picture-in-picture)自动填充 (autofill)等等。随着更多的人升级到 Android O,这些新特性可以帮助你提升应用用户的活跃度。

在你的应用中使用 Android O 不仅能增加用户的活跃度还可以提供更多的安全性以及提高应用的性能。例如自适应图标 (adaptive icons)可下载的字体 (downloadable fonts)自适应的 TextView (autosizing TexeView) 等,并且可以大大减小你应用的 APK 大小。耗电量也是用户比较关心的一个问题,所以他们会感谢你的应用针对后台执行限制以及其他重要系统行为变更进行了优化。

如果想了解关于 Android O 预览版的所有新功能和 API 以及如何将其应用到你的应用中可以访问 Android O 开发者预览版网站

通过 Android Studio 加速你的应用开发

当你准备基于 Android O 做开发时,建议你更新到最新版本 的 Android Studio 3.0,可从预览版的渠道 (canary channel)下载。Android Studio 3.0 除了改进了应用性能分析工具,支持 Kotlin 编程语言和 Gradle 构建优化之外,Android Studio 3.0 还可以让开发者很方便的使用 Instant  AppsXML 字体 (XML Fonts)可下载字体 (Downloadable Fonts) 和自适应图标进行开发。另外还建议你将 Android 支持库更新到 26.0.0 稳定版本,它现在就可从 Google 的 Maven 中央仓库中获取,在未来的几天后可以获取到最新的 SDK,工具和仿真器系统映像(emulator system images)。

你可以将项目的 compileSdkVersion 更新为 API 26,以针对官方的 Android O API 进行编译。 还建议你将应用的 targetSdkVersion 更改为 API 26,以便对 Android O 的一些特定行为变更进行测试。关于如何设置你的 Android O 开发环境的详细信息,请查看官方给出的迁移指南

发布你的应用更新到 Google Play

Google Play 现在已经可以提交适配到 API 26 的应用啦(👏呱唧呱唧)。如果你已经准备好了,那么你现在就可以在 Alpha、Beta 或者 production 渠道中发布你的应用啦。但是你要确保你的应用在 Android O 以及旧版本系统上运行良好,建议你使用 Google Play 的 Beta 版测试功能,先获取一小部分早期用户 的反馈,然后在逐步放出新版。

如何获取到 Developer Preview 4

获取开发者预览 4 非常的简单,只需访问 android.com/beta 并选择您的手机或平板电脑。你也可以选择手动下载并把更新刷到手机里。 Android O开发者预览版已经适配了 Pixel,Pixel XL,Pixel C,Nexus 5X,Nexus 6P,Nexus Player 和 Android Emulator。 当我们发布 Android 的官方版本时,注册的设备将自动更新。欢迎继续分享和反馈你的问题和请求

编/译:谷饭  原文: Android Developer Blog