如何設計一款APP的註冊模塊

一、註冊模塊需要考慮的因素

  通常註冊模塊需要考慮的因素有如下幾條:

  • 註冊使用的帳號
  • 註冊密碼
  • 註冊驗證碼
  • 註冊按鈕
  1. 註冊使用賬號一般有:
  • 手機號註冊
  • 郵箱註冊
  • 用戶名註冊
  • 手機號+用戶名註冊
  • 手機號+郵箱註冊
  • 郵箱+用戶名註冊
  • 手機號+郵箱+用戶名註冊
  1. 註冊密碼通常要考慮的要點如下:
  • 只用輸入一次密碼,還是要輸入兩次密碼
  • 是否需要用戶手動選擇密碼是否可見
  1. 註冊驗證碼需要考慮的要點如下:
  • 使用數字驗證碼,還是圖形驗證碼
  • 一段時間內,輸入的驗證碼是否有次數限制
  1. 註冊按鈕通常的設計思路如下:
  • 一開始註冊按鈕是否可點擊
  • 何時點擊註冊按鈕爲最佳機會
  • 在點擊註冊按鈕之後,如何有效提示用戶註冊失敗的原因,而不會影響界面的美觀,同時也不會讓用戶覺得煩躁,最後能讓用戶有效定位到輸入失敗的地方
  • 註冊成功後是否直接登錄

二、註冊模塊的業務邏輯

  1. 使用手機號註冊

  使用手機號註冊時,獲取驗證碼一般考慮的是通過短信獲取,這樣既可以有效防止用戶輸入錯誤的手機號。但如果用戶多次點擊獲取驗證碼,排除掉蓄意爲之之外,就要產品研發人員考慮的是,用戶是否是因爲輸入錯誤手機號或者其他原因造成收取不到驗證碼的情況,因此,在用戶第二次/第三次點擊獲取驗證碼時開始,彈出來一個界面,讓用戶覈查一下是哪種原因導致的無法獲取驗證碼。通常的原因有如下幾個:

  • 手機號是否輸入正確?
  • 手機是否有信號?
  • 手機是否關機?
  • 手機是否因欠費而無法正常獲取短信息?

APP註冊模塊流程圖-手機號註冊.png

  1. 使用郵箱註冊

  如果是在移動端上採用郵箱地址註冊,通常建議,在驗證郵箱地址格式正確之後,提示用戶,是否要使用這個郵箱地址來註冊,主要是因爲,一般在移動端上使用郵箱地址註冊時,不太建議進行郵箱地址的確認(比如手機,登錄郵箱操作很繁瑣,難比PC端)。所以,一旦用戶輸入郵箱地址但不確認,有可能用戶輸入錯誤而沒有發現。因此,通常在驗證該註冊郵箱地址格式正確且可以使用時,提示用戶確認下是否要使用該郵箱地址。

APP註冊模塊流程圖-郵箱地址註冊.png

  1. 使用用戶名註冊

  一般只使用用戶名註冊的產品,是那些可能沒有郵箱或者有手機但沒有手機號碼的情況,或者是爲了減少輸入的內容。因爲沒有其他驗證手段,爲了防止用戶輸入錯誤,通常在驗證該註冊用戶名格式正確且可以使用時,提示用戶確認下是否要使用該用戶名。

APP註冊模塊流程圖-用戶名註冊.png

  1. 使用手機號+用戶名註冊/使用郵箱地址+用戶名註冊/使用手機號+郵箱地址/使用手機號+郵箱地址+用戶名註冊

  一般只有用戶必須使用唯一的用戶名登陸,或者希望提供多種登陸方式供用戶選擇並同時驗證時,纔有可能考慮這幾種模式之一。這幾種模式是將各自獨立的模式的註冊流程合併在一起。一般如果不是必須的話,可以不考慮這三種模式,而是在用戶正常使用一種模式註冊並登錄成功後,提示用戶在用戶個人信息設置界面將剩下的兩種模式給補充完成,這樣以後用戶可以直接採用這三種註冊賬戶的任何一種作爲登錄賬號,且擁有相同的密碼。

