基于微信平臺的第三方授權(quán)體系:場景和原理
筆者立足微信公眾平臺的賬號體系,對涉及場景和相關(guān)原理進行了分析,與大家分享。
第三方授權(quán)登錄對于目前很多平臺都是一個比較常規(guī)的操作了,如果有留意過的話,會發(fā)現(xiàn)會用到很多不同的場景當(dāng)中。無論是什么場景,基本上都是圍繞著讓用戶現(xiàn)在使用更方便或者讓用戶以后使用更方便的角度出發(fā)去進行的。
對于產(chǎn)品而言,為了滿足這樣的一些場景或者解決一些問題,我們就需要有對應(yīng)的方式去進行設(shè)計,而在這些體系當(dāng)中,目前用的比較廣泛的,很多都是會去基于微信平臺做一些賬號體系的設(shè)計,那么,接下來我們一起來以微信平臺為例看下背后的一些原理。
一、涉及場景
公司在初期基于成本考量,只做了微信小程序,但后期隨著業(yè)務(wù)的發(fā)展壯大,決定做App的版本。
那么就涉及到之前小程序當(dāng)中的那些用戶了,如果他們用戶小程序登錄App,之前的資料或者記錄都不存在了,對于用戶來說體驗是很不好的,所以需要去想辦法在App端從賬戶角度去做同步。
公司就是專注做小程序,所以以同一個公司主體注冊并開發(fā)了多個小程序。
業(yè)務(wù)發(fā)展中涉及到需要用戶的相關(guān)信息能夠在多個小程序當(dāng)中共通,有的人可能就會誤以為只要是同一個微信號登錄的哪怕不同小程序,都能自動識別是同一個用戶,但不好意思,并不是這樣,所以,這種情況也要想辦法解決。
公司做了微信公眾號的相關(guān)業(yè)務(wù)開發(fā)(訂單號和服務(wù)號),然后也做了小程序,公眾號用來做內(nèi)容和部分簡單業(yè)務(wù),小程序用來做工具,從公眾號里面直接引流去小程序的用戶。
對他們而言,最好是在公眾號里面的個人信息和小程序里面是一致的,但哪怕是同一個微信用戶,在公眾號和小程序之間跳轉(zhuǎn)時,也并不能識別到是同一個用戶,所以,需要有相應(yīng)的方式去解決。
當(dāng)然,還有一些其他的場景,這里就不一一列舉了,而微信作為一個如此大的廠商,也自然是考慮到了這樣的一些問題,所以他們也提供了比較好的辦法來解決。
二、微信平臺
在具體去聊微信是怎么樣幫我們解決這些問題之前,我們需要先了解下微信的相關(guān)體系以及概念,比如:微信開放平臺、微信公眾平臺、微信小程序、微信支付商戶賬戶、賬號主體等一系列名詞,當(dāng)然這里不去一一講解,大家可以自行上網(wǎng)查閱;
這里主要想講一下,對于產(chǎn)品設(shè)計而言,比較重要的微信公眾平臺和微信開放平臺,像我們熟悉的服務(wù)號、訂閱號、小程序甚至企業(yè)號,都是屬于微信公眾平臺業(yè)務(wù)的范疇,那微信開放平臺呢?
其實完整的看,它能做的事情非常多,涵蓋的業(yè)務(wù)也很廣,但在產(chǎn)品設(shè)計中,尤其是前面提到的那些業(yè)務(wù)場景當(dāng)中,它是能直接有效的解決那些場景中的賬號打通類問題的。
三、相關(guān)原理
當(dāng)我們要開發(fā)小程序時,我們需要去微信公眾平臺上注冊一個小程序賬號,當(dāng)我們要做公眾號開發(fā)時,同樣也是去微信公眾平臺上注冊一個賬號,具體在微信公眾平臺上要注冊什么類型的賬號,根據(jù)我們實際的業(yè)務(wù)以及產(chǎn)品形態(tài)進行選擇即可。
注冊完相應(yīng)類型的賬號后,在開發(fā)產(chǎn)品過程中就會用到該賬號當(dāng)中提供的一些開發(fā)需要用到的信息。
當(dāng)然信息很多,但對于產(chǎn)品而言,我們需要重點關(guān)注的有一個東西叫做OpenID,這個玩意是個啥呢,對于沒有開發(fā)經(jīng)驗的產(chǎn)品,可以這么簡單的理解,就是用某個微信號登錄到相應(yīng)的微信平臺(小程序、公眾號)后,微信平臺自動為這個用戶生成的一個唯一的編碼,類似于現(xiàn)實生活中每個人的身份證號。
這個東西確實設(shè)計的非常方便,能幫助我們在用微信第三方授權(quán)登錄時,識別到對應(yīng)的用戶。但正如最開篇提到的一些場景,同一個微信號,如果沒有什么特殊設(shè)置,產(chǎn)品經(jīng)理沒有在賬號體系上巧妙設(shè)計,哪怕用戶用同一個微信號授權(quán)登錄了同一家公司的不同產(chǎn)品,如小程序、公眾號、App,對于這家公司而言,也沒法知道是不是同一個用戶的。
所以,微信為了幫助我們解決類似問題,就設(shè)計出了微信開放平臺,而最核心的就是它們創(chuàng)造了所謂的UnionID機制,那么它大概是怎么實現(xiàn)的呢?
舉個例子,當(dāng)公司開發(fā)的既有小程序、又有公眾號、還有App、PC官網(wǎng)等等,都接入了微信第三方授權(quán)登錄的方式,那這個時候按照前面所說的OpenID機制,用戶對應(yīng)這個公司的各個產(chǎn)品生成了各自的OpenID;
很顯然,如果涉及到賬號信息同步的話,在沒有做手機號綁定或者其他操作的情況下,幾乎就不太可能實現(xiàn)同步的業(yè)務(wù)了,對于用戶體驗是極差的,那這時可以怎么辦呢?
可以把公司的所有相關(guān)公眾號、小程序、App的信息綁定在同一個微信開放平臺上,綁定之后,用戶用同一個微信號在不同的產(chǎn)品登錄時,盡管是各自的OpenID,但對于同一微信號,它是會擁有一個共同的UnionID的;
通過這個共同的UnionID,就可以實現(xiàn)在不同產(chǎn)品當(dāng)中識別到同一用戶的目的,這樣其他的資料信息同步業(yè)務(wù)都是可以基于這點去進行設(shè)計了。
下圖是之前我們公司的不同類型產(chǎn)品,綁定在微信開放后臺的情況:
對于數(shù)據(jù)庫當(dāng)中,相應(yīng)的用戶信息表結(jié)構(gòu)就大致如下:
圖中的OpenID就是在用戶登錄了對應(yīng)產(chǎn)品微信那邊生成,而UnionID字段則是在綁定了微信開放平臺以后,生成并保存在數(shù)據(jù)庫當(dāng)中的。
知道了以上的這些背景信息和相關(guān)原理,相信在產(chǎn)品設(shè)計當(dāng)中,就可以很好的解決實際工作當(dāng)中的諸多與賬號體系有關(guān)的問題。
甚至基于上面的原理,還可以思考出同時接入了各種不同第三方授權(quán)登錄的方式后,賬號體系這塊應(yīng)該怎么去設(shè)計。
在這里,想說下,很多所謂的產(chǎn)品經(jīng)理,在工作中都非常浮躁,并不會想辦法去思考或者了解下產(chǎn)品設(shè)計背后的原因,只是停留在用戶使用流程、用戶體驗、用戶使用時的想法或者競品在產(chǎn)品設(shè)計時的想法這種偏表面的東西(沒錯,哪怕你在試圖洞察產(chǎn)品設(shè)計背后的想法與決策,這依然只是偏表面)。表象與原理結(jié)合,多方面思考同時盡可能深入又深入的去思考甚至實踐,你會獲得巨大的快感。
作者:小風(fēng),產(chǎn)品經(jīng)理;公眾號:村上風(fēng)
本文由 @小風(fēng) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Pexels,基于 CC0 協(xié)議
以自己公司為主體,幫客戶生成的小程序,客戶又不想出現(xiàn)我們的品牌露出,這要怎么解決?
風(fēng)哥,來這里問你一個問題喲。我們商城目前已經(jīng)有了App,小程序和公眾號,那現(xiàn)在能放在微信開放平臺上去嗎,讓他們做個關(guān)聯(lián),把同一個用戶全部榜到一起,這一步開發(fā)是要重新開發(fā)呢,還是只需要做某一部分啊
小風(fēng)老師頂一個!~
寫的非常好