知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁(yè) » 新聞資訊 » 小程序相關(guān) >
微信小程序如何做好“授權(quán)”設(shè)計(jì)?
發(fā)表時(shí)間:2021-1-5
發(fā)布人:葵宇科技
瀏覽次數(shù):108
經(jīng)歷了四個(gè)小程序從0-1的設(shè)計(jì)/研發(fā)/上線(xiàn)的生命周期,深感小程序由于微信生態(tài)圈的影響,使它擁有很多便捷的封裝功能,支持直接調(diào)用;同時(shí)弊端就是導(dǎo)致很多功能受限,不像原生app那樣靈活多變。踩過(guò)無(wú)數(shù)坑,填過(guò)無(wú)數(shù)坑,所以萌生了總結(jié)小程序從頭到尾各個(gè)環(huán)節(jié)的知識(shí)點(diǎn),算存檔也算分享給讀者。適合剛?cè)腴T(mén)接觸小程序設(shè)計(jì)的同學(xué)或者是希望深入了解小程序的同學(xué)。
本文會(huì)從小程序一開(kāi)始需要掌握的openID、UnionID、授權(quán)微信綁定手機(jī)號(hào)、獲取其他用戶(hù)信息,到親身經(jīng)歷的單一登錄流程改造跨平臺(tái)適配作為案例,來(lái)介紹這些基本的參數(shù)和功能點(diǎn)如何設(shè)計(jì)。
這是微信生態(tài)圈中,為了識(shí)別用戶(hù),每個(gè)小程序或者公眾號(hào)對(duì)每個(gè)用戶(hù)生成的一個(gè)唯一的ID,類(lèi)似身份證號(hào),針對(duì)該小程序或公眾號(hào)具有唯一校驗(yàn)的屬性。
儲(chǔ)存openID,在用戶(hù)下次進(jìn)入小程序中,可識(shí)別用戶(hù)身份,實(shí)現(xiàn)免登陸功能。小程序本身已經(jīng)實(shí)現(xiàn)了登錄功能,所以降低的開(kāi)發(fā)成本。但獲取openID只適用于規(guī)劃中不含有app等其他平臺(tái)應(yīng)用的產(chǎn)品,如果想要實(shí)現(xiàn)多應(yīng)用,在最初設(shè)計(jì)時(shí),千萬(wàn)不要用openID!此處踩了大坑,后文中會(huì)詳細(xì)介紹。
如果開(kāi)發(fā)者擁有多個(gè)移動(dòng)應(yīng)用、網(wǎng)站應(yīng)用、和公眾帳號(hào)(包括小程序),可通過(guò) UnionID 來(lái)區(qū)分用戶(hù)的唯一性,因?yàn)橹灰峭粋€(gè)微信開(kāi)放平臺(tái)帳號(hào)下的移動(dòng)應(yīng)用、網(wǎng)站應(yīng)用和公眾帳號(hào)(包括小程序),用戶(hù)的 UnionID 是唯一的。
換句話(huà)說(shuō),同一用戶(hù),對(duì)同一個(gè)微信開(kāi)放平臺(tái)下的不同應(yīng)用,UnionID是相同的。注意:需要在微信開(kāi)放平臺(tái)將多個(gè)應(yīng)用綁定在同一主體下,才能實(shí)現(xiàn)多應(yīng)用共用一個(gè)UnionID,此配置需要前置進(jìn)行。
包括:用戶(hù)信息、地理位置、定位、通訊地址、發(fā)票抬頭、獲取發(fā)票、運(yùn)動(dòng)步數(shù)。
獲取用戶(hù)微信默認(rèn)綁定的手機(jī)號(hào),需要用戶(hù)點(diǎn)擊頁(yè)面中的按鈕(button),才可以調(diào)用此功能。彈窗里支持用戶(hù)修改手機(jī)號(hào)。如果業(yè)務(wù)中需要使用手機(jī)號(hào)來(lái)注冊(cè),就可以使用此功能獲取,如業(yè)務(wù)中不強(qiáng)制要求,則只需獲取用戶(hù)openID/UnionID,在必要環(huán)節(jié)獲取手機(jī)號(hào),以提升用戶(hù)體驗(yàn)。
介紹完openID/UnionID兩者的區(qū)別,總結(jié)一下如何獲取這兩種ID:
- 點(diǎn)擊頁(yè)面中的按鈕,彈出授權(quán)彈窗用戶(hù)同意授權(quán),才可獲取。注意:用戶(hù)的openID是放在【用戶(hù)授權(quán)獲取昵稱(chēng)和頭像】中。引申一個(gè)知識(shí)點(diǎn),還有一種方式是通過(guò)微信官方提供的登錄功能獲取openID,但在獲取UnionID時(shí)會(huì)出現(xiàn)獲取不到的情況,所以并不推薦使用此方法。
- 如果開(kāi)發(fā)者帳號(hào)下存在同主體的公眾號(hào),并且該用戶(hù)已經(jīng)關(guān)注了該公眾號(hào)。系統(tǒng)可以直接獲取到用戶(hù)的openID/UnionID,無(wú)需用戶(hù)再次授權(quán)。
- 如果開(kāi)發(fā)者帳號(hào)下存在同主體的公眾號(hào)或移動(dòng)應(yīng)用,并且該用戶(hù)已經(jīng)授權(quán)登錄過(guò)該公眾號(hào)或移動(dòng)應(yīng)用。小程序用戶(hù)無(wú)需再次授權(quán)。
- 用戶(hù)在小程序(暫不支持小游戲)中支付完成后,5分鐘內(nèi)可獲取用戶(hù)的openID/UnionID,無(wú)需用戶(hù)授權(quán)。此應(yīng)用場(chǎng)景,作者所參與的項(xiàng)目中暫時(shí)沒(méi)有使用過(guò),但感覺(jué)掃碼購(gòu)類(lèi)似的產(chǎn)品中應(yīng)該會(huì)使用。
舉個(gè)栗子,如果你想要獲取用戶(hù)的昵稱(chēng)頭像和手機(jī)號(hào),那么需要設(shè)計(jì)兩次點(diǎn)擊按鈕,并且彈出兩次授權(quán)彈窗,一次按鈕點(diǎn)擊獲取一種授權(quán),并且只能放在不同的按鈕中。設(shè)計(jì)參考:美團(tuán)、瑞幸、貝殼租房等小程序。
我們的產(chǎn)品是一個(gè)分銷(xiāo)平臺(tái),在最初規(guī)劃和設(shè)計(jì)時(shí),由于用人成本的因素,并沒(méi)有預(yù)備研發(fā)app,只是單純的希望通過(guò)小程序?qū)崿F(xiàn)運(yùn)營(yíng)推廣。但是在運(yùn)營(yíng)過(guò)程中,特殊的業(yè)務(wù)模式容易違規(guī),怕被用戶(hù)舉報(bào)較多導(dǎo)致封號(hào)。高層決定不再依托于微信生態(tài)圈,從而傾斜資源自主研發(fā)app。所以當(dāng)時(shí)小程序的整個(gè)登錄流程,需要進(jìn)行升級(jí)改造,用于適配app多設(shè)備注冊(cè)登錄。
舊方案流程如下:
踩的坑有兩個(gè)地方:
第一,未與研發(fā)人員明確登錄的概念,研發(fā)人員認(rèn)為獲取到用戶(hù)的openID視為登錄成功,對(duì)于我們的業(yè)務(wù)設(shè)計(jì)來(lái)說(shuō),獲取到用戶(hù)的手機(jī)號(hào)碼才是真正意義的有效用戶(hù)。
第二,由于開(kāi)始并未規(guī)劃app,導(dǎo)致研發(fā)人員在取用戶(hù)信息時(shí),選擇了獲取用戶(hù)的openID,當(dāng)多個(gè)移動(dòng)應(yīng)用時(shí),無(wú)法獲取用戶(hù)的unionID,用戶(hù)在各個(gè)應(yīng)用中數(shù)據(jù)無(wú)法打通。
但是改造時(shí),已有300多個(gè)授權(quán)手機(jī)號(hào)用戶(hù),所以改造方案花了很長(zhǎng)時(shí)間探討和研究,最終得出了一個(gè)相對(duì)來(lái)說(shuō)完整的解決方案。
5.2 改造后的方案在A(yíng)PP中,我們?cè)O(shè)計(jì)了微信授權(quán)登錄、手機(jī)號(hào)驗(yàn)證碼登錄,手機(jī)號(hào)密碼登錄三種登錄模式。微信授權(quán)登錄的設(shè)計(jì)相對(duì)來(lái)說(shuō)比較復(fù)雜。我只梳理了一個(gè)簡(jiǎn)易流程,研發(fā)的思路由項(xiàng)目經(jīng)理負(fù)責(zé)輸出。
產(chǎn)品設(shè)計(jì)思路:
研發(fā)思路(大力感謝小黑同學(xué)的貢獻(xiàn)):
在設(shè)計(jì)過(guò)程中,我遇到了一個(gè)思維誤區(qū),當(dāng)時(shí)考慮的問(wèn)題如下:
- 用戶(hù)A—登錄小程序—獲取到openID—綁定了手機(jī)號(hào)1—視為老用戶(hù)
- 老用戶(hù)A—使用微信授權(quán)登錄APP—獲取到unionID—綁定了手機(jī)號(hào)2
如果用戶(hù)在app登錄,有了unionID,他綁定了其他手機(jī)號(hào)怎么辦?這個(gè)時(shí)候創(chuàng)建一個(gè)新用戶(hù)嗎?那就存在一個(gè)unionid綁定了兩個(gè)手機(jī)號(hào)的情況。
這種場(chǎng)景如何處理?
這個(gè)地方的盲區(qū)在于,我一定要把openID和unionID關(guān)聯(lián)起來(lái),其實(shí)大可不必。在這種情況下,以手機(jī)號(hào)為唯一標(biāo)識(shí),視為兩個(gè)用戶(hù)即可,只有綁定了相同手機(jī)號(hào),數(shù)據(jù)才會(huì)互通合并。創(chuàng)建的新用戶(hù),他的openID為空,獲取到unionID即可。
即:用戶(hù)A 是openID+手機(jī)號(hào)1,用戶(hù)B是unionID+手機(jī)號(hào)2+openID為空。
小程序快速便捷的研發(fā)模式和迭代模式,可以適應(yīng)大部分互聯(lián)網(wǎng)產(chǎn)品快速迭代、快速試錯(cuò)的需求,但是全部依賴(lài)于微信生態(tài)圈會(huì)有諸多限制,作為小程序的產(chǎn)品經(jīng)理,大家應(yīng)該熟讀小程序和公眾號(hào)的文檔,清楚什么可以做什么無(wú)法實(shí)現(xiàn),這樣在設(shè)計(jì)功能時(shí),不會(huì)走太多彎路,也避免了與研發(fā)同學(xué)產(chǎn)生沖突,設(shè)計(jì)了他們實(shí)現(xiàn)不了的需求。
相關(guān)案例查看更多
相關(guān)閱讀
- 開(kāi)通微信小程序被騙
- 小程序開(kāi)發(fā)費(fèi)用
- 小程序被騙退款成功
- 做網(wǎng)站
- 網(wǎng)站建設(shè)高手
- 網(wǎng)站小程序
- 云南網(wǎng)站建設(shè)
- 云南網(wǎng)站建設(shè)列表網(wǎng)
- 云南小程序開(kāi)發(fā)公司哪家好
- 云南小程序定制
- 網(wǎng)站建設(shè)專(zhuān)業(yè)品牌
- 汽車(chē)報(bào)廢
- 百度小程序開(kāi)發(fā)
- asp網(wǎng)站
- 云南企業(yè)網(wǎng)站
- 昆明小程序代建
- 網(wǎng)站維護(hù)
- 云南網(wǎng)站建設(shè)外包
- 云南網(wǎng)站建設(shè)公司
- 軟件開(kāi)發(fā)
- 云南小程序代建
- SEO
- 昆明小程序設(shè)計(jì)
- 網(wǎng)站建設(shè)特性
- 云南網(wǎng)站建設(shè)制作
- 網(wǎng)站建設(shè)公司哪家好
- 網(wǎng)站建設(shè)公司地址
- 云南網(wǎng)站建設(shè)方案 doc
- 報(bào)廢車(chē)拆解軟件
- 模版信息