目的

  • 梳理FB注册登录功能,并输出功能模块的PRD

模块

登录页

image.png

登录注册页面作用及范围

核心作用
- 设置使用App的门槛,核对已注册账户信息,保护用户账号安全
- 获取新用户信息,为后期运营作准备
涵盖范围
- 已注册用户登录
- 密码修改
- 新用户注册

登录流程

image.png

功能

截屏2020-08-09 下午2.40.40.png

功能 方案
网络状态检验 登录时,判断用户网络状态是否可用:
- 不可用,显示报错文案,如“当前网络状态不可用”;
- 可用,判断账号密码;
账号登录记录检验 判断此次登录前是否已有账号登录过:
- 否,账号输入框为空;
- 是,保留上次登录账号;
账号密码输入规则 a)账号输入规则:
- 只允许输入英文字符,数字,带@邮箱尾缀的字符,数字与字符组合,不得包含中文字符,表情,标点符号;
- 字符数量范围(0,n],超出18个字符时显示’…’;
- @字符前后均不得含标点符号;

b)密码输入规则:
- 密码输入位数范围[6,n);输入框最多呈现30个字符,超出以’…’显示;超出n时,自动清空;
- 连续输入时,字符呈现时间间隔=后一输入项时间-前一输入项时间;非连续输入时,输入项呈现2s后隐藏;
- 不提供密码查看功能;
- 密码报错时,清空已输入字符,点击‘ok’,光标自动定位密码输入框,唤起字母输入键盘;
- 账号密码均填充时,【登录】功能可用,【登录】按钮可点击;其中一项未填充时,【登录】按钮置灰,不可点击;
| | 账号密码校验 | a)判断账号密码输入框字符数是否均>0:
- 否,校验不可用;
- 是,校验账号是否含规则外字符:
- 包含,显示报错文案“用户名不正确”;
- 不包含,判断输入字符数量是否在[1,n]内:
- 否,显示报错’账号不存在‘
- 是,进行密码校验,判断密码输入位数是否大于6:
- 否,返回报错:‘密码有误’;
- 是,校验账号密码是否匹配;
b)校验结果
1. 账号密码匹配;
- 进行安全登录判断,查询该账号是否有登录记录:
- 不匹配,记录此次用户登录行为数据,并在下一次启动app时展示账户记录;
- 是,判断当前登录设备、环境、时间是否与记录相匹配;
- 不匹配,进行安全认证;
- 匹配,发起登录请求;返回登录结果:
- 登录失败,显示报错:
- 登录成功,进入app主页;
1. 账号正确,密码不正确:
- 返回“密码错误”报错,判断是否再次登录:
- 否,判断是否点击寻回密码功能
- 是,进入密码寻回流程
- 否,退出登录流程;
- 是,判断账号密码是否匹配
- 否,返回“密码错误”报错,判断试错次数是否>3:
- 否,发起登录请求;
- 是,弹窗提示验证码寻回密码功能,判断用户是否采用:
- 否,返回登录注册页;
- 是,发送验证码,进行验证登录;
- 是,判断是否为安全登录判断:
- 是,发起登录请求,返回登录结果;
- 否,安全登录验证
2. 账号密码均不正确;
- 优先判断账号格式,再判断密码;
- 账号格式错误时,弹窗展示报错文案,同时清空密码输入框内已输入内容;报错文案:‘用户名有误’,点击ok,弹窗消失;
- 账号格式正确,密码错误时,清空密码输入框内已输入内容,并展示报错文案:请确认密码,点击ok,弹窗消失;
- 记录密码报错次数,当达到3次及以上时,弹窗展示是否重设密码选项,点击【not now】返回注册登录页,点击【reset】进入密码重设页;
| | 寻回密码 | image.png
a)作用
- 减少老用户流失,让遗忘账号/密码的用户寻回自己账号;


b)操作路径
- 登录注册页—点击‘forgot password’—进入账号寻回页面—输入手机号/注册邮箱—展示搜索结果列表


c)结果列表展示规则
- 最多呈现9个匹配项,每一个匹配项包含:用户头像,用户名,FBuser文案;
- 用户无头像时,显示用户对应性别的系统默认头像;
- 用户名突出显示;非英语类用户名,展示原用户名;搜索时,将多语言转化为英语进行查找;
- FBuser文案固定展示在用户名下方,颜色置灰;
- 当账号在列表时,点击对应账号,选择手机/邮箱发送验证码验证
- 当账号不在列表时,提供‘I am not in this list’功能,点击后进入好友名称输入页,通过好友名称寻回账号
| | 忘记密码—搜索场景
** | a)未输入,点击搜索
- 搜索功能置灰
- 点击搜索icon无反应
b)输入无效字符
- 包括标点符号,字母+数字,数字+字母,数字+标点符号
- 当输入框内字符数量>=1,出现一键清除icon,点击icon,清空已输入所有字符;
- 输入无效字符时,弹窗返回’查询无账号报错’,点击‘ok’,弹窗消失,光标自动定位至输入字符最后一位,唤起字母输入键盘
c)输入有效字符
- 判断账号数据库是否有符合条件的账号:
- 是,展示结果列表
- 否,返回报错
d)输入字符超出最大限制
- 展示前28位字符,28位以后字符不展示
- 判断查询字符是否有结果:
- 有,呈现结果列表
- 无,返回报错,点击‘ok’,光标自动定位至输入字符最后一位,唤起输入键盘
e)已输入字符基础上,更改输入字符
- 再次搜索,以当前入参为准,判断更改后,是否有对应账号
- 有,展示结果列表
- 无,返回报错弹窗:查询无此账号,点击【ok】,弹窗消失,光标自动定位输入框字符最后一位,并自动浮起英文/中文输入键盘;
f)结果列表无个人账号时
- 重新输入,再次搜索;流程同3;
- 点击‘不在结果列表页’选项,进入好友验证页
g)结果列表上选择某账号后想更换其他账号验证
- 返回后,展示与当前搜索项匹配的结果项
- 保留搜索框输入内容
h)屏幕关闭后再次进入搜索页
- 直接切换至注册登录页
|

