在iOS 11中使用密码自动填充功能更快地登录

本文介绍如何在iOS11中使用新的PasswordAutoFill API加速登录过程,通过QuickType栏和凭证建议提升用户体验,减少登录时间,从而提高用户保留率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最终产品图片
您将要创造的

iOS 11中的密码自动填充

登录是用户从需要帐户的应用程序启动时必须采取的第一步。 如果用户记住了他们的凭据并能够立即键入,则通常需要几秒钟的时间。 相反,其他用户可能必须切换到其首选的密码管理器服务( iCloud Keychain1PasswordLastPass等)来复制其用户名和密码。 不用说,这种交互会减慢用户的速度,其中一些用户将退出流程。

已经进行了一些尝试来改善这种体验。 例如,1Password提供了一个不错的扩展 ,应用程序开发人员可以利用它。 自WWDC 2014以来,iOS中已包含的另一个解决方案是Safari Shared Credentials

但是,在iOS 11中,Apple引入了一种更加无缝的方式来简化登录过程:新的Password AutoFill API。 与以前的解决方案相比,用户更容易使用,开发人员可以更快地实施。

在本文中,您将学习如何使用iOS 11中引入的新API Password AutoFill加快登录过程并提高用户保留率。

介绍

密码自动填充功能允许用户通过与键盘上方显示的QuickType栏进行交互,将其登录凭据直接填写到您的应用中。 改善登录流程将增加用户保留率以及应用程序的声誉。 在学习完本教程之后,您将能够将登录流程的持续时间缩短到几秒钟。

在您的应用中实现密码自动填充有两个步骤:

  • 显示带有钥匙图标的QuickType栏,并让用户手动选择正确的登录名。
  • (可选)以安全的方式将您的应用程序和网站链接在一起,以便QuickType栏可以向用户建议正确的登录名,以进一步加快该过程。

QuickType栏

第一步是使QuickType栏与键按钮一起出现。 完成此步骤后,用户将可以点击它并从显示的视图控制器中手动选择正确的登录名。 出现QuickType栏所需的唯一属性是在UITextFieldUITextView对象中设置textContent属性。 如果您有一个符合<UITextInput><UITextInput> ,则将应用相同的代码。

您应该将此属性添加到您的电子邮件/用户名和密码字段。 一种常见的实现方式如下:

usernameTextField.textContentType = .username
passwordTextField.textContentType = .password

当钥匙串中至少保存了一个密码时,iOS将在所有运行iOS 11的设备上显示QuickType栏。 如果您正在模拟器上进行测试,但是看不到QuickType栏,则最有可能是因为钥匙串为空。

带简单钥匙图标的QuickType栏

用户按下按键图标并通过Touch ID进行身份验证后,将显示所有已保存密码的列表。 用户可以搜索或滚动浏览,找到正确的凭据后,只需单击一下即可填写登录字段。

如您所见,此过程中最慢的部分是在钥匙串中找到正确的登录名。 在下一节中,我们将看到如何删除此步骤并进一步改善体验。

凭证建议

您还可以告诉iOS与您的应用程序关联的网站。 如果钥匙串包含从iOS或macOS上的Safari保存的凭据,则将建议使用这些凭据-消除了在钥匙串中手动搜索它们的麻烦。

如果您已经在使用Universal Links ,则您的应用程序应在QuickType栏中显示您网站的凭据。 iOS知道哪个网站与您的应用程序相关联,因此100%准备建议凭据。

在不需要通用链接的情况下,将应用程序和网站紧密链接在一起的另一种方法是与Web凭据关联的域服务。

切换到Xcode项目设置,转到“ 功能”标签,然后打开“ 关联域” 。 在此处添加您的网站网址。 假设您的网站域名是amazingwebsite.com :列出的域名应该是webcredentials:amazingwebsite.com

关联域已启用的Xcode功能部分

这就是Xcode项目中的配置。 iOS现在知道您应用程序的关联网站。 最后一步是将文件上传到服务器,以便iOS可以验证您拥有尝试与该应用程序关联的网站。 (这是为了防止恶意应用窃取其他网站的凭据。)

创建一个名为apple-app-site-association的新文本文件(如果愿意,可以在Xcode项目之外)。 这是iOS使用安全连接在服务器上查找的标准名称(您必须在服务器上设置SSL)。 文件的内容也很标准。 只需复制并粘贴以下代码。

{
    "webcredentials" : {
        "apps" : ["1EMDW8DVTP.com.patrickbalestra.AutoFill"]
    }
}

您应将apps数组中的字符串更改为您的团队ID(可在开发人员门户的“成员资格”部分找到),后跟句点和应用程序的捆绑包标识符。 在服务器的根目录中创建一个名为.well-known的文件夹,然后将文件上传到该文件夹​​。

为确保一切正常,请在Web浏览器中检查文件是否存在于指定地址。 例如,这是我的地址: https : //patrickbalestra.com/.well-known/apple-app-site-association

如果您正确地看到JSON文件(如下图所示),则一切就绪。

网站关联JSON文件内容

启动应用程序,并注意QuickType栏会建议您使用网站凭据,以便您单击即可登录。

QuickType栏中的凭据建议

如果您想了解有关密码自动填充的更多信息,请在WWDC 2017上查看Session 206

结论

正如我们已经看到的,实现密码自动填充非常容易。 为了方便用户和业务,您应该考虑花几分钟来实施它。 它将加快登录过程并提高应用程序的保留时间。

翻译自: https://code.tutsplus.com/articles/faster-logins-with-password-autofill-in-ios-11--cms-29096

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值