微信小程序 轉(zhuǎn)發(fā)

2022-05-11 15:43 更新

轉(zhuǎn)發(fā)

獲取更多轉(zhuǎn)發(fā)信息

通常開發(fā)者希望轉(zhuǎn)發(fā)出去的小程序被二次打開的時(shí)候能夠獲取到一些信息,例如群的標(biāo)識(shí)。現(xiàn)在通過(guò)調(diào)用 wx.showShareMenu 并且設(shè)置 withShareTicket 為 true ,當(dāng)用戶將小程序轉(zhuǎn)發(fā)到任一群聊之后,此轉(zhuǎn)發(fā)卡片在群聊中被其他用戶打開時(shí),可以在 App.onLaunch 或 App.onShow 獲取到一個(gè) shareTicket。通過(guò)調(diào)用 wx.getShareInfo 接口傳入此 shareTicket 可以獲取到轉(zhuǎn)發(fā)信息。

頁(yè)面內(nèi)發(fā)起轉(zhuǎn)發(fā)

基礎(chǔ)庫(kù) 1.2.0 開始支持,低版本需做兼容處理。

通過(guò)給 button 組件設(shè)置屬性 open-type="share",可以在用戶點(diǎn)擊按鈕后觸發(fā) Page.onShareAppMessage 事件,相關(guān)組件:button。

使用指引

轉(zhuǎn)發(fā)按鈕,旨在幫助用戶更流暢地與好友分享內(nèi)容和服務(wù)。轉(zhuǎn)發(fā),應(yīng)是用戶自發(fā)的行為,且在需要時(shí)觸手可及。開發(fā)者在使用時(shí)若遵從以下指引,會(huì)得到更佳的用戶體驗(yàn)。

  1. 含義清晰:明確、一目了然的圖形按鈕,將為用戶減少理解的時(shí)間。在我們的資源下載中心,你可以找到這樣的按鈕素材并直接使用?;蛘吣憧梢愿鶕?jù)自己業(yè)務(wù)的設(shè)計(jì)風(fēng)格,靈活設(shè)計(jì)含義清晰的按鈕的樣式。當(dāng)然,你也可以直接使用帶文案的按鈕,“轉(zhuǎn)發(fā)給好友”,它也足夠明確。
  2. 方便點(diǎn)擊:按鈕點(diǎn)擊熱區(qū)不宜過(guò)小,亦不宜過(guò)大。同時(shí),轉(zhuǎn)發(fā)按鈕與其他按鈕一樣,熱區(qū)也不宜過(guò)密,以免用戶誤操作。
  3. 按需出現(xiàn):并非所有頁(yè)面都適合放置轉(zhuǎn)發(fā)按鈕,涉及用戶隱私的非公開內(nèi)容,或可能打斷用戶完成當(dāng)前操作體驗(yàn)的場(chǎng)景,該功能并不推薦使用。同時(shí),由于轉(zhuǎn)發(fā)過(guò)程中,我們將截取用戶屏幕圖像作為配圖,因此,需要注意幫助用戶屏蔽個(gè)人信息。
  4. 尊重意愿:理所當(dāng)然,并非所有的用戶,都喜歡與朋友分享你的小程序。因此,它不應(yīng)該成為一個(gè)誘導(dǎo)或強(qiáng)制行為,如轉(zhuǎn)發(fā)后才能解鎖某項(xiàng)功能等。請(qǐng)注意,這類做法不僅不被推薦,還可能違反我們的《運(yùn)營(yíng)規(guī)范》,我們強(qiáng)烈建議你在使用前閱讀這部分內(nèi)容。

以上,我們陳列了最重要的幾點(diǎn),如果你有時(shí)間,可以完整瀏覽《設(shè)計(jì)指南》,相信會(huì)有更多的收獲。

提示:

  1. 不自定義轉(zhuǎn)發(fā)圖片的情況下,默認(rèn)會(huì)取當(dāng)前頁(yè)面,從頂部開始,高度為 80% 屏幕寬度的圖像作為轉(zhuǎn)發(fā)圖片。
  2. 轉(zhuǎn)發(fā)的調(diào)試支持請(qǐng)查看 普通轉(zhuǎn)發(fā)的調(diào)試支持 和 帶 shareTicket 的轉(zhuǎn)發(fā)
  3. 只有轉(zhuǎn)發(fā)到群聊中打開才可以獲取到 shareTickets 返回值,單聊沒(méi)有 shareTickets
  4. shareTicket 僅在當(dāng)前小程序生命周期內(nèi)有效
  5. 由于策略變動(dòng),小程序群相關(guān)能力進(jìn)行調(diào)整,開發(fā)者可先使用 wx.getShareInfo 接口中的群 ID 進(jìn)行功能開發(fā)。
  6. 微信7.0.12開始,支持群主轉(zhuǎn)發(fā)小程序時(shí)同時(shí)把消息設(shè)為該群的群待辦消息,群待辦消息會(huì)以氣泡形式出現(xiàn)在聊天窗口底部。默認(rèn)每次轉(zhuǎn)發(fā)一個(gè)群待辦消息,都會(huì)生成一個(gè)待辦消息氣泡。通過(guò) wx.updateShareMenu 接口修改toDoActivityId屬性可以把多個(gè)待辦消息聚合為同一個(gè),即轉(zhuǎn)發(fā)相同toDoActivityId的群待辦消息,只會(huì)出現(xiàn)一個(gè)待辦消息氣泡。toDoActivityId需要在轉(zhuǎn)發(fā)前通過(guò) updatableMessage.createActivityId 接口創(chuàng)建。

