我正在开发一款需要唯一用户名的应用。因此,当用户输入名称时,我需要与服务器核实该名称是否可用?这样做的最佳策略是什么,即设计模式?我有一些想法,但如果这已有一个合理的解决方案,我不想重新发明轮子并让它变坏。以下是我的一些想法
所以这些是我到目前为止所考虑的三个想法。我想保护用户设备的电池寿命,同时节省服务器资金(我正在使用app-engine数据存储)。但当然最重要的是用户体验。
目前我正在开发iOS版本。但我认为答案可能同样适用于任何其他平台。
注意
我在我的应用程序中区分用户名与userId,以便:username是所有用户都可以看到的名称(例如Stack Overflow或Twitter或Instagram上使用的用户名)。 UserId是私钥(在这种情况下,我只使用私人电子邮件地址)。
答案 0 :(得分:1)
如果我开始打字" Andrei Volgin"在显示名称字段中,作为用户,您开始向我显示"可用"在我输入" Andrei Vo"之后。此时,您正在使用电池寿命和数据计划,并且可能会降低慢速网络上的体验,对用户没有任何好处。
我认为更好的策略是在用户提交名称时检查可用性。响应可以包括使用一组规则创建的建议替代名称的列表。例如,如果" Andrei Volgin"如果没有,你可以查看和建议"一个Volgin"," Andrei_Volgin"等