注册页

核心作用&范围

核心作用
- 获取新用户人口属性信息,为后期精准推送提供素材
范围
- 收集用户人口属性数据,生成用户画像
- 创建登录ID

注册流程

yuque_diagram.jpg

功能

功能 方案 图示
欢迎页 a)页面模块
- 【加入Facebook】文案
- 注册步骤说明文案
- 【Get Started】按钮
- 【Already have an account?】按钮
image.png
姓名输入页 展示规则
- 分为【姓】【名】两个输入框,平行排列;
- 输入框下展示引导用户输入真实姓名文案;
- 输入规则
- 支持输入符合:均可
- 输入数量:(0,n); 当字符数量>18时,显示‘…‘
- 一键清除:根据输入框内字符数量,判断是否出现icon:
- 当输入框处于编辑状态时,
- 输入字符数量=0,隐藏;
- 输入字符数量>=1,显示icon;
- 点击icon,清空已录入内容;
- 当输入框处于非编辑状态时,
- 隐藏icon;
- 点击输入框,光标自动聚焦首字符位置,唤起字母输入键盘,自动开启首字母大写功能;
- 输入字符数量>1,点击icon,清空已录入内容;
- 页面切换
- 切换规则:左右任意一个输入框内字符>0时
- 符合规则,可切换,点击【next】进入出生日期选择页;若不符合,【next】不可用,无法进入出生日期选择页;
- 向左滑动返回欢迎页,从欢迎页右滑,返回【姓名输入页】,保留已录入内容;
image.png
出生日期
选择页
交互方案
- 时间控件样式:滚轮,具体到年月日;
- 规则:已选年份<当前年份;当已选年份>当前年份时,滚轮自动定位到当前年份;
- 最大可选日期:1906/12/31;最小可选日期:2014/1/1;
- 当超出可选日期范围时,震动提示,并呈现‘选择有效日期’文案报错,文案标红;
- 当输入日期在范围内时,点击‘continue’/‘next’跳转至性别选择页;
- 点击‘why i need to provide my birthday?’文案时,跳转至出生日期填写说明页;
image.png
性别选择页 a)包含模块
- 页面说明、性别文案、勾选框、【next】按钮
- 性别文案内容包含:Female 、Male、Custom,文案与勾选框平行排列;
- 交互规则:
- 性别为必填项;未勾选时,点击【next】,震动报错,并显示引导“选择性别”的红色文案;已勾选时,点击【next】,进入手机/邮箱注册页;
- 点击勾选框,被选择项突出显示;切换选项,清空原勾选框;
- 点击Custom,呈现下拉列表及空白输入框;
- 下拉列表为必选项,呈现文案【select your pronoun】,文案可更改;判断用户是否点击下拉列表:
- 未选择,点击【next】,震动报错,并显示引导用户选择‘pronoun’文案;
- 已选择,浮起选择弹窗,弹窗顶部呈现引导‘选择pronoun’文案,文案下方提供3个性别选项:【She】、【He】、【They】,选项下方均显示固定句式语句:“wish xx a happy birthday”,xx指代对应性别选项的宾格形式,如She—her;
- 选择任一性别后,下拉列表中的文案呈现当前选择的性别;
- 从【custom】选项切换其他性别选项时,如Custom—Female,保留【Custom】下拉列表已选择项;再次切换至【Custom】选项时,展示下拉列表已选项;
- 输入框为非必填项,支持用户输入性别;
- 框内输入字符数量范围:[0,n),大于18个字符时,前18个字符完整展示,大于18个字符的显示‘…’;
- 框内无字符时,呈现”enter your gender(optional)”引导文案;框内有字符时,点击【next】,震动报错,并显示引导用户选择‘pronoun’文案;
- 一键清除:当框内字符数量>=1,输入框末端呈现一键清除icon,点击后清空已录入内容;当字符数量=0,隐藏icon;
image.png
手机/邮箱
注册页
a)页面包含模块
- 【手机号码输入框】
- 【使用电子邮箱注册】按钮,点击【use your email address】切换至邮箱注册页;
- 【已有账号】按钮
- 填写引导文案

