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

2022-05-11 15:43 更新

轉(zhuǎn)發(fā)

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

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

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

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

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

使用指引

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

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

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

提示:

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

動態(tài)消息

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

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

消息屬性

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

狀態(tài)

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

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

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

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

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

使用方法

一、創(chuàng)建 activity_id

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

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

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

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

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

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

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

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

低版本兼容

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


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號