今天小編給大家分享一下小程序怎么實現(xiàn)轉(zhuǎn)發(fā)的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
成都創(chuàng)新互聯(lián)是一家專業(yè)提供玉溪企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為玉溪眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。轉(zhuǎn)發(fā)的意義
轉(zhuǎn)發(fā)即是分享,分享帶動了事物去中心化,實現(xiàn)網(wǎng)絡(luò)化,最終走向云處理化
通過微信平臺,轉(zhuǎn)發(fā)即是聊天
流量時代,轉(zhuǎn)發(fā)即是引流
官方轉(zhuǎn)發(fā)示例
onShareAppMessage(Object)
監(jiān)聽用戶點擊頁面內(nèi)轉(zhuǎn)發(fā)按鈕(
Object 參數(shù)說明:
此事件需要 return 一個 Object,用于自定義轉(zhuǎn)發(fā)內(nèi)容,返回內(nèi)容如下:
自定義轉(zhuǎn)發(fā)內(nèi)容
Page({ onShareAppMessage(res) { if (res.from === 'button') { // 來自頁面內(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ā),只需上面示例即可
在onShareAppMessage中定義轉(zhuǎn)發(fā)內(nèi)容和必要參數(shù),如?id=123
在相應(yīng)頁面的onLoad(Object query)中可以獲取
根據(jù)場景值區(qū)分
對于小程序,可以在 App 的 onLaunch 和 onShow,或wx.getLaunchOptionsSync 中獲取場景值
由于onLaunch全局只觸發(fā)一次和熱啟動的原因,在onShow中獲取、設(shè)置相關(guān)參數(shù)比較合理,尤其是轉(zhuǎn)發(fā),從微信消息過來,必然會觸發(fā)onShow
通過app.onShow回調(diào),獲取場景值
App({ onShow(res) { console.log('app---onShow'); console.log(res.scene); //1044是群聊,1007是私聊 } })
wx.onAppShow(function callback)
基礎(chǔ)庫 2.1.2 開始支持,低版本需做兼容處理
監(jiān)聽小程序切前臺事件。該事件與 App.onShow 的回調(diào)參數(shù)一致
Object res
referrerInfo 的結(jié)構(gòu)
返回有效 referrerInfo 的場景
注意
部分版本在無referrerInfo的時候會返回 undefined,建議使用 options.referrerInfo && options.referrerInfo.appId 進(jìn)行判斷
小程序分享票據(jù)shareTickets
通常開發(fā)者希望轉(zhuǎn)發(fā)出去的小程序被二次打開的時候能夠獲取到一些信息,例如群的標(biāo)識?,F(xiàn)在通過調(diào)用 wx.showShareMenu 并且設(shè)置 withShareTicket 為 true ,當(dāng)用戶將小程序轉(zhuǎn)發(fā)到任一群聊之后,此轉(zhuǎn)發(fā)卡片在群聊中被其他用戶打開時,可以在 App.onLaunch 或 App.onShow 獲取到一個 shareTicket。通過調(diào)用 wx.getShareInfo() 接口傳入此 shareTicket 可以獲取到轉(zhuǎn)發(fā)信息。
和場景值scene一樣,shareTicket也是在App.onShow中獲取比較合理
必須在分享前調(diào)用wx.showShareMenu方法,否則不會帶分享票據(jù)
//分享前share.js Page({ onLoad: function () { wx.showShareMenu({ withShareTicket: true }) } }) //分享后app.js App({ onShow(res) { console.log('app---onShow'); console.log(res.shareTicket); } })
只有分享到任一群聊,shareTicket才會有值,否則是undefined
shareTicket也可以用來區(qū)分轉(zhuǎn)發(fā)消息的場景
shareTicket主要用來獲取轉(zhuǎn)發(fā)詳情,傳入wx.getShareInfo()中獲取加密數(shù)據(jù),需要后端配合,返回解密數(shù)據(jù)
注意:注意:注意
鑒于官方“分享監(jiān)聽”能力調(diào)整,網(wǎng)上90%的滯后代碼,誤人子弟,在此必須給自己一個小要求,定期復(fù)讀自己的文章,根據(jù)當(dāng)時能力水平,提高文章質(zhì)量,修正錯誤和滯后信息(吐槽一下度娘已死,沒人打我吧?打我就刪除)
類似如下代碼,現(xiàn)在已不支持回調(diào)
此次調(diào)整可能影響到三種分享功能的用法
第一種:判斷用戶是否分享成功,進(jìn)而給予用戶獎勵。
例如:小程序提示用戶“分享到5個群,可以獲得一張20元的優(yōu)惠券”。
這類誘導(dǎo)用戶分享的行為是我們平臺所不倡導(dǎo)的,后續(xù)將沒有辦法實現(xiàn)。
第二種:分享完成后變更當(dāng)前的頁面狀態(tài)
例如:贈送禮品場景下,用戶點擊“贈送”按鈕,將禮品分享出去,分享成功后,界面展示“等待領(lǐng)取”。
這類場景,我們建議可以適當(dāng)調(diào)整交互方案。例如在分享后繼續(xù)保留“贈送”按鈕,但在頁面上提示用戶一個禮品只能被一人領(lǐng)取,重復(fù)贈送無效。
第三種:通過用戶分享之后的 shareTicket 獲取群標(biāo)識 openGId ,以顯示對應(yīng)群的相關(guān)信息。
例如:通過分享小程序到某個群里,可以查看該群內(nèi)成員的排行榜。
此次調(diào)整后,用戶分享完成后無法立刻顯示該群的排行榜信息,但仍可在用戶從群消息點擊進(jìn)入小程序時顯示該群的排行榜信息。
詳情請查看分享監(jiān)聽能力調(diào)整
轉(zhuǎn)發(fā)動態(tài)消息
從基礎(chǔ)庫 2.4.0 開始,支持轉(zhuǎn)發(fā)動態(tài)消息。動態(tài)消息對比普通消息,有以下特點:
消息發(fā)出去之后,開發(fā)者可以通過后臺接口修改部分消息內(nèi)容
消息有對應(yīng)的提醒按鈕,用戶點擊提醒按鈕可以訂閱提醒,開發(fā)者可以通過后臺修改消息狀態(tài)并推送一次提醒消息給訂閱了提醒的用戶
簡要步驟如下
(后端調(diào)用)每條動態(tài)消息可以理解為一個活動,活動發(fā)起前需要通過 createActivityId 接口創(chuàng)建 activity_id后續(xù)轉(zhuǎn)發(fā)動態(tài)消息以及更新動態(tài)消息都需要傳入這個 activity_id
通過調(diào)用 wx.updateShareMenu 接口,傳入 isUpdatableMessage: true等參數(shù)
(后端調(diào)用)動態(tài)消息發(fā)出去之后,可以通過 setUpdatableMsg 修改消息內(nèi)容
像拼團(tuán)這樣的活動,可以考慮優(yōu)化成動態(tài)消息,需要后端配合,實戰(zhàn)的時再補(bǔ)充
以上就是“小程序怎么實現(xiàn)轉(zhuǎn)發(fā)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。