交互設計:短信驗證碼設計該注意什么?

6 評論 17717 瀏覽 95 收藏 10 分鐘

本文筆者將與大家介紹:發送驗證碼的短信內容設置規則,獲取驗證碼的界面設計,發送邏輯,核對短信發送數量以及對接收不到短信的解決方案等,為大家展示驗證碼短信從內容設計到發送、反饋的一整個流程。

設計驗證碼的目的是為了驗證是機器還是人為,也用于校驗是否本人操作。早前驗證碼有發郵箱,但現在注冊體系一般以手機號做主體,所以主流還是發手機短信驗證碼。

一、短驗設計

短驗內容:【短信簽名】XXXX,#文本,發送場景,短驗編號,危險提示#。

如:【APP名字】1234,支付驗證碼編號15,請勿給他人,謹防受騙。

1. 一般把短信簽名放在簽名,用于標記該短信是哪個產品發出

如果用戶短時間內,操作多個產品的發短驗行為,加上發送短驗有延遲問題,短信簽名放在簽名,能讓人一眼辨認出短驗隸屬方,以防搞錯。當然放后面也是常見做法,區別不大。

2. 短驗長度一般為4或6個隨機數字

至于為什么是4/6,是從系統安全性和人瞬間記憶綜合考量,機器遍歷4位驗證碼要10^4次,遍歷6位驗證碼要10^6次,普通機器遍歷耗時起碼幾分鐘。4/6長度對于人的瞬間記憶來講,體驗較好,再長記憶就有點吃力了。

3. 設置驗證碼有效期

考慮到短驗發送有網絡堵塞等原因,用戶遲遲未收到,會短時間內多次獲取,所以一般設置驗證碼有效期。

在有效期內且短驗未失效時,短驗內容一致,防止用戶已獲取多次,但收到之前短驗,校驗失敗,如:用戶第一次獲取驗證碼(1234),網絡延遲用戶第二次獲取驗證碼(5678)后收到短驗1234,校驗失敗。

一般做法是:第二次短驗仍是1234,那么即使發送延遲,也能校驗成功,這種做法適用于不需要太嚴謹的場景。

對于一些獲取一次就要重新生成短驗的做法,可參考銀行做法,在發送短驗界面和短信內容寫明短驗編號,如下圖:

驗證碼

驗證碼

4. 短驗后面加上詐騙提醒

運營商/合作商及有些敏感時期,對短信文案有要求,一些文案是不能發送的,所以建議確定短信文案后跟運營商/合作商報備下,之前跟某甲方爸爸合作時就要求在短驗后面加上詐騙提醒。

提一句:短信文本超過70個字(符?)在一些手機上會分成2條短信發送,文案最好能簡潔至上。

5.?發送次數限制

有些不謀好意人會故意頻繁請求獲取短驗,影響正常用戶操作,來敲詐。所以一般會對同一IP,同一手機號等在某段時間做發送次數限制,如:限制同一手機號24h內最多獲取短驗10次,超過次數提示24h后再試。

6.?價格

按照之前公司發送體量,對接的幾家渠道商,通知類短信價格一般到0.02-0.04元左右,營銷類短信價格在0.03-0.04元,爸爸級別的合作商要收0.1+元。

二、交互設計

以注冊驗證碼為例,別的場景大同小異。

一般注冊頁面的手機號和驗證碼在同一界面顯示,如下圖1。

注意點:

  1. 焦點在手機號和驗證碼輸入框內,自動喚起數字鍵,支持切換鍵盤(題外話:我這種懶人把卡號,手機號等存成常用語,支持切換鍵盤可直接粘貼,不用一字字輸);
  2. 輸入框支持一鍵刪除;
  3. 校驗手機號長度,長度=11位數字時,獲取驗證碼按鈕才點亮;
  4. 純數字輸入框,不支持輸入數字外字符;
  5. 獲取驗證碼后給予延遲提醒;
  6. 在獲取驗證碼請求成功后,將手機號置灰,不可修改;
  7. 頁面必填項有空值時,登錄按鈕置灰;
  8. 輸入框不要禁用粘貼功能,支持用戶粘貼不用一個個輸入數字;
  9. 輸入框有默認提示文案;(這個特別適用于千奇百怪的密碼要求,有些網站密碼不支持特殊字符,錯誤提示還不寫明原因,可以用默認文案告知設置要求)
  10. 若同一手機號短時間內獲取次數超過閾值,可增加難度,如增加圖文驗證碼,圖文校驗通過后才能獲取短驗。

