为什么我们不会支持登录Apple

2020-06-30 21:25:57

从6月30日开始,苹果将在App Store执行一项新规定,要求许多应用程序支持登录苹果。AnyList是受这一新规则影响的应用程序之一,这意味着我们必须实现登录Apple,或者对我们的应用程序进行其他更改。在考虑了登录苹果的好处后,我们决定不支持它。我们理解这可能会让我们的一些客户感到惊讶,所以我们想详细解释一下我们为什么做出这个决定。

像登录苹果这样的第三方登录系统给用户体验和客户支持带来了许多令人头疼的问题。人们不记得他们使用哪个登录系统来创建自己的帐户。(“嗯,我几年前创建了这个账户。我使用电子邮件地址了吗?脸书账号?登录苹果?“)。简单的问题,比如,“我如何重置我的密码?”不再有简单的答案,而取决于您创建帐户时使用的系统(如果您还记得的话)。如果您的帐户被锁定,并使用第三方登录系统,我们可能无法亲自帮助您,而将不得不将您引导到另一家公司,而这会带来所有的麻烦。

除了这些所有第三方登录系统常见的客户体验问题外,Sign in with Apple还引入了几个它独有的问题。

一个问题是,大多数苹果ID都与iCloud电子邮件地址捆绑在一起。因此,通过登录苹果创建的大多数账户都将使用iCloud电子邮件地址。但这些iCloud电子邮件地址中有许多是未使用和未检查的,因为客户的“真正”电子邮件帐户是他们的Gmail、Yahoo或Hotmail帐户。如果我们尝试使用客户的iCloud电子邮件地址联系他们,他们可能永远看不到我们的消息。我们过去经常在客户支持方面遇到这个问题,早在AnyList使用内置的iOS电子邮件撰写接口发送支持请求时就是这样。此界面通常默认使用iCloud电子邮件帐户。所以人们会寻求帮助,我们会回复,他们稍后会再次联系我们,对我们没有回复感到愤怒。我们的回复是发往他们的iCloud电子邮件账户,但他们没有看到,因为他们只在Gmail应用程序中查看过自己的Gmail账户。

另一个问题是使用苹果的“隐藏我的电子邮件”功能登录。使用此功能,如果您使用我们创建帐户,Apple将仅为该帐户生成一个特殊的电子邮件地址。因此,我们将看到您的电子邮件地址类似于[email protected],而不是您的电子邮件地址[email protected]。虽然这是一个有趣的想法,提供了一定程度的隐私,但在实践中,它带来了大量的支持和用户体验令人头疼的问题。以下是几个例子:

如果客户联系我们请求支持,而我们需要在他们的帐户中查找某些内容,通常我们只需要求他们提供其帐户上的电子邮件地址即可。但是有了“隐藏我的电子邮件”,这就不容易实现了,因为客户将不得不找出他们账户使用的Private aterelay.appleid.com电子邮件地址。

此外,如果有任何列表不支持登录苹果的平台,比如Android,而有人想要登录他们的账户,他们就必须知道自己的private aterelay.appleid.com电子邮件地址。(如果你不再有iOS设备,这肯定不容易找到。)。然后他们必须用我们创建一个密码,因为他们不能使用登录苹果来登录。

最后,对于像anylist这样高度专注于与他人共享列表的服务来说,“隐藏我的电子邮件”选项会使协作变得非常复杂。通常,客户通过键入要与其共享的人的电子邮件地址来共享列表。如果此人已有帐户,则会立即共享该列表。但是使用“隐藏我的电子邮件”选项,您的配偶或朋友显然不会知道您的private aterelay.appleid.com电子邮件地址,所以当他们输入您的电子邮件地址时,我们的系统会认为您没有帐户。此时,您将收到我们的电子邮件,要求您创建帐户。如果您意外创建了一个新帐户,它将不会包括您在通过登录Apple创建的现有帐户中所做的工作。如果你设法不犯这个错误,那么你的电子邮件地址和你用苹果登录创建的账户之间就会有一个链接,这就否定了隐藏你的电子邮件地址的价值。

我们同意苹果的观点,隐私是一项基本的人权,我们理解登录苹果的“隐藏我的电子邮件”选项是出于善意,但感觉苹果并没有真正考虑到对基本用户体验、客户支持和协作的所有影响。无论如何,我们尊重您的隐私。我们是一家小公司,当人们喜欢我们的应用程序并为其付费时,我们就会赚钱。我们不会通过令人毛骨悚然的跟踪或出售您的信息来赚钱。当您向我们提供您的电子邮件地址时,它不会被出售、共享或用于侵犯您的隐私。

