產品知識分享 外部鏈結分享到微信的邏輯

2022-09-25 08:24:08 字數 2172 閱讀 5609

分享給需要的產品!如果你剛接觸微信開發但不懂技術,或從未接觸但想了解,那就看看吧!

一、如何做好外部鏈結分享到微信呢?

你的微信群裡是不是到處都是分享的鏈結? 你是否想過為什麼從外部app分享到微信的文章你直接點選就可以看?而在搶外賣紅包時總是要彈出登入授權頁面,然後還要求你填寫手機號? 你是否思考過其中的邏輯?

本篇文章主要就幾個示例展開講述,最後提出優化方案。

1、先舉幾個示例

1)從美團外賣app處分享乙個紅包到微信中,使用者在第一次領取紅包之前,先得拿到微信授權確認登入後,再填寫手機號,才能領取成功

2)從釘釘app處分享***到微信群裡用以邀請成員加入公司團隊 ,掃瞄***後無須微信授權直接進入邀請頁amjjgwnofs面,填寫個人相關資訊後,加入團隊

先來一堆微信公眾平台開發文件說明

2、示例分析

第乙個示例中,當美團外賣紅包被分享到微信時,通過微信授權可以拿到使用者amjjgwnofs的基本資訊(一般是:暱稱、頭像)。這屬於網頁授權中第二種scope,美團外賣需要獲取使用者的基本資訊來顯示紅包數額排行榜,所以該種授權需要使用者手動同意,頁面上的表現就是需要點選「確認登入」,使用者授權成功後,美團外賣就可以拿到該使用者的基本資訊(微信暱稱、微信頭像)。要求填寫手機號是為了將領取到的紅包關聯到該使用者的美團外賣賬號(手機號),可方便進入美團外賣app直接使用。

外賣紅包分享到微信

第二個示例中,釘釘分享了***到微信群裡,掃瞄後無須授權登入直接進入了頁面。這屬於網頁授權中的第一種scope,掃瞄***後,微信靜默授權並直接自動跳轉到邀請頁面,使用者在邀請頁面填寫了手機號、真實姓名和驗證碼後可加入團隊,審核通過之後直接在釘釘app上用該手機號登入就可以看見已加入的該團隊。

釘釘***分享到微信

微信公眾平台開發時有乙個openid,openid是普通使用者的乙個唯一的標識,只針對當前的***/h5頁面(外部鏈結)有效。也就是說,同一使用者在和不同的***/外部鏈結產生關注/訊息互動時,該使用者會和不同的***/外部鏈結之間產生聯絡,且建立每個聯絡時使用者所擁有的openid是不一樣的;至於這個openid是用來幹什麼的,第三點講的很明白:在使用者和***產生訊息互動或關注後事件推送,才能根據使用者的openid來獲取使用者基本資訊的。也就是說只有使用者和外部鏈結/***產生訊息互動/關注後,建立聯絡時所產生的各個openid才生效,外部鏈結/***才可以用對應使用者其相應的openid來獲取使用者基本資訊。關係如圖:

關係圖該圖為需要手動授權獲取使用者資訊的情況,如果不需要獲取使用者資訊,直接拿到openid跳轉頁面即可

3、關於特殊場景下的靜默授權

1)如上,網頁授權的第一種scope

2)對於已關注***的使用者,如果使用者從***的會話或者自定義選單進入本***的網頁授權頁,即使是scope為snsapi_userinfo,也是靜默授權,使用者無感知。所以,平常你從***進入外部鏈結(h5頁面)從沒讓你授過權!

二、總結+優化

1、分享外部鏈結到微信,無非就是這麼兩種情況

1)無須拿到使用者資訊,靜默授權,直接進入頁面,比較常見的如公司介紹類h5頁面、**頁面等;

2)須程式設計客棧拿到使用者資訊,手動授權,確認授權後進入頁面,比較常見的如各種外賣紅包;須根據是否需要使用者資訊從而www.cppcns.com選擇合適的方式。

2、如果有資料互動咋辦?

上述情況之後,如果還需要進行資料的互動,如領取紅包這種,則產品需要考慮加入登入/註冊,將資料繫結到使用者的賬號,方便使用者進入app直接使用,否則這資料就是幽靈資料,一旦離開微信,就不知道是誰的了!

3、可以如何優化?

其實你還可以觀察到,領外賣紅包時,只有第一次領取紅包時才需要進行使用者填寫手機號(登入/註冊),第二次及其之後再領取紅包則只要經過授權即領取成功,這是因為第一次填寫後,就將相應的使用者openid和手機號資訊儲存在了本地,這樣之後使用者再進入紅包頁面就可以識別出來不用再登入了。

將資訊儲存在本地這種情況其實可以用到外部鏈結的優化上,比如釘釘,會發生多次邀請的情況(邀請進入多個團隊),釘釘儲存了第一次加入團隊時填寫的手機號資訊,所以在第二次及其之後再次開啟釘釘分享出來的邀請頁面時,已預設填寫好手機號碼,只需要填寫真實姓名和驗證碼然後點選「加入團隊」即可。釘釘還可以做的更好,真實姓名也一起儲存了唄,以後就只要填寫驗證碼然後加入團隊不就好了!

釘釘,第二次進入

當然釘釘不像外賣紅包第二次及amjjgwnofs其之後進入直接領取紅包那樣可以直接加入團隊,因為釘釘需要你確認是不是要加入,這是業務需求。

到此結束,歡迎指正!

本文位址:

微信jssdk實現分享到微信

可以看到我的賬號是訂閱號而且是未認證的 因為我專案中用的賬號是公司的號,我現在只是以我自己的號 簡單說一下。你自己需要的賬號是已經認證的 據說要花300元,好貴。然後看一下左邊選單的介面許可權裡面的分享介面是否已經授權了 同樣的我的是未獲得的 因為我是以我的為例子的 我實際上用的是公司的號不是我自己...

微信分享(鏈結不正確)

所以在分享的時候要判斷一下鏈結裡面是否存在cookie,不存在就在分享的鏈結裡面拼上缺少的引數,就可以了。例如 if gpc from shop qrcode gpc shopid 0 設定分享引數 share array title item title link w siteurl 分享鏈結 i...

微信分享非安全網域名稱鏈結導致分享失敗

詳細參考 我的解決思路是 這是分享的 title shtitle,分享標題desc shdesc,分享描述link link,分享鏈結imgurl urlimg,分享圖示 type 分享型別,music video或link,不填預設為link dataurl 如果type是music或video,...