小程序分享,看這篇就夠了

官方文檔html

最近在調研小程序的分享能力,本篇文檔主要是調研小程序關於分享方面的玩法,目的是學習小程序在項目應用以及玩法鏈上的擴展。canvas

API層面

onShareAppMessage

小程序若是想對外分享,必須在page裏面定義onShareAppMessage函數,來配置頁面分享轉發相關的信息。小程序

  • 只有定義了此事件處理函數,右上角菜單纔會顯示 「轉發」 按鈕
  • 用戶點擊轉發按鈕的時候會調用
  • 此事件須要 return 一個 Object,用於自定義轉發內容

一個頁面可能會有多個分享,能夠由插入的參數options來判斷具體是由哪一個位置進行分享,從而作不一樣的邏輯判斷。api

return對象的返回函數:數組

若是定義了該事件,又不想經過頁面menu轉發,能夠經過hideShareMenu來隱藏掉bash

注意事項:服務器

  • 轉發後不添加imageUrl的話,將截圖做爲轉發的默認圖片。
  • from 字段能夠經過在轉發成功後調取的 success、complete 來進行對 menu 和 button 的不一樣操做
  • 若是有攜帶 shareTicket 值,會在 success 回調產生,返回結果在 shareTickets 字段中,是一個數組,能夠作必定處理

wx.showShareMenu

通常是用來配置相關的參數,常見的如withShareTicket,用它來獲取羣信息,羣的相關標示。微信

wx.showShareMenu({
  withShareTicket: true
})
複製代碼

wx.hideShareMenu

隱藏menu級別的轉發功能,可是button中還存在着轉發。app

若是先設置 showShareMenu ,而且配置了 withShareTicket,再用 hideShareMenu 方法,經過按鈕轉發,照樣能獲取 shareTicket,以下:ide

wx.showShareMenu({
  withShareTicket: true
})
wx.hideShareMenu({
})
複製代碼

wx.updateShareMenu

更新shareMenu信息須要用update操做哦,這裏須要注意下,通常都是會更新withShareTicket屬性。

wx.getShareInfo

在拿到了shareTicket信息後,能夠由此API獲取轉發詳細信息

wx.getShareInfo({
    shareTicket: res.shareTickets[0],
    success: ...
    fail: ...
})
複製代碼

相關回調的參數

{
    errMsg: "getShareInfo:ok", 
    iv: "gRHeFU+Nhr36RmladCXnRQ==", 
    encryptedData: "IQ/RwZLeQFUGuxv0bBfOrL/KLnXO+bxcyCBru5lB92FkHIg8ae…7TnHwU+rqgerFKvpvS5JbFyh+9liUqyb2bk6/LETYQ+h/FQ=="
}
複製代碼

由iv和encryptedData進行解密,能夠拿到openGId的值。爲當前羣對當前小程序的惟一值。額外還能夠拿到羣名稱等更多的開放數據。

button轉發

頁面內須要轉發時,須要給button組件設置open-type="share",並在觸發的地方判斷來源。

獲取分享連接流程

在小程序中,獲取openGId主要有兩種途徑,也通常圍繞着兩種途徑作分享相關的開發:

  • 當用戶打開withShareTicket的卡片時,能夠在onLauch或者getShareInfo中獲取加密信息,而且傳給服務端得到openGId。
  • 當用戶分享成功後,會在回調裏收到一個shareTicket,而後經過getShareInfo來得到加密信息,得到openGId。

拓展玩法

APP分享到小程序

傳統APP要以小程序卡片的形式分享到微信,須要知足如下幾個條件:

  • 要求發起分享的App與小程序屬於同一微信開放平臺賬號;

  • 支持分享小程序類型消息至好友會話,不支持「分享至朋友圈」 「收藏」;

  • 微信客戶端版本要求:6.5.6及以上微信客戶端版本,若客戶端版本低於6.5.6,小程序類型分享將自動轉成網頁類型分享。開發者必須填寫網頁連接字段,確保低版本客戶端能正常打開網頁連接;

  • 支持分享大圖卡片樣式,自定義圖片建議長寬比是 5:4。6.5.9及以上版本微信客戶端小程序類型分享使用大圖卡片樣式。

  • 支持分享開發版/體驗版小程序,爲支持開發者調試,開發者工具包支持分享開發版/體驗版小程序至微信,開發者可控制分享的小程序版本。

具體流程圖以下:

app分享到小程序

朋友圈打開小程序

在朋友圈中,發佈圖片附帶小程序二維碼,用戶把圖片分享到朋友圈中,看到的一方便可長恩識別在微信中打開小程序。經過這個玩法,實現了把小程序「分享」到朋友圈。

至於圖片的生成,canvas和服務器端生成都是比較成熟的解決方案。

小程序支持打開APP

這個玩法有一個前提:小程序卡片必須是由APP分享出去,才能夠打開APP

功能流程圖以下:

打開app

該途徑能夠做爲小程序對於app的補充:產品能夠經過 App 和小程序實現場景互補。

好比用戶 Sherry 將一個文檔分享給用戶 Kevin,Kevin 能夠在小程序內直接查看。若是須要編輯,則能夠直接打開 App 完成協同處理。這樣一來,小程序不須要作的很重,只需知足基本功能,更多功能由 App 來補充。

case舉例:用戶代打車,用戶A想讓用戶B代打車,用戶A將行程分享給用戶B,用戶B微信打開小程序以後,跳轉美團打車APP完成相關複雜操做。

小程序向公衆號導流

在小程序中,能夠利用一些引導性文案指引用戶點擊進入客服會話頁面,而後客服自動回覆一條公衆號圖文消息,而圖文消息則有引導關注公衆號獲取更多服務的指引文案。(經典用法,可是當心被封

客服會話

小程序和微信卡劵能力結合

比較小衆的玩法:用戶能夠從小程序中快速領取會員卡和優惠券,也能夠從卡包中的會員卡直達小程序。

增長接入途徑:從卡包直接進入(髮卡須要註冊並認證)

用戶卡包
相關文章
相關標籤/搜索