除了客户体验,苹果还为我们开发人员带来了许多问题,这对我们的客户产生了连锁反应。

首先,实现对第三方登录系统(如使用Apple登录)的支持会显著增加我们系统中处理用户帐户的复杂性。与创建账户和登录等常见操作使用一个系统不同,支持第三方登录系统可以迅速将账户管理代码变成老鼠窝,并需要特殊的逻辑来处理每个不同的登录系统。当支持多个第三方登录系统(例如,Facebook登录、Google登录、使用Twitter登录等)时尤其如此。这使得维护变得更加困难和容易出错,如果有任何地方您不能有任何错误,那就是在帐户管理等安全关键代码中。

实现对新的第三方登录系统的支持也很耗时,特别是对于像我们这样在多个平台上支持我们的应用程序的小公司。对于我们来说,在iOS应用程序中添加苹果登录是不够的。我们还必须将其添加到我们的Web应用程序、Mac应用程序和Android应用程序中。(更复杂的是,苹果没有提供任何真正的解决方案来支持Android上的苹果登录,见下文。)。因此,如果我们选择支持登录苹果,这意味着我们必须花费大量时间让它在任何地方都能运行,而不是花这些时间来改进我们应用程序的核心列表、食谱和餐饮计划功能。

作为开发人员,在评估我们工作的安全影响时,我们总是必须进行尽职调查。上个月,“登录苹果”(Sign-in with Apple)报告了一个巨大的安全漏洞,该漏洞非常严重,以至于苹果向发现该漏洞的人支付了10万美元。如果你看了链接的报告,你会发现这个严重的缺陷也很简单,这并没有提供太多的信心。对于像登录帐户这样重要的服务,使用最近存在严重安全漏洞的不成熟服务(使用不到一年)似乎并不明智。

苹果不成熟的另一个迹象是文档的可悲状态。良好的文档对于促进开发人员采用任何服务都至关重要。由于苹果预计开发者将在6月30日之前采用这项服务,因此期待像样的文档似乎是合理的。遗憾的是,就像苹果最近的大多数开发人员文档一样,它严重缺乏。例如,苹果含糊其辞地说,你可以在Android上使用苹果实现登录,但没有直接的文档说明如何做到这一点。我们理解苹果可能不太关心Android,但如果他们打算提供登录系统,并将迫使多平台应用程序的开发人员采用它,那么对运行这些多平台应用程序的主要平台不提供真正的支持是不可接受的。

最后,从政策角度来看,苹果在其使用指南中明确表示,“苹果保留随时以任何理由禁止在网站或应用程序上登录苹果的权利。”如果客户不能登录他们的账户,那么他们就不能使用我们的服务。在我们看来,让第三方如此强大地控制我们服务的核心部分,而这并不是绝对必要的,这是不必要的风险。

“你说得有道理,但我使用任何列表,它都会让我登录Facebook。类似的问题不是很多吗?“

“不管怎么说,新的App Store审查指南不是要求你支持登录苹果吗,因为你提供了Facebook作为一个登录选项?”

这两个都是很好的观点,上面的一些论点绝对适用于通过Facebook创建账户。这就是为什么我们还宣布将从任何列表中删除Facebook登录。几年前,我们不情愿地增加了对使用Facebook注册的支持,作为提供另一种注册选项的试验,但我们从来没有对此充满热情。随着时间的推移,这一点变得更加正确,因为Facebook似乎一直在加大力度,采取令人毛骨悚然的隐私做法。我们使用Facebook SDK提供登录功能,而且SDK的每个新版本似乎都添加了默认打开的新跟踪选项,我们必须采取行动将其禁用。此外,Facebook SDK存在质量问题,最近由于服务器配置错误导致大量iOS应用程序崩溃。你可以期待很快看到一个删除Facebook登录的AnyList应用程序更新。

我们希望这篇文章能帮助我们解释为什么我们不支持登录苹果。我们很想听听您对这篇文章的反馈。如果您有任何意见或问题,请联系我们,我们会给您回复。

想要在有新的职位空缺时得到通知吗?注册后将收到电子邮件通知。更新不频繁,没有垃圾邮件: