首先讓咱們思考一個問題,用戶爲何喜歡第三方登陸?數據庫
一、由於沒有煩人的註冊過程微信
二、由於不須要記憶登陸網站的密碼,只需記住第三方帳號和密碼就能夠了網站
關於第1點,並非全部的第三方登陸都不須要註冊。ui
首先讓咱們來看看,傳統的用戶系統是怎麼設計的。設計
在傳統的用戶系統中,網站會要求用戶先進行註冊。註冊的過程通常包括如下幾種狀況:token
1填寫用戶名》設置密碼》填寫其餘註冊信息。產品
缺點:沒法獲取到用戶的關鍵信息(郵箱、手機號等)微博
2填寫郵箱地址》驗證郵箱》設置密碼》填寫其餘註冊信息。驗證碼
優勢:能夠獲取到用戶的關鍵信息,而且用戶容易接受登錄
3填寫手機號》驗證手機號》設置密碼》填寫其餘註冊信息。
優勢:能夠獲取到用戶的關鍵信息
缺點:部分用戶反感綁定手機號,加大了註冊門檻
經過上面這三種方式註冊好後,就可使用用戶名、郵箱、手機和密碼登陸。其實使用 用戶名、郵箱、手機和密碼登陸這三種登陸方式能夠概括爲使用用戶帳號和用戶密碼登陸。
這種系統有兩個缺點:
1須要事先註冊帳號
2須要要牢記該網站的帳號和密碼
其實比起第1點,第2點更讓用戶頭疼,在這個互聯網時代,每一個人都註冊了大量網站帳號,不少網站對密碼的要求還不同,時間一長那些不怎麼用的網站的密碼很容易就忘記。
後來出現了手機號和手機驗證碼這種不須要記住密碼的登陸方式。支持這種方式登陸的系統通常仍是會讓用戶先註冊,註冊的過程通常是
填寫手機號》驗證手機號》填寫其餘註冊信息。
這種方式雖然仍是存在令用戶討厭的註冊過程,可是採用驗證碼登陸後,用戶不再須要記住密碼了。
然而,這種登陸方式雖然看起來很好,但卻不得不面對一個問題,那就是綁定手機號是不少用戶反感的事情。
反感的緣由一般有兩點:
一、用戶注重隱私,不想把重要的我的信息暴露給別人
二、手機號綁定的帳號多了以後,更換手機號會特別麻煩
如今讓咱們來總結一下這種登陸方式的優缺點
優勢:用戶不用記憶密碼
缺點:仍是存在註冊過程,另外部分用戶會反感綁定手機號
那有沒有一種既不須要綁定手機號,又不用記住密碼的登陸方式呢?
答案是有的,那就是第三方登陸。
第三方登陸是經過qq、微信、微博等等,第三方系統的帳戶來登陸其餘的系統。其餘系統會在用戶登陸的時候調用第三方的登陸窗口,用戶在第三方登陸後,第三方系統會返回給咱們一個第三方的用戶uid,token,這個像至關於用戶名和密碼了。
咱們能夠將這個兩個值存在數據庫中當作第三方登陸的用戶名和密碼。下次用戶在經過第三方登陸的時候,咱們發現這個uid咱們的數據庫以及有了,就知道他是哪一個用戶了。
到這裏,事情本應該解決了,但實際上問題纔剛剛開始。
讓咱們回憶一下本身使用過的那些能夠進行第三方登陸的網站或應用。
通常流程是這樣的
用戶選擇第三方登陸》第三方登陸成功》系統提示你尚未註冊,讓你填寫註冊信息》你內心暗罵sb,我tm選擇第三方登陸就是不想註冊,你這樣比直接註冊還麻煩》
最後的結果有三種
1終止註冊離開網址
2退出綁定過程,從新選擇傳統方式註冊
3忍氣吞聲完成註冊(當你選擇3後,系統會將你的第三方帳戶和你的註冊帳戶綁定,以後你既能夠經過註冊的帳號登陸,又能夠經過第三方登陸。)
雖然這種模式一直被用戶詬病,但這依然是大多數支持第三方登陸網站的首選,那爲何大多數網站第三方登陸都要作成這種模式呢?
緣由有些複雜,須要你瞭解直接第三方登陸的模式後才能體會其中的原因,這裏簡單說一下。
採用這種模式的系統將第三方登陸當作一種登陸方式,一個用戶能夠有多個登陸方式,好比手機登陸、郵箱登陸、微博登陸、微信登陸、qq登陸等等。
但這些都只是登陸方式而已,你在登陸以前,必須的有帳戶吧!並且你的帳戶必須綁定了該第三方的帳號吧,否則怎麼登陸呢?
因此你在沒有帳戶時,直接經過第三方帳號去登陸這種類型的網站,他會讓你先註冊一個帳戶。看起來好像是網站在套路你同樣,讓你先登陸,而後又讓你註冊。實際上這種網站的第三方登陸是提供給已有帳戶的用戶用的,怕他們忘記了密碼,因此給他們提供綁定第三方帳號的服務,讓他們在記不住密碼時能夠經過第三方帳號來登陸。
該種模式經過綁定第三方帳號,解決了用戶容易忘記本站密碼的問題。但在註冊時,會使新用戶反感。
能夠在登陸界面明確指出,第三方登陸是給已有帳戶且綁定了第三方帳號的人用的,這樣至少不會讓用戶在註冊時,覺得你在套路他。
不少用戶都以爲上面的模式太麻煩了,就不能直接用第三方帳號登陸系統嗎?固然是能夠的,而且有部分網站就是這樣作的,好比簡書。
在這種不須要提早註冊,直接可使用第三方用戶登陸的系統中,通常流程是這樣的
用戶選擇第三方登陸》第三方登陸成功》系統後臺判斷是否爲第一次登陸,若是是,就建立一個用戶。》建立用戶並登陸成功
從上面的流程能夠看到,這種模式將註冊流程給省略掉了,從原來的收集用戶信息,建立用戶。變成不收集用戶信息,直接建立用戶。
你可能會以爲這種模式不是挺好的嗎,對用戶友善多了,爲何會用的人少呢?
要回答這個問題還得從兩層面來講
在前面麻煩的第三方登陸那一章,我有講到,那種模式實際上是將第三方登陸當作用戶的一種登陸方式。
而真·第三方登陸不同,這種模式將第三方登陸當作一個獨立的用戶。
因爲沒有了註冊過程,第三方帳號第一次登陸時,將無帳戶可登,這時差別出現了,麻煩的第三方登陸讓用戶去註冊,真·第三方登陸 直接生成一個帳戶。
可是這個自動生成的帳戶只是個空殼,裏面一點有用的我的信息都沒有。並且不像上面那種登錄方式,多個第三方帳號都是登陸在同一帳戶下,這種模式下若是一我的用多個第三方帳號登錄,會生成多個帳戶。而且這幾個帳戶之間相互獨立,沒有任何關係,儘管他們都來自同一我的的。
有人可能要問了,一我的有多個帳戶有什麼影響嗎。
其實在系統設計的層面上來說,咱們但願一個用戶儘可能對應一個現實生活中的人(關於這個原則我會再寫一篇文章來講明) 。這樣能夠下降系統的複雜性,畢竟咱們的系統最終是要爲人提供服務,而不是「用戶」。
那怎樣讓一個用戶儘可能對應一個現實生活中的人呢?答案是在建立用戶的時候,讓系統綁定並驗證一我的的關鍵信息,好比手機號或郵箱等。由於一我的通常也就1個手機號,最多2到3個。經常使用的郵箱通常也就一、2個。這這關鍵信息基本上能夠表明一我的。
這種模式下,因爲沒有了註冊過程,建立用戶時,沒法綁定並驗證一我的的關鍵信息,致使一個用戶沒法表明一我的。
這種模式下,一我的能夠輕鬆擁有多個帳戶,這將致使用戶行爲分散到了多個帳戶中,增長了系統的複雜性。
爲何註冊對網站很重要,不少網站死咬着不放,緣由就在這裏。
說了這麼多,總結一句話就是,這種模式下的用戶沒法與現實中的人創建一對一的映射,致使用戶行爲分散,系統複雜性提升(這句話可能有些難以理解,不要緊繼續往下看就知道我在說什麼)。
因爲註冊門檻下降了,致使用戶十分容易就能夠擁有多個帳戶,甚至說一不當心就註冊了多個帳戶。
一我的有多個帳戶原本沒什麼不能夠的,但在某些狀況下,會影響用戶使用產品的連貫性,形成很差的用戶體驗。
這裏的某些狀況指的是:用戶在不一樣是時期,用不一樣的第三方帳號登陸,進行了不一樣的操做,而用戶卻但願這些操做是發生在同一個帳戶下。
什麼意思?
以簡書爲例,假設有如下幾種情景模式
情景1 某天,用戶第一次用qq登陸簡書(這時簡書會自動建立了一個帳戶),用戶在簡書看了幾篇文章,並收藏了其中一篇文章(注意這篇文章是收藏在qq登陸的帳戶下)。
情景2 一段時間後,用戶又來登陸簡書了,可是這時候卻想不起來上次是用哪一個第三方帳號登陸的。(記不住也很正常,如今不少網站和應用都支持第三方登陸,各個網站支持的還都不同,有的支持微博、有的支持微信、有的支持qq、還有的全都支持。網站一多,時間一長,就分不清哪一個網站是用哪一個第三方帳號登陸的)。
這個時候用戶通常會根據記憶選擇一個第三方帳號來登陸,假如此次用戶選擇的是微信登陸,登陸上去一看,是個新帳號,此時用戶通常會有兩種作法:
一、退出該帳號選擇其餘第三方登陸。此時系統白白建立了一個新帳戶。
二、新帳號就新帳號,都同樣用。
假設用戶選擇了2,而後用新號在簡書看了幾篇文章,並收藏了其中一篇文章(注意這篇文章是收藏在微信登陸的帳戶下)。
情景3 一天,用戶想整理本身在簡書上收藏的文章,但卻發現,收藏的文章被分散到了幾個不一樣的第三方帳戶中。這時候用戶可能會抱怨說,什麼破網站,我在其餘網站無論是經過哪一個第三方帳號登陸,都是登陸到了同一個帳戶上,全部的操做也都是發生在同一個帳戶下的。
上面的情景123就是我說的「用戶在不一樣是時期,用不一樣的第三方帳號登陸,進行了不一樣的操做,而用戶卻但願這些操做是發生在同一個帳戶下」
上面出現的問題就是我說的,在某些狀況下一我的擁有多個帳號時,會影響使用產品的連貫性,形成很差的用戶體驗。固然這有一個前提條件,那就是用戶本意是隻想要一個帳戶。若是用戶一開始就是衝着多個帳戶去的那固然不影響他的體驗。
說了這麼多,總結一句話就是,這種模式下容易致使用戶行爲分散(收藏文章這個行爲被分配到了不一樣的帳號中),後期若是想將分散的行爲彙總會很困難(將不一樣第三方帳號收藏的文章彙總到一塊兒)。
(在簡書中,若是你想將多個第三方登陸產生的帳戶合併成一個帳戶,首先要使用手機號或郵箱註冊一個傳統帳戶,而後將你第三方登陸的帳戶中全部發表的文章先備份到本地,而後所有刪除,還要將帳戶中的錢所有用完。以後讓系統將你的第三方帳戶完全刪除。以後再用傳統的帳戶從新綁定第三方帳號。最後從新上傳文章。)
優點:
沒有註冊流程,容易吸引用戶。
弊端:
模式下的用戶沒法與現實中的人創建一對一的映射,致使用戶行爲分散,系統複雜性提升。
只支持單一第三方登陸(好比只支持微信登陸),這樣雖然仍是沒法讓用戶與現實中的人創建一對一的映射,可是至少用戶行爲的分散程度下降了,不會像支持多個第三方帳號登陸的系統那麼高
目前第三方登陸一般有兩種設計思路
一、將第三方登陸當作一種登陸方式,使用第三方登陸的前提是,你先要有一個帳戶。
缺點:當用戶沒有帳戶,直接使用第三方登陸時,你只能提示他先去註冊帳戶。但在用戶看來,就是欺騙,容易引發用戶的反感。
優勢:當用戶帳戶綁定了第三方帳號後,用戶就在也不用記住密碼了,徹底能夠經過各個熟悉的第三方帳號登陸系統。
二、將第三方登陸,當作一個獨立的用戶
優勢:沒有註冊流程,容易吸引用戶,因爲是第三方直接登陸,也不須要考慮用戶會忘記密碼
缺點:一我的容易產生多個帳戶,用戶的行爲容易分散到多個帳戶中,增長了系統的複雜性,某些狀況下還會影響用戶的產品體驗。
通篇看下來,第三方登陸並無想象中的那麼美好,第一種方式也就僅僅解決用戶忘記密碼的問題,註冊時還會引發用戶反感。第二種方式雖然能起到吸引用戶的做用,但卻增長了系統的複雜性,某些狀況下還會影響用戶的產品體驗。
因此,你們能夠根據本身的實際狀況,考慮是否要添加第三方登陸的支持,若是要,應該使用哪一種第三方登陸的模式。
不使用第三方登陸,如何吸引用戶註冊
一句話來講就是下降註冊門檻。
首先不要使用傳統的表單註冊的形式,這樣會讓用戶以爲本身在填表。(我想這世界上應該沒有人喜歡填表吧)
其實徹底能夠採用引導式註冊,好比:
一、註冊界面就只有一個輸入框,讓用戶輸入手機號或郵箱。
二、當用戶點擊獲取驗證碼的按鈕後,UI進入到了驗證用戶的界面
三、輸入驗證碼,驗證經過後,UI進入設置密碼的界面
四、用戶設置密碼
五、夠了,前4步基本就能夠拿到一個用戶最的核心信息,其餘信息像什麼用戶名啊、暱稱啊徹底能夠用註冊時的郵箱和手機號代替,或者等用戶進入應用後再填寫,或者等後期再完善。不要想着一會兒拿到用戶的全部信息,那樣用戶只會被你嚇跑。