動(dòng)態(tài)消息

從基礎(chǔ)庫(kù) 2.4.0 開始,支持轉(zhuǎn)發(fā)動(dòng)態(tài)消息。動(dòng)態(tài)消息對(duì)比普通消息,有以下特點(diǎn):

  1. 消息發(fā)出去之后,開發(fā)者可以通過(guò)后臺(tái)接口修改部分消息內(nèi)容。
  2. 消息有對(duì)應(yīng)的提醒按鈕,用戶點(diǎn)擊提醒按鈕可以訂閱提醒,開發(fā)者可以通過(guò)后臺(tái)修改消息狀態(tài)并推送一次提醒消息給訂閱了提醒的用戶

消息屬性

動(dòng)態(tài)消息有狀態(tài)、文字內(nèi)容、文字顏色。

狀態(tài)

消息有兩個(gè)狀態(tài),分別有其對(duì)應(yīng)的文字內(nèi)容和顏色。其中狀態(tài) 0 可以轉(zhuǎn)移到狀態(tài) 0 和 1,狀態(tài) 1 無(wú)法再轉(zhuǎn)移。

狀態(tài) 文字內(nèi)容 顏色 允許轉(zhuǎn)移的狀態(tài)
0 "成員正在加入,當(dāng)前 {member_count}/{room_limit} 人" #FA9D39 0, 1
1 "已開始" #CCCCCC 無(wú)

狀態(tài)參數(shù)

每個(gè)狀態(tài)轉(zhuǎn)移的時(shí)候可以攜帶參數(shù),具體參數(shù)說(shuō)明如下。

參數(shù) 類型 說(shuō)明
member_count string 狀態(tài) 0 時(shí)有效,文字內(nèi)容模板中 member_count 的值
room_limit string 狀態(tài) 0 時(shí)有效,文字內(nèi)容模板中 room_limit 的值
path string 狀態(tài) 1 時(shí)有效,點(diǎn)擊「進(jìn)入」啟動(dòng)小程序時(shí)使用的路徑。對(duì)于小游戲,沒(méi)有頁(yè)面的概念,可以用于傳遞查詢字符串(query),如 "?foo=bar"
version_type string 狀態(tài) 1 時(shí)有效,點(diǎn)擊「進(jìn)入」啟動(dòng)小程序時(shí)使用的版本。有效參數(shù)值為:develop(開發(fā)版),trial(體驗(yàn)版),release(正式版)

使用方法

一、創(chuàng)建 activity_id

每條動(dòng)態(tài)消息可以理解為一個(gè)活動(dòng),活動(dòng)發(fā)起前需要通過(guò) updatableMessage.createActivityId 接口創(chuàng)建 activity_id。后續(xù)轉(zhuǎn)發(fā)動(dòng)態(tài)消息以及更新動(dòng)態(tài)消息都需要傳入這個(gè) activity_id。

活動(dòng)的默認(rèn)有效期是 24 小時(shí)?;顒?dòng)結(jié)束后,消息內(nèi)容會(huì)變成統(tǒng)一的樣式:

  • 文字內(nèi)容:“已結(jié)束”
  • 文字顏色:#00ff00

二、在轉(zhuǎn)發(fā)之前聲明消息類型為動(dòng)態(tài)消息

通過(guò)調(diào)用 wx.updateShareMenu 接口,傳入 isUpdatableMessage: true,以及 templateInfo、activityId 參數(shù)。其中 activityId 從步驟一中獲得。

wx.updateShareMenu({
  withShareTicket: true,
  isUpdatableMessage: true,
  activityId: '', // 活動(dòng) ID
  templateInfo: {
    parameterList: [{
      name: 'member_count',
      value: '1'
    }, {
      name: 'room_limit',
      value: '3'
    }]
  }
})

三、修改動(dòng)態(tài)消息內(nèi)容

動(dòng)態(tài)消息發(fā)出去之后,可以通過(guò) updatableMessage.setUpdatableMsg 修改消息內(nèi)容。

低版本兼容

對(duì)于不支持動(dòng)態(tài)消息的客戶端版本,收到動(dòng)態(tài)消息后會(huì)展示成普通消息


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)