摘要:轉(zhuǎn)發(fā)的意義轉(zhuǎn)發(fā)即是分享,分享帶動(dòng)了事物去中心化,實(shí)現(xiàn)網(wǎng)絡(luò)化,最終走向云處理化通過(guò)微信平臺(tái),轉(zhuǎn)發(fā)即是聊天流量時(shí)代,轉(zhuǎn)發(fā)即是引流官方轉(zhuǎn)發(fā)示例監(jiān)聽(tīng)用戶點(diǎn)擊頁(yè)面內(nèi)轉(zhuǎn)發(fā)按鈕組件或右上角菜單轉(zhuǎn)發(fā)按鈕的行為,并自定義轉(zhuǎn)發(fā)內(nèi)容。
轉(zhuǎn)發(fā)的意義
轉(zhuǎn)發(fā)即是分享,分享帶動(dòng)了事物去中心化,實(shí)現(xiàn)網(wǎng)絡(luò)化,最終走向云處理化
通過(guò)微信平臺(tái),轉(zhuǎn)發(fā)即是聊天
流量時(shí)代,轉(zhuǎn)發(fā)即是引流
官方轉(zhuǎn)發(fā)示例onShareAppMessage(Object)
監(jiān)聽(tīng)用戶點(diǎn)擊頁(yè)面內(nèi)轉(zhuǎn)發(fā)按鈕(
注意:只有定義了此事件處理函數(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ā),只需上面示例即可
在onShareAppMessage中定義轉(zhuǎn)發(fā)內(nèi)容和必要參數(shù),如?id=123
在相應(yīng)頁(yè)面的onLoad(Object query)中可以獲取
根據(jù)場(chǎng)景值區(qū)分對(duì)于小程序,可以在 App 的 onLaunch 和 onShow,或wx.getLaunchOptionsSync 中獲取場(chǎng)景值
由于onLaunch全局只觸發(fā)一次和熱啟動(dòng)的原因,在onShow中獲取、設(shè)置相關(guān)參數(shù)比較合理,尤其是轉(zhuǎn)發(fā),從微信消息過(guò)來(lái),必然會(huì)觸發(fā)onShow
通過(guò)app.onShow回調(diào),獲取場(chǎng)景值
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)景
注意小程序分享票據(jù)shareTickets
部分版本在無(wú)referrerInfo的時(shí)候會(huì)返回 undefined,建議使用 options.referrerInfo && options.referrerInfo.appId 進(jìn)行判斷
通常開(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ā)信息。
和場(chǎng)景值scene一樣,shareTicket也是在App.onShow中獲取比較合理
必須在分享前調(diào)用wx.showShareMenu方法,否則不會(huì)帶分享票據(jù)
//分享前share.js Page({ onLoad: function () { wx.showShareMenu({ withShareTicket: true }) } }) //分享后app.js App({ onShow(res) { console.log("app---onShow"); console.log(res.shareTicket); } })
只有分享到任一群聊,shareTicket才會(huì)有值,否則是undefined
shareTicket也可以用來(lái)區(qū)分轉(zhuǎn)發(fā)消息的場(chǎng)景
shareTicket主要用來(lái)獲取轉(zhuǎn)發(fā)詳情,傳入wx.getShareInfo()中獲取加密數(shù)據(jù),需要后端配合,返回解密數(shù)據(jù)
注意:注意:注意
鑒于官方“分享監(jiān)聽(tīng)”能力調(diào)整,網(wǎng)上90%的滯后代碼,誤人子弟,在此必須給自己一個(gè)小要求,定期復(fù)讀自己的文章,根據(jù)當(dāng)時(shí)能力水平,提高文章質(zhì)量,修正錯(cuò)誤和滯后信息(吐槽一下度娘已死,沒(méi)人打我吧?打我就刪除)
類(lèi)似如下代碼,現(xiàn)在已不支持回調(diào)
此次調(diào)整可能影響到三種分享功能的用法
第一種:判斷用戶是否分享成功,進(jìn)而給予用戶獎(jiǎng)勵(lì)。
例如:小程序提示用戶“分享到5個(gè)群,可以獲得一張20元的優(yōu)惠券”。
這類(lèi)誘導(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)取”。
這類(lèi)場(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):
消息發(fā)出去之后,開(kāi)發(fā)者可以通過(guò)后臺(tái)接口修改部分消息內(nèi)容
消息有對(duì)應(yīng)的提醒按鈕,用戶點(diǎn)擊提醒按鈕可以訂閱提醒,開(kāi)發(fā)者可以通過(guò)后臺(tái)修改消息狀態(tài)并推送一次提醒消息給訂閱了提醒的用戶
簡(jiǎn)要步驟如下
(后端調(diào)用)每條動(dòng)態(tài)消息可以理解為一個(gè)活動(dòng),活動(dòng)發(fā)起前需要通過(guò) createActivityId 接口創(chuàng)建 activity_id 后續(xù)轉(zhuǎn)發(fā)動(dòng)態(tài)消息以及更新動(dòng)態(tài)消息都需要傳入這個(gè) activity_id
通過(guò)調(diào)用 wx.updateShareMenu 接口,傳入 isUpdatableMessage: true等參數(shù)
(后端調(diào)用)動(dòng)態(tài)消息發(fā)出去之后,可以通過(guò) setUpdatableMsg 修改消息內(nèi)容
像拼團(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ī)范和隱私了
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101837.html
摘要:網(wǎng)頁(yè)引入網(wǎng)頁(yè)發(fā)起支付由后臺(tái)返回,主要是需要統(tǒng)一下單平臺(tái)的微信支付頁(yè)面支付參數(shù)錯(cuò)誤,請(qǐng)稍后重試支付成功支付失敗支付錯(cuò)誤分享功能小程序直接分享的所在的頁(yè)面,如果需要加上頁(yè)面參數(shù),那我們就需要處理一下了。 小程序現(xiàn)在越來(lái)越流行,但是公司的很多項(xiàng)目都是用網(wǎng)頁(yè)寫(xiě)的,小程序語(yǔ)法不兼容原生網(wǎng)頁(yè),使得舊有項(xiàng)目遷移至小程序代價(jià)很高; 小程序之前開(kāi)放了webview功能,可以說(shuō)是網(wǎng)頁(yè)應(yīng)用的一大福音了,但...
摘要:網(wǎng)頁(yè)引入網(wǎng)頁(yè)發(fā)起支付由后臺(tái)返回,主要是需要統(tǒng)一下單平臺(tái)的微信支付頁(yè)面支付參數(shù)錯(cuò)誤,請(qǐng)稍后重試支付成功支付失敗支付錯(cuò)誤分享功能小程序直接分享的所在的頁(yè)面,如果需要加上頁(yè)面參數(shù),那我們就需要處理一下了。 小程序現(xiàn)在越來(lái)越流行,但是公司的很多項(xiàng)目都是用網(wǎng)頁(yè)寫(xiě)的,小程序語(yǔ)法不兼容原生網(wǎng)頁(yè),使得舊有項(xiàng)目遷移至小程序代價(jià)很高; 小程序之前開(kāi)放了webview功能,可以說(shuō)是網(wǎng)頁(yè)應(yīng)用的一大福音了,但...
摘要:傳輸時(shí)間與數(shù)據(jù)量大體上呈現(xiàn)正相關(guān)關(guān)系,傳輸過(guò)大的數(shù)據(jù)將使這一時(shí)間顯著增加。小程序不管從組件化開(kāi)發(fā)調(diào)試發(fā)布灰度回滾上報(bào)統(tǒng)計(jì)監(jiān)控和最近的云能力都非常完善,小程序的工程化簡(jiǎn)直就是前端的典范。 研究背景 上一篇文章了解了小程序的生命周期,接下來(lái)研究一下數(shù)據(jù)通信,我覺(jué)得清楚了生命周期和數(shù)據(jù)通信,就能對(duì)整個(gè)程序有一定的把控能力,定位問(wèn)題和解決問(wèn)題的能力將大幅提高我剛開(kāi)始擼小程序的時(shí)候,覺(jué)得看看文...
摘要:生成屬性這一步,我們要先提取原函數(shù)中的的對(duì)象。所以這里我們還是主要使用來(lái)訪問(wèn)節(jié)點(diǎn)獲取第一級(jí)的,也就是函數(shù)體將合并的寫(xiě)法用生成生成生成插入到原函數(shù)下方刪除原函數(shù)程序輸出將中的屬性提升一級(jí)這里遍歷中的屬性沒(méi)有再采用,因?yàn)檫@里結(jié)構(gòu)是固定的。 ??經(jīng)過(guò)之前的三篇文章介紹,AST的CRUD都已經(jīng)完成。下面主要通過(guò)vue轉(zhuǎn)小程序過(guò)程中需要用到的部分關(guān)鍵技術(shù)來(lái)實(shí)戰(zhàn)。 下面的例子的核心代碼依然是最簡(jiǎn)單...
摘要:小程序仍在不斷更新和完善,舊代碼可能會(huì)因不符合新政策,在下次發(fā)布的時(shí)候無(wú)法正常運(yùn)行。用戶微信支付后,需要后臺(tái)推送消息到服務(wù)器,才能確認(rèn)支付成功。小程序也存在兼容性問(wèn)題,對(duì)待不愿更新微信的用戶,要像對(duì)待忠實(shí)的用戶一樣,小程序基礎(chǔ)庫(kù)版本分布。 小程序沒(méi)有跳轉(zhuǎn)公眾號(hào)、跳轉(zhuǎn)公眾號(hào)圖文素材的能力。除非用戶通過(guò)掃描二維碼進(jìn)入小程序的情景,可以顯示關(guān)注公眾號(hào)組件。公眾號(hào)菜單、公眾號(hào)圖文素材可以打開(kāi)...
閱讀 898·2021-11-23 09:51
閱讀 1111·2021-11-15 17:57
閱讀 1680·2021-09-22 15:24
閱讀 823·2021-09-07 09:59
閱讀 2238·2019-08-29 15:10
閱讀 1859·2019-08-29 12:47
閱讀 763·2019-08-29 12:30
閱讀 3386·2019-08-26 13:51