微信小游戲開發(fā)文檔-小游戲轉(zhuǎn)發(fā)開放能力開發(fā)教程

2018-10-26 19:22 更新

轉(zhuǎn)發(fā)


用戶在使用微信小游戲過程中,可轉(zhuǎn)發(fā)消息給其他用戶或群聊。

轉(zhuǎn)發(fā)菜單

點(diǎn)擊右上角按鈕,會(huì)彈出菜單,菜單中的“轉(zhuǎn)發(fā)”選項(xiàng)默認(rèn)不展示。通過 wx.showShareMenu()wx.hideShareMenu() 可動(dòng)態(tài)顯示、隱藏這個(gè)選項(xiàng)。

被動(dòng)轉(zhuǎn)發(fā)

用戶點(diǎn)擊右上角菜單中的“轉(zhuǎn)發(fā)”選項(xiàng)后,會(huì)觸發(fā)轉(zhuǎn)發(fā)事件,如果小游戲通過 wx.onShareAppMessage() 監(jiān)聽了這個(gè)事件,可通過返回自定義轉(zhuǎn)發(fā)參數(shù)來修改轉(zhuǎn)發(fā)卡片的內(nèi)容,否則使用默認(rèn)內(nèi)容。

wx.onShareAppMessage(function () {
  // 用戶點(diǎn)擊了“轉(zhuǎn)發(fā)”按鈕
  return {
    title: '轉(zhuǎn)發(fā)標(biāo)題'
  }
})

主動(dòng)轉(zhuǎn)發(fā)

游戲內(nèi)可通過 wx.shareAppMessage()接口直接調(diào)起轉(zhuǎn)發(fā)界面,與被動(dòng)轉(zhuǎn)發(fā)類似,可以自定義轉(zhuǎn)發(fā)卡片內(nèi)容。

wx.shareAppMessage({
  title: '轉(zhuǎn)發(fā)標(biāo)題'
})

使用 Canvas 內(nèi)容作為轉(zhuǎn)發(fā)圖片

如果不指定轉(zhuǎn)發(fā)圖片,默認(rèn)會(huì)顯示一個(gè)小程序的 logo。如果希望轉(zhuǎn)發(fā)的時(shí)候顯示 Canvas 的內(nèi)容,可以使用 Canvas.toTempFilePath()Canvas.toTempFilePathSync() 來生成一張本地圖片,然后把圖片路徑傳給 imageUrl 參數(shù)。

轉(zhuǎn)發(fā)出來的消息卡片中,圖片的最佳顯示比例是 5:4。

wx.onShareAppMessage(function () {
  return {
    title: '轉(zhuǎn)發(fā)標(biāo)題',
    imageUrl: canvas.toTempFilePathSync({
      destWidth: 500,
      destHeight: 400
    })
  }
})

withShareTicket 模式

通過 wx.updateShareMenu 接口可修改轉(zhuǎn)發(fā)屬性。如果設(shè)置 withShareTickettrue ,會(huì)有以下效果

  1. 選擇聯(lián)系人的時(shí)候只能選擇一個(gè)目標(biāo),不能多選
  2. 消息被轉(zhuǎn)發(fā)出去之后,在會(huì)話窗口中無法被長(zhǎng)按二次轉(zhuǎn)發(fā)
  3. 消息轉(zhuǎn)發(fā)的目標(biāo)如果是一個(gè)群聊,則
    1. 會(huì)在轉(zhuǎn)發(fā)成功的時(shí)候獲得一個(gè) shareTicket
    2. 每次用戶從這個(gè)消息卡片進(jìn)入的時(shí)候,也會(huì)獲得一個(gè) shareTicket,通過調(diào)用 wx.getShareInfo() 接口傳入 shareTicket 可以獲取群相關(guān)信息

修改這個(gè)屬性后,同時(shí)對(duì)主動(dòng)轉(zhuǎn)發(fā)和被動(dòng)轉(zhuǎn)發(fā)生效。

// 設(shè)置 withShareTicket: true
wx.updateShareMenu({
  withShareTicket: true
})


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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)