最近在調(diào)研小程序的分享能力,本篇文檔主要是調(diào)研小程序關(guān)于分享方面的玩法,目的是學(xué)習(xí)小程序在項(xiàng)目應(yīng)用以及玩法鏈上的擴(kuò)展。
小程序如果想對(duì)外分享,必須在 page 里面定義 onShareAppMessage 函數(shù),來(lái)配置頁(yè)面分享轉(zhuǎn)發(fā)相關(guān)的信息。
一個(gè)頁(yè)面可能會(huì)有多個(gè)分享,可以由插入的參數(shù)options來(lái)判斷具體是由哪個(gè)位置進(jìn)行分享,從而做不同的邏輯判斷。
return對(duì)象的返回函數(shù):
如果定義了該事件,又不想通過(guò)頁(yè)面menu轉(zhuǎn)發(fā),可以通過(guò) hideShareMenu來(lái)隱藏掉
注意事項(xiàng):
一般是用來(lái)配置相關(guān)的參數(shù),常見(jiàn)的如 withShareTicket ,用它來(lái)獲取群信息,群的相關(guān)標(biāo)示。
wx.showShareMenu({ withShareTicket: true }) 復(fù)制代碼
隱藏menu級(jí)別的轉(zhuǎn)發(fā)功能,但是button中還存在著轉(zhuǎn)發(fā)。
如果先設(shè)置 showShareMenu ,并且配置了 withShareTicket,再用 hideShareMenu 方法,通過(guò)按鈕轉(zhuǎn)發(fā),照樣能獲取 shareTicket,如下:
wx.showShareMenu({ withShareTicket: true }) wx.hideShareMenu({ }) 復(fù)制代碼
更新shareMenu信息需要用update操作哦,這里需要注意下,一般都是會(huì)更新 withShareTicket 屬性。
在拿到了shareTicket信息后,可以由此API獲取轉(zhuǎn)發(fā)詳細(xì)信息
wx.getShareInfo({ shareTicket: res.shareTickets[0], success: ... fail: ... }) 復(fù)制代碼
相關(guān)回調(diào)的參數(shù)
{ errMsg: "getShareInfo:ok", iv: "gRHeFU+Nhr36RmladCXnRQ==", encryptedData: "IQ/RwZLeQFUGuxv0bBfOrL/KLnXO+bxcyCBru5lB92FkHIg8ae…7TnHwU+rqgerFKvpvS5JbFyh+9liUqyb2bk6/LETYQ+h/FQ==" } 復(fù)制代碼
由iv和encryptedData進(jìn)行解密,可以拿到openGId的值。為當(dāng)前群對(duì)當(dāng)前小程序的唯一值。額外還可以拿到群名稱等更多的開(kāi)放數(shù)據(jù)。
頁(yè)面內(nèi)需要轉(zhuǎn)發(fā)時(shí),需要給 button 組件設(shè)置 open-type="share" ,并在觸發(fā)的地方判斷來(lái)源。
在小程序中,獲取openGId主要有兩種途徑,也一般圍繞著兩種途徑做分享相關(guān)的開(kāi)發(fā):
傳統(tǒng)APP要以小程序卡片的形式分享到微信,需要滿足以下幾個(gè)條件:
要求發(fā)起分享的App與小程序?qū)儆谕晃⑿砰_(kāi)放平臺(tái)帳號(hào);
支持分享小程序類型消息至好友會(huì)話,不支持“分享至朋友圈” “收藏”;
微信客戶端版本要求:6.5.6及以上微信客戶端版本,若客戶端版本低于6.5.6,小程序類型分享將自動(dòng)轉(zhuǎn)成網(wǎng)頁(yè)類型分享。開(kāi)發(fā)者必須填寫網(wǎng)頁(yè)鏈接字段,確保低版本客戶端能正常打開(kāi)網(wǎng)頁(yè)鏈接;
支持分享大圖卡片樣式,自定義圖片建議長(zhǎng)寬比是 5:4。6.5.9及以上版本微信客戶端小程序類型分享使用大圖卡片樣式。
支持分享開(kāi)發(fā)版/體驗(yàn)版小程序,為支持開(kāi)發(fā)者調(diào)試,開(kāi)發(fā)者工具包支持分享開(kāi)發(fā)版/體驗(yàn)版小程序至微信,開(kāi)發(fā)者可控制分享的小程序版本。
具體流程圖如下:
在朋友圈中,發(fā)布圖片附帶小程序二維碼,用戶把圖片分享到朋友圈中,看到的一方即可長(zhǎng)恩識(shí)別在微信中打開(kāi)小程序。 通過(guò)這個(gè)玩法,實(shí)現(xiàn)了把小程序「分享」到朋友圈。
至于圖片的生成,canvas和服務(wù)器端生成都是比較成熟的解決方案。
這個(gè)玩法有一個(gè)前提:小程序卡片必須是由APP分享出去,才可以打開(kāi)APP
功能流程圖如下:
該途徑可以作為小程序?qū)τ赼pp的補(bǔ)充: 產(chǎn)品可以通過(guò) App 和小程序?qū)崿F(xiàn)場(chǎng)景互補(bǔ)。
比如用戶 Sherry 將一個(gè)文檔分享給用戶 Kevin,Kevin 可以在小程序內(nèi)直接查看。如果需要編輯,則可以直接打開(kāi) App 完成協(xié)同處理。這樣一來(lái),小程序不需要做的很重,只需滿足基本功能,更多功能由 App 來(lái)補(bǔ)充。
case舉例:用戶代打車,用戶A想讓用戶B代打車,用戶A將行程分享給用戶B,用戶B微信打開(kāi)小程序之后,跳轉(zhuǎn)美團(tuán)打車APP完成相關(guān)復(fù)雜操作。
在小程序中,可以利用一些引導(dǎo)性文案指引用戶點(diǎn)擊進(jìn)入客服會(huì)話頁(yè)面,然后客服自動(dòng)回復(fù)一條公眾號(hào)圖文消息,而圖文消息則有引導(dǎo)關(guān)注公眾號(hào)獲取更多服務(wù)的指引文案。( 經(jīng)典用法,但是小心被封 )
工作日 8:30-12:00 14:30-18:00
周六及部分節(jié)假日提供值班服務(wù)