b)交互方案
- 输入框:点击后自动弹起数字键盘,框内字符数量>1且处于聚焦状态时,呈现一键清除icon;失焦时,icon隐藏;输入完毕,点击【continue】或点击页面任意空白处,展示【next】按钮,检验手机号有效性;
c)检验规则
- 输入数字数量:数量在[0,2]之间,点击切换后显示报错文案【手机号无效】;数量在[3,n)时,点击切换进入密码设置页;
- 输入密码,点击【go】/点击页面任意空白处,展示【next】按钮,检验密码长度是否符合规则:
- 符合时,进入【注册确认页】;从【注册确认页】返回【密码设置页】时,输入框为失焦状态,自动全选框内已输入字符,点击后聚焦,并清空框内已输入字符;
- 不符合,报错,停留原页面;
- 区号填充:根据手机设备定位,自动填充输入框内国家缩写及区号;国家缩写展示两位,点击后可进入【区号选择页】更改;
- 【区号选择页】包含【取消】按钮、【搜索框】、【国家列表】;
- 区号列表包含国家全称及区号,左右分布,左侧为国家全称,右侧为区号;列表优先展示6个常用国家,再展示所有国家;
- 交互方案
- 点击【取消】按钮,返回手机注册页
- 点击搜索框,进入搜索空白页;
- 搜索框支持输入数字、符号、中文字符、英文字母;
- 搜索规则:仅在输入字母时,启用国家联想功能;
- 联想规则:根据当前框内字母,判断国家列表中是否存在与输入项一致的国家名称;
- 存在,展示所有与输入字母匹配的国家列表,列表的国家排序按搜索次数多少;如输入U,则展示所有开头为U的国家,且根据查询热度判断US、UK的排序;点击任意展示项,返回【手机注册页】,并自动填充国家缩写和区号字段;点击【cancel】,返回国家列表页;
- 不存在,展示空白列表;
- 点击【国家列表】任意项,返回【手机注册页】,并自动填充国家缩写和区号字段;
| image.png | | 邮箱注册 | a)页面包含模块
- 【引导文案】
- 【邮箱输入框】
- 【注册说明文案】
- 【切换至手机注册】按钮,点击切换至手机注册页


b)输入框展示规则
- 框内字符数量=0,失焦时,展示【输入邮箱地址】文案;
- 框内字符数量=0,聚焦时,浮起输入键盘,隐藏【切换至手机注册】按钮;
- 字符数量>0,失焦时,展示输入内容;
- 字符数量>0,聚焦时,并显示一键清除icon;


c)邮箱输入规则
- 同账号登录


d)校验规则
- 检验时间点:输入完毕,点击【go】/点击页面任意空白处,展示【next】按钮,检验邮箱有效性;
- 有效,切换至【密码设置页】
- 无效,停留在【邮箱注册页】,显示报错文案【邮箱无效】,文案标红并展示在邮箱输入框正下方;


e)密码设置页
- 检验内容:输入框内字符数量;
- 检验规则:当数量<6时,显示报错文案【密码太短】,当数量>n时,显示报错文案【密码太长】;
- 显示规则:完整展示输入字符,不隐藏;
- 输入密码,点击【go】/点击页面任意空白处,展示【next】按钮,检验密码长度是否符合规则,检验规则同手机号注册密码检验规则;
| image.png | | 注册确认页&创建账号页 | a)注册确认页
页面模块
- 【完成注册页】文案
- 注册确认说明,其中蓝色字体为各类用户协议,点击后跳转对应详情页
- 【Sign up】按钮,点击【Sign up】,跳转 【创建账号页】,左滑,返回【密码设置页】


b)创建账号页
- 作用:对此页面前填写的手机号和邮箱进行再次有效性的再次校验
- 校验成功,自动进入App主页,表明账号创建成功;
- 校验失败,返回有误项所在页面,并显示红色报错文案;更改有误项后,点击【next】,再次进行创建账号
| image.png |

思考

1.为什么引导手机注册?

  • 注册流程简单
  • 能读取通讯录,进行关系链匹配,推荐好友
  • 便于召回,追踪

2.登录注册页面中,为什么90%以上的功能服务于登录,而注册仅保留入口?

  • 产品进入成熟阶段,已注册用户远远多于新用户,应满足已注册用户快速使用app的需求;
  • 依据完成登录/注册所需信息来分配页面,前者远小于后者,因此在有限页面里优先展示登录所需关键信息,留下注册入口,引导新用户进入注册页面;
  • 有强烈使用app意愿的新用户,会格外关注注册入口,较不起眼也能找到;

3.为什么FB在创建账号页才对手机号/邮箱进行校验,而不是在手机/邮箱注册页?

  • 新建账号流程冗长,前期采用简易规则校验,加快创建流程,减少用户等待时间;
  • 创建账号过程中,通过系列行为,判断是否为自然人用户,或用户安全性;

4.为什么电商类app可无注册使用,但社交类app不允许?

  • 产品定位:前者主要性质是销售平台,用户在结算时必然会输入个人信息,因此将注册流程延后,给用户打造自由的购物氛围;后者主要性质是互动,必须先有人设才能互通有无,因此将注册流程置于首位;