產(chǎn)品知識分享:外部鏈接分享到微信的邏輯
分享給需要的產(chǎn)品!如果你剛接觸微信開發(fā)但不懂技術(shù),或從未接觸但想了解,那就看看吧!
一、如果做好外部鏈接分享到微信呢?
你的微信群里是不是到處都是分享的鏈接? 你是否想過為什么從外部app分享到微信的文章你直接點(diǎn)擊就可以看?而在搶外賣紅包時(shí)總是要彈出登錄授權(quán)頁面,然后還要求你填寫手機(jī)號? 你是否思考過其中的邏輯?
本篇文章主要就幾個(gè)示例展開講述,最后提出優(yōu)化方案。
1、先舉幾個(gè)示例
- 從美團(tuán)外賣app處分享一個(gè)紅包到微信中,用戶在第一次領(lǐng)取紅包之前,先得拿到微信授權(quán)確認(rèn)登錄后,再填寫手機(jī)號,才能領(lǐng)取成功
- 從釘釘app處分享二維碼到微信群里用以邀請成員加入公司團(tuán)隊(duì) ,掃描二維碼后無須微信授權(quán)直接進(jìn)入邀請頁面,填寫個(gè)人相關(guān)信息后,加入團(tuán)隊(duì)
再丟一堆微信公眾平臺開發(fā)文檔說明
網(wǎng)頁授權(quán)獲取用戶基本信息:
如果用戶在微信客戶端中訪問第三方網(wǎng)頁,公眾號可以通過微信網(wǎng)頁授權(quán)機(jī)制,來獲取用戶基本信息,進(jìn)而實(shí)現(xiàn)業(yè)務(wù)邏輯。
關(guān)于網(wǎng)頁授權(quán)的兩種scope(應(yīng)用授權(quán)作用域)的區(qū)別說明:
以snsapi_base為scope發(fā)起的網(wǎng)頁授權(quán),是用來獲取進(jìn)入頁面的用戶的openid的,并且是靜默授權(quán)并自動(dòng)跳轉(zhuǎn)到回調(diào)頁的。用戶感知的就是直接進(jìn)入了回調(diào)頁(往往是業(yè)務(wù)頁面)
以snsapi_userinfo為scope發(fā)起的網(wǎng)頁授權(quán),是用來獲取用戶的基本信息的。但這種授權(quán)需要用戶手動(dòng)同意,并且由于用戶同意過,所以無須關(guān)注,就可在授權(quán)后獲取該用戶的基本信息。
用戶管理類接口中的“獲取用戶基本信息接口”,是在用戶和公眾號產(chǎn)生消息交互或關(guān)注后事件推送后,才能根據(jù)用戶OpenID來獲取用戶基本信息。這個(gè)接口,包括其他微信接口,都是需要該用戶(即openid)關(guān)注了公眾號后,才能調(diào)用成功的。
2、示例分析
第一個(gè)示例中,當(dāng)美團(tuán)外賣紅包被分享到微信時(shí),通過微信授權(quán)可以拿到用戶的基本信息(一般是:昵稱、頭像)。這屬于網(wǎng)頁授權(quán)中第二種scope,美團(tuán)外賣需要獲取用戶的基本信息來顯示紅包數(shù)額排行榜,所以該種授權(quán)需要用戶手動(dòng)同意,頁面上的表現(xiàn)就是需要點(diǎn)擊“確認(rèn)登錄”,用戶授權(quán)成功后,美團(tuán)外賣就可以拿到該用戶的基本信息(微信昵稱、微信頭像)。要求填寫手機(jī)號是為了將領(lǐng)取到的紅包關(guān)聯(lián)到該用戶的美團(tuán)外賣賬號(手機(jī)號),可方便進(jìn)入美團(tuán)外賣app直接使用。
(外賣紅包分享到微信)
第二個(gè)示例中,釘釘分享了二維碼到微信群里,掃描后無須授權(quán)登錄直接進(jìn)入了頁面。這屬于網(wǎng)頁授權(quán)中的第一種scope,掃描二維碼后,微信靜默授權(quán)并直接自動(dòng)跳轉(zhuǎn)到邀請頁面,用戶在邀請頁面填寫了手機(jī)號、真實(shí)姓名和驗(yàn)證碼后可加入團(tuán)隊(duì),審核通過之后直接在釘釘app上用該手機(jī)號登錄就可以看見已加入的該團(tuán)隊(duì)。
(釘釘二維碼分享到微信)
微信公眾平臺開發(fā)時(shí)有一個(gè)openID,openID是普通用戶的一個(gè)唯一的標(biāo)識,只針對當(dāng)前的公眾號/H5頁面(外部鏈接)有效。也就是說,同一用戶在和不同的公眾號/外部鏈接產(chǎn)生關(guān)注/消息交互時(shí),該用戶會和不同的公眾號/外部鏈接之間產(chǎn)生聯(lián)系,且建立每個(gè)聯(lián)系時(shí)用戶所擁有的openID是不一樣的;至于這個(gè)openID是用來干什么的,第三點(diǎn)講的很明白:在用戶和公眾號產(chǎn)生消息交互或關(guān)注后事件推送,才能根據(jù)用戶的openID來獲取用戶基本信息的。也就是說只有用戶和外部鏈接/公眾號產(chǎn)生消息交互/關(guān)注后,建立聯(lián)系時(shí)所產(chǎn)生的各個(gè)openID才生效,外部鏈接/公眾號才可以用對應(yīng)用戶其相應(yīng)的openID來獲取用戶基本信息。關(guān)系如圖:
(關(guān)系圖)
該圖為需要手動(dòng)授權(quán)獲取用戶信息的情況,如果不需要獲取用戶信息,直接拿到openID跳轉(zhuǎn)頁面即可
3、關(guān)于特殊場景下的靜默授權(quán)
- 如上,網(wǎng)頁授權(quán)的第一種scope
- 對于已關(guān)注公眾號的用戶,如果用戶從公眾號的會話或者自定義菜單進(jìn)入本公眾號的網(wǎng)頁授權(quán)頁,即使是scope為snsapi_userinfo,也是靜默授權(quán),用戶無感知。所以,平常你從微信號進(jìn)入外部鏈接(H5頁面)從沒讓你授過權(quán)!
二、總結(jié)+優(yōu)化
1、分享外部鏈接到微信,無非就是這么兩種情況
- 無須拿到用戶信息,靜默授權(quán),直接進(jìn)入頁面,比較常見的如公司介紹類H5頁面、下載頁面等;
- 須拿到用戶信息,手動(dòng)授權(quán),確認(rèn)授權(quán)后進(jìn)入頁面,比較常見的如各種外賣紅包;須根據(jù)是否需要用戶信息從而選擇合適的方式。
2、如果有數(shù)據(jù)交互咋辦?
上述情況之后,如果還需要進(jìn)行數(shù)據(jù)的交互,如領(lǐng)取紅包這種,則產(chǎn)品需要考慮加入登錄/注冊,將數(shù)據(jù)綁定到用戶的賬號,方便用戶進(jìn)入app直接使用,否則這數(shù)據(jù)就是幽靈數(shù)據(jù),一旦離開微信,就不知道是誰的了!
3、可以如何優(yōu)化?
其實(shí)你還可以觀察到,領(lǐng)外賣紅包時(shí),只有第一次領(lǐng)取紅包時(shí)才需要進(jìn)行用戶填寫手機(jī)號(登錄/注冊),第二次及其之后再領(lǐng)取紅包則只要經(jīng)過授權(quán)即領(lǐng)取成功,這是因?yàn)榈谝淮翁顚懞?,就將相?yīng)的用戶openID和手機(jī)號信息保存在了本地,這樣之后用戶再進(jìn)入紅包頁面就可以識別出來不用再登錄了。
將信息保存在本地這種情況其實(shí)可以用到外部鏈接的優(yōu)化上,比如釘釘,會發(fā)生多次邀請的情況(邀請進(jìn)入多個(gè)團(tuán)隊(duì)),釘釘保存了第一次加入團(tuán)隊(duì)時(shí)填寫的手機(jī)號信息,所以在第二次及其之后再次打開釘釘分享出來的邀請頁面時(shí),已默認(rèn)填寫好手機(jī)號碼,只需要填寫真實(shí)姓名和驗(yàn)證碼然后點(diǎn)擊“加入團(tuán)隊(duì)”即可。釘釘還可以做的更好,真實(shí)姓名也一起保存了唄,以后就只要填寫驗(yàn)證碼然后加入團(tuán)隊(duì)不就好了!
(釘釘,第二次進(jìn)入)
當(dāng)然釘釘不像外賣紅包第二次及其之后進(jìn)入直接領(lǐng)取紅包那樣可以直接加入團(tuán)隊(duì),因?yàn)獒斸斝枰愦_認(rèn)是不是要加入,這是業(yè)務(wù)需求。
到此結(jié)束,歡迎指正!
作者:小圣(簡書:小圣)
本文由 @小圣 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
小點(diǎn)大用,贊
這么好的文章沒人評論!