驗證碼

有時,注冊項太多和增加頻繁獲取驗證碼的難度(輸入手機號和獲取短驗是2個頁面,多1個頁面就多個難度但治標不治本)會設計成分頁,如下圖2。

多頁設計也適用輸入項太多的場景,一來容錯率高防止錯一項,所有輸入框重填;二來輸入項太多,沒有操作欲望。(如果非要一頁顯示,希望輸入框失去焦點時能自動入庫,用戶下次進入頁面能回顯)

多頁設計注意點:

  • 輸入正確格式的手機號后,自動獲取驗證碼,無需再讓用戶操作;
  • 驗證碼獲取頁顯示手機號,可方便用戶檢查是否填錯;
  • 若分多頁,告知共有幾頁,當前在第一頁,如第一頁,第二頁,第三頁……

驗證碼

三、短驗的發送邏輯

驗證碼

  • 我們直接跟渠道商對接:我們告訴渠道商要給某手機號發短驗,渠道商告訴運營商,運營商發短信到用戶手機,如路徑1。
  • 我們跟合作商對接:我們告訴合作商要給某手機號發短驗,合作商在告訴渠道商–>運營商–>手機,如路徑2。

合作商和“我們的產品”的關系可理解成集團和子公司的關系。

一來集團體量大議價權強,由集團和渠道商合作可談下更低更好的價格/服務;二來若集團有多個子公司要和渠道商合作,每個子公司都要對接流程麻煩,一般合作是:集團談合作,子公司適用。

注:驗證碼的生成規則:我方生成或合作商/渠道商生成,并不是短驗都是自己程序生成的。

四、對賬

以路徑1為例:我們告訴渠道商要給10個手機號發短驗,渠道商會立即(同步)反饋我們收到要發10條的要求【接收請求成功】,10s后(異步)告訴我們他已經通知運營商要發8條短信了,20s后運營商告訴渠道商,渠道商告訴我們5條短信已發送到手機【發送短信成功】。

所以,核對發送數量時要明確核對的是發送請求成功數量,還是發送短信成功數量。

一般我們說短信發送成功,是指我們告訴合作商/渠道商要發短信成功,并不代表用戶收取驗證碼成功。因為短驗發送路徑較長,每一步出錯都會導致用戶收不到,并不是收不到短信,就是有bug。

五、短信死活收不到的原因及解決方案

  1. 手機欠費,停機(用戶自行檢查);
  2. 被攔截軟件攔截了(在攔截短信里找);
  3. 信號不好(換個信號好點的地方/手機唄);
  4. 運營商黑名單(找渠道商或運營商核實后解除黑名單);
  5. 手機問題(換個手機試試);
  6. 遇見鬼了(找程序員解決);
  7. 其他忘了,想起來再加。

六、腹黑謠言時刻

有時短驗被頻繁獲取,可能是壞壞的渠道商在沖量。短信成本可高可低,回扣水分很大。

 

本文由@有一個姑娘 原創發布于人人都是產品經理,未經許可,禁止轉載。

題圖來自Unsplash,基于CC0協議。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. “6在獲取驗證碼請求成功后,將手機號置灰,不可修改;”這一點要稍微優化一下,萬一我手機號填錯了,等驗證碼的時候才發現呢對吧

    來自廣東 回復
  2. 贊,很詳細

    回復
  3. 第五點的6,哈哈哈哈哈哈

    來自上海 回復
    1. ??

      來自浙江 回復
  4. 希望繼續發表。。。LLL

    來自浙江 回復