微信小程序「分享至朋友圈」能力,終于來了?。ㄖ?,我相信大部分微信小程序的開發者都是用“分享卡片”的形式,手動調用wx.createCanvasContext生成一張圖片,讓用戶生成圖片保存到相冊,以這種“曲線救國”的形式來實現的,很麻煩。。。。)
就在7月初,我看到了微信小程序的官網有了分享至微信朋友圈的功能上線beta板,目前只能在android手機顯示分享至朋友圈的按鈕,iphone手機暫時不支持,但是android手機分享出來的,iphone手機是可以查看的,不多說,先看一下最終的真機上的展示效果(android和iphone手機)
一、效果
二、代碼實現
onShareTimeline(res){
console.log(res)
return {
title: '測試小程序分享至朋友圈',
path: '../test/test',
imageUrl:'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1594374964481&di=3ceba827e91e126012c43de3887a58c7&imgtype=0&src=http%3A%2F%2Fdmimg.5054399.com%2Fallimg%2Fpkm%2Fpk%2F13.jpg'
}
},
onShareAppMessage: function(ops) {
return {
title: "分享卡片",
path: '../test/test',
}
}
三、需要注意的點
分享到朋友圈(Beta)
從基礎庫 2.11.3 開始支持
此功能為beta版,暫僅在Android平臺支持
可將小程序頁面分享到朋友圈。適用于內容型頁面的分享,不適用于有較多交互的頁面分享。
設置分享狀態
小程序頁面默認不可被分享到朋友圈,開發者需主動設置“分享到朋友圈”。頁面允許被分享到朋友圈,需滿足兩個條件:
- 首先,頁面需設置允許“發送給朋友”。具體參考
Page.onShareAppMessage
接口文檔 - 滿足條件 1 后,頁面需設置允許“分享到朋友圈”,同時可自定義標題、分享圖等。具體參考
Page.onShareTimeline
接口文檔
滿足上述兩個條件的頁面,可被分享到朋友圈。
單頁模式
用戶在朋友圈打開分享的小程序頁面,并不會真正打開小程序,而是進入一個“小程序單頁模式”的頁面,“單頁模式”有以下特點:
- “單頁模式”下,頁面頂部固定有導航欄,標題顯示為分享時的標題。底部固定有操作欄,點擊操作欄的“前往小程序”可打開小程序的當前頁面。頂部導航欄與底部操作欄均不支持自定義樣式。
- “單頁模式”默認運行的是小程序頁面內容,但由于頁面固定有頂部導航欄與底部操作欄,很可能會影響小程序頁面的布局。因此,請開發者特別注意適配“單頁模式”的頁面交互,以實現流暢完整的交互體驗。
- “單頁模式”下,一些組件或接口存在一定限制,詳情見下文單頁模式下的限制章節
頁面適配
可通過判斷場景值等于 1154 的方法來進行頁面適配。另外,在單頁模式下,可設置頂部導航欄與頁面的相交狀態,具體參考 navigationBarFit 配置。
還需留意的是,在單頁模式下,wx.getSystemInfo 接口返回的 safeArea 為整個屏幕空間。
單頁模式下的限制
小程序“單頁模式”適用于純內容展示場景,可實現的交互與接口能力有限,因此存在如下限制:
- 頁面無登錄態,與登錄相關的接口,如
wx.login
均不可用;云開發資源需開啟未登錄訪問方可在單頁模式下使用,詳見未登錄模式。 - 不允許跳轉到其它頁面,包括任何跳小程序頁面、跳其它小程序、跳微信原生頁面
- 不允許橫屏使用
- 若頁面包含 tabBar,tabBar 不會渲染,包括自定義 tabBar
- 本地存儲與小程序普通模式不共用
對于一些會產生交互的組件或接口,在點擊后調用時,會彈 toast 提示“請前往小程序使用完整服務”。為達到良好的用戶體驗,請注意適配單頁模式的接口能力,請勿大量使用被禁用的接口或組件。
需要了解更多,可以具體看看官方:
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html
四、寫在最后的話
1、目前只支持android手機,但iphone手機可以查看
2、有部分的android手機也顯示不了“分享至朋友圈”的按鈕(因為目前知識beta版)
3、不久之后肯定會發布正式版本,到時候iphone和android手機都可以實現,現在小伙伴可以嘗鮮一波。
4、還有一點值得注意的是:不得存在濫用分享違規行為。如強制用戶分享行為;分享立即獲得利益的誘導行為;以及通過明示或暗示的樣式來達到誘導分享目的的行為等。這也是小程序一開始沒推出這個功能的一大原因。