官方轉(zhuǎn)發(fā)示例
onShareAppMessage(Object)
監(jiān)聽(tīng)用戶點(diǎn)擊頁(yè)面內(nèi)轉(zhuǎn)發(fā)按鈕(<button> 組件 open-type="share")或右上角菜單“轉(zhuǎn)發(fā)”按鈕的行為,并自定義轉(zhuǎn)發(fā)內(nèi)容。注意:只有定義了此事件處理函數(shù),右上角菜單才會(huì)顯示“轉(zhuǎn)發(fā)”按鈕
Object 參數(shù)說(shuō)明:
此事件需要 return 一個(gè) Object,用于自定義轉(zhuǎn)發(fā)內(nèi)容,返回內(nèi)容如下:
自定義轉(zhuǎn)發(fā)內(nèi)容
Page({ onShareAppMessage(res) { if (res.from === 'button') { // 來(lái)自頁(yè)面內(nèi)轉(zhuǎn)發(fā)按鈕 console.log(res.target) } return { title: '自定義轉(zhuǎn)發(fā)標(biāo)題', path: '/page/user?id=123' } }})
常規(guī)轉(zhuǎn)發(fā),只需上面示例即可
根據(jù)場(chǎng)景值區(qū)分
App({ onShow(res) { console.log('app---onShow'); console.log(res.scene); //1044是群聊,1007是私聊 }})
wx.onAppShow(function callback)
基礎(chǔ)庫(kù) 2.1.2 開(kāi)始支持,低版本需做兼容處理
監(jiān)聽(tīng)小程序切前臺(tái)事件。該事件與 App.onShow 的回調(diào)參數(shù)一致
Object res
referrerInfo 的結(jié)構(gòu)
返回有效 referrerInfo 的場(chǎng)景
注意
部分版本在無(wú)referrerInfo的時(shí)候會(huì)返回 undefined,建議使用 options.referrerInfo && options.referrerInfo.appId 進(jìn)行判斷
小程序分享票據(jù)shareTickets
通常開(kāi)發(fā)者希望轉(zhuǎn)發(fā)出去的小程序被二次打開(kāi)的時(shí)候能夠獲取到一些信息,例如群的標(biāo)識(shí)?,F(xiàn)在通過(guò)調(diào)用 wx.showShareMenu 并且設(shè)置 withShareTicket 為 true ,當(dāng)用戶將小程序轉(zhuǎn)發(fā)到任一群聊之后,此轉(zhuǎn)發(fā)卡片在群聊中被其他用戶打開(kāi)時(shí),可以在 App.onLaunch 或 App.onShow 獲取到一個(gè) shareTicket。通過(guò)調(diào)用 wx.getShareInfo() 接口傳入此 shareTicket 可以獲取到轉(zhuǎn)發(fā)信息。
//分享前share.jsPage({ onLoad: function () { wx.showShareMenu({ withShareTicket: true }) }})//分享后app.jsApp({ onShow(res) { console.log('app---onShow'); console.log(res.shareTicket); }})
注意:注意:注意
鑒于官方“分享監(jiān)聽(tīng)”能力調(diào)整,網(wǎng)上90%的滯后代碼,誤人子弟,在此必須給自己一個(gè)小要求,定期復(fù)讀自己的文章,根據(jù)當(dāng)時(shí)能力水平,提高文章質(zhì)量,修正錯(cuò)誤和滯后信息(吐槽一下度娘已死,沒(méi)人打我吧?打我就刪除)
類似如下代碼,現(xiàn)在已不支持回調(diào)
此次調(diào)整可能影響到三種分享功能的用法
第一種:判斷用戶是否分享成功,進(jìn)而給予用戶獎(jiǎng)勵(lì)。
例如:小程序提示用戶“分享到5個(gè)群,可以獲得一張20元的優(yōu)惠券”。
這類誘導(dǎo)用戶分享的行為是我們平臺(tái)所不倡導(dǎo)的,后續(xù)將沒(méi)有辦法實(shí)現(xiàn)。
第二種:分享完成后變更當(dāng)前的頁(yè)面狀態(tài)
例如:贈(zèng)送禮品場(chǎng)景下,用戶點(diǎn)擊“贈(zèng)送”按鈕,將禮品分享出去,分享成功后,界面展示“等待領(lǐng)取”。
這類場(chǎng)景,我們建議可以適當(dāng)調(diào)整交互方案。例如在分享后繼續(xù)保留“贈(zèng)送”按鈕,但在頁(yè)面上提示用戶一個(gè)禮品只能被一人領(lǐng)取,重復(fù)贈(zèng)送無(wú)效。
第三種:通過(guò)用戶分享之后的 shareTicket 獲取群唯一標(biāo)識(shí) openGId ,以顯示對(duì)應(yīng)群的相關(guān)信息。
例如:通過(guò)分享小程序到某個(gè)群里,可以查看該群內(nèi)成員的排行榜。
此次調(diào)整后,用戶分享完成后無(wú)法立刻顯示該群的排行榜信息,但仍可在用戶從群消息點(diǎn)擊進(jìn)入小程序時(shí)顯示該群的排行榜信息。
詳情請(qǐng)查看分享監(jiān)聽(tīng)能力調(diào)整
轉(zhuǎn)發(fā)動(dòng)態(tài)消息
從基礎(chǔ)庫(kù) 2.4.0 開(kāi)始,支持轉(zhuǎn)發(fā)動(dòng)態(tài)消息。動(dòng)態(tài)消息對(duì)比普通消息,有以下特點(diǎn):
簡(jiǎn)要步驟如下
像拼團(tuán)這樣的活動(dòng),可以考慮優(yōu)化成動(dòng)態(tài)消息,需要后端配合,實(shí)戰(zhàn)的時(shí)再補(bǔ)充
總結(jié)
分享監(jiān)聽(tīng)能力調(diào)整后,對(duì)于分享的騷操作基本在App.onShow中進(jìn)行,相當(dāng)于授權(quán)那樣,必須打開(kāi)轉(zhuǎn)發(fā)消息才能獲取轉(zhuǎn)發(fā)詳情,這也是符合設(shè)計(jì)準(zhǔn)則的
可以看出,不管是從設(shè)計(jì)準(zhǔn)則,還是用戶隱私,微信都在向著IOS看齊,黑暗法則已過(guò)去,我們也該注重規(guī)范和隱私了
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選