三、關於註冊模塊的一些思考

  1. 如何能有效地簡化註冊流程?

  假如一個註冊流程中只包含註冊賬戶、密碼、驗證碼這三個輸入項,簡化流程實際上可以從減少用戶的“無效輸入”上入手,比如:

  • 註冊界面一開始只需要有一個輸入註冊賬號的輸入框,以及一個檢查輸入賬號是否正確的按鈕(例如獲取驗證碼的按鈕,這個既是註冊流程中的一部分,同時還能直接檢查註冊賬戶),如果賬號存在了,就提示用戶是否直接用該賬號登錄;如果不存在且賬號格式正確,那就再顯示其他的輸入框。這樣做的原因有兩點:

(1)從用戶角度來說,有相當一部分客戶喜歡在所有的內容都輸入完成後,再去獲取驗證碼,這時候再發現賬號已經存在並且能用這個賬號直接登錄,就浪費了輸入密碼的時間
(2)從app設計角度來說,有一些app喜歡將獲取驗證碼的操作放在整個輸入環節的最後,潛意識地讓用戶最後去獲取驗證碼

  鑑於此,通常在設計註冊模塊時,考慮一下如下的設計方案,提升用戶體驗:

  • 將獲取驗證碼的按鈕儘可能的貼近註冊賬戶放置
  • 如果有可能,儘量在用戶輸入賬號之後,檢查賬號是否存在(這是最主要的一個目的)或者賬號格式是否正確。比如滴滴,不管是註冊還是登陸,都是隻讓用戶輸入手機號,然後“下一步”給出驗證碼,如果賬號存在,就直接登錄,如果不存在,就註冊並登錄。
  • 實際考慮到底要採用哪種賬號形式來進行註冊,不是所有的產品都需要郵箱/用戶名
  1. 請務必在註冊界面加載成功後,友好地提示用戶,當前網絡狀態是否OK,如果不ok,別等着用戶一切輸入正確了,美滋滋地準備享受產品帶給TA的快樂時,給了他一個晴天霹靂——你的網絡不在服務區!
  2. 通常爲了防止惡意獲取數字驗證碼,增加企業成本,通常設計時,使用手機號獲取驗證碼時,兩次獲取驗證碼的操作有時間間隔,或者一段時間內獲取數字驗證碼有次數限制。可以根據自身的實際情況,設置時間間隔(一般情況下,是60秒/45秒/30秒)以及操作次數(如3~5次/小時、5~8次/天等)。對於圖形驗證碼,建議就不要做這種設置了,基本上沒有什麼意義。
  3. 如何有效地提示用戶應該輸入什麼格式的內容?拿iOS的app來說,如果單單只是在UITextField的placeholder裏面寫上格式,可能會因爲textField的寬帶問題,無法將所有的提示內容都顯示出來。爲了讓用戶首次輸入的時候,就能輸入格式正確的內容,可以考慮每當用戶點擊一個輸入框準備輸入時,彈出來一個小界面,將該輸入框需要的格式要點一一列出,哪個要點完成了,就顯示已完成狀態。如果這樣設計,請注意不要讓彈出來的小界面遮擋住下一次要輸入的輸入框,所以可以考慮將這個小界面放到當前輸入框的上方或者右方。
  4. 註冊時的加密方案如何考慮(密碼採用MD5加密之後再上傳;使用POST模式上傳等)?註冊時的輸入信息如何驗證(是在服務器端驗證,還是客戶端驗證?)?是否需要將註冊信息轉爲json格式再上傳服務器?
  5. 註冊成功並登陸成功後,是否需要將相關的信息保存到本地?
  6. 在註冊界面,如何能夠清晰地提示用戶“去登陸”?
  7. 如果用戶在註冊的時候不小心關閉掉了註冊界面,在設計過程中通常是會銷燬掉註冊界面,那麼是否需要考慮如果用戶未註冊完成時不小心將註冊界面關閉掉時,將用戶已經填寫的信息保存到本地,當用戶再次進入註冊時,調取已經填寫的內容讓用戶繼續註冊?如果用戶註冊並登錄成功,那麼保存的半註冊信息可以直接清空掉。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章