所以我正在编写一个移动应用程序并且已达到我需要允许用户注册用户名的程度。我这样做是为了要求提供电子邮件地址,用户名和密码。
通常情况下,通过点击发送到收件箱的链接确认用户的电子邮件地址,在网上设置此类内容是正常的。
毋庸置疑,在移动应用上,这有点笨拙,因为用户将被重定向到您的应用内并进入他的浏览器。
所以我看看其他移动应用程序是如何做到的(WP7),并且惊讶地发现DropBox和Evernote都允许您在不确认电子邮件地址的情况下注册。最终结果是我能够注册完全虚假的电子邮件地址和/或不属于我的有效电子邮件地址。
我认为这是故意的。
你的想法?
答案 0 :(得分:7)
我会说这取决于您的应用以及确保用户拥有有效电子邮件地址的重要性。在我正在创建的应用程序中,我们希望阻止用户注册多个虚假帐户(因为我们的系统可以通过这种方式进行游戏),因此我们不允许用户登录,直到他们的电子邮件地址经过验证。然而,在其他网站上,它可能不是那么大,所以为什么要为这个额外的步骤打扰用户呢?
对于移动设备,我不明白为什么您仍然无法发送验证电子邮件,将其发送到您的网站以验证其电子邮件地址。有很多移动应用程序也有用户可以登录的网站来管理他们的帐户。
答案 1 :(得分:7)
在编写社交网络风格应用时,我遇到了同样的问题。我选择让用户创建用户名,然后提供电子邮件和密码。我没有验证电子邮件地址,但我从未试图向他们发送任何电子邮件。
我建议的是验证用户电子邮件地址的其他方法。我的应用程序允许用户进行Facebook Connect。他们所要做的只是登录Facebook,该应用程序与Facebook交谈以确认他们使用的是有效的电子邮件地址。无需使用电子邮件中的URL验证它。
我相信Twitter有类似的服务,甚至可能还有其他一些提供API。
我还发现很多人只是想在应用程序中修补一下而根本不创建帐户。这绝对是一种平衡行为
答案 2 :(得分:3)
另一个选项是为用户提供多个“状态”。在他们验证电子邮件之前,他们处于“待处理”状态。一旦他们点击它,它们就处于“活跃”状态。如果您为用户存储createDate
,则可以定期删除超过1周(或多长时间)的待处理用户。
奖励是您可以轻松添加更多状态,例如暂停或删除。
答案 3 :(得分:1)
你有网络服务器吗?编写一个Web服务,在服务器端为您进行验证,然后发回结果。
答案 4 :(得分:1)
您可以使用某些平台,例如Facebook连接,如上面回复的@Brian,或者您可以为用户提供合理的时间范围来验证,例如,几天甚至一周。之后,该帐户将被删除。
您甚至可以让您的应用发出通知,提醒用户验证其帐户(例如每天或验证的最后日期。
答案 5 :(得分:1)
请勿在移动设备上要求确认电子邮件,并允许用户使用该服务。当用户使用PC时,请要求用户确认他的电子邮件。
我不会为我的建议辩护,因为这里的大多数解决方案都是有效的。没有一种正确的方法。你问了一些想法,这是一个想法。
答案 6 :(得分:1)
就个人而言,我对用户使用任何旧电子邮件地址创建帐户感到非常高兴。
我认为一些不错的选择是:
发送一封确认电子邮件,其中包含使用自定义网址架构的链接重定向回应用程序(虽然这只有在他们使用同一设备上的链接时才有效)
在电子邮件中发送简短的个人识别码,以便他们在应用中重新输入。
发送包含网络链接的确认电子邮件,让您的服务器确认有效的电子邮件/令牌,并让您的应用定期检查帐户状态或使用某种实时技术(如SignalR或Firebase)检查帐户状态。
我更喜欢最后一个,尽管最难实施。用户可能手中拿着手机,旁边有笔记本电脑,在应用程序中注册并尝试单击笔记本电脑上显示的电子邮件中的链接。我喜欢应用程序的想法然后只是"知道"他们已经验证了。
答案 7 :(得分:0)
一个好的策略是允许人们根据他们提供的数据量尽可能多地使用您的应用。
例如,对于新闻阅读器,您可以让某人在未注册的情况下浏览您的应用,然后需要一个帐户进行离线同步,并通过验证的电子邮件发送警报。总是给人们一个很好的理由采取下一步,并首先建立参与,然后人们会原谅你以后纠缠他们。