首页 文章

如何在移动设备中强制使用唯一的用户名

提问于
浏览
0

我正在开发一个需要唯一用户名的应用 . 因此,当用户输入名称时,我需要与服务器核实该名称是否可用?这样做的最佳策略是什么,即设计模式?我有一些想法,但如果这已有一个合理的解决方案,我不想重新发明轮子并让它变坏 . 以下是我的一些想法

  • 用户输入4个字母后,对于用户输入的每个新字符,如果字符串可用,则检查服务器上的名称 . 如果是,请说出来;如果不是,请说出来 .

  • 等待用户完成输入名称,然后单击"check availability" . 然后告诉用户是否采用了名称或名称是否可用 .

  • 与策略1相同,但不是每次都检查服务器:让服务器发回1000个以前缀开头的字符串,以便我可以在本地检查 . 如果在列表中找不到前缀,则检查服务器并返回另一批;直到用户输入的字符串/前缀在当前批次中没有匹配,并且在后续服务器查询中也不匹配 .

所以这些是我到目前为止考虑的三个想法 . 我想保护用户设备的电池寿命,同时节省服务器资金(我正在使用app-engine数据存储) . 但当然最重要的是用户体验 .

目前我正在开发iOS版本 . 但我认为答案可能同样适用于任何其他平台 .

Note

我在我的应用程序中区分用户名与userId这样:username是所有用户都可以看到的名称(例如Stack Overflow上或Twitter或Instagram上使用的用户名) . UserId是私钥(在这种情况下,我只使用私人电子邮件地址) .

1 回答

  • 1

    如果我开始在显示名称字段中键入“Andrei Volgin”,作为用户,在我键入“Andrei Vo”后,您开始向我显示“可用”对我没有多大帮助 . 此时,您正在使用电池寿命和数据计划,并且可能会降低慢速网络上的体验,对用户没有任何好处 .

    我认为更好的策略是在用户提交名称时检查可用性 . 响应可以包括使用一组规则创建的建议替代名称的列表 . 例如,如果“Andrei Volgin”不可用,您可以检查并建议“A Volgin”,“Andrei_Volgin”等 .

相关问题