摘要:轉發的意義轉發即是分享,分享帶動了事物去中心化,實現網絡化,最終走向云處理化通過微信平臺,轉發即是聊天流量時代,轉發即是引流官方轉發示例監聽用戶點擊頁面內轉發按鈕組件或右上角菜單轉發按鈕的行為,并自定義轉發內容。
轉發的意義
轉發即是分享,分享帶動了事物去中心化,實現網絡化,最終走向云處理化
通過微信平臺,轉發即是聊天
流量時代,轉發即是引流
官方轉發示例onShareAppMessage(Object)
監聽用戶點擊頁面內轉發按鈕(
注意:只有定義了此事件處理函數,右上角菜單才會顯示“轉發”按鈕
Object 參數說明:
此事件需要 return 一個 Object,用于自定義轉發內容,返回內容如下:
自定義轉發內容
Page({ onShareAppMessage(res) { if (res.from === "button") { // 來自頁面內轉發按鈕 console.log(res.target) } return { title: "自定義轉發標題", path: "/page/user?id=123" } } })
常規轉發,只需上面示例即可
在onShareAppMessage中定義轉發內容和必要參數,如?id=123
在相應頁面的onLoad(Object query)中可以獲取
根據場景值區分對于小程序,可以在 App 的 onLaunch 和 onShow,或wx.getLaunchOptionsSync 中獲取場景值
由于onLaunch全局只觸發一次和熱啟動的原因,在onShow中獲取、設置相關參數比較合理,尤其是轉發,從微信消息過來,必然會觸發onShow
通過app.onShow回調,獲取場景值
App({ onShow(res) { console.log("app---onShow"); console.log(res.scene); //1044是群聊,1007是私聊 } })
wx.onAppShow(function callback)
基礎庫 2.1.2 開始支持,低版本需做兼容處理
監聽小程序切前臺事件。該事件與 App.onShow 的回調參數一致
Object res
referrerInfo 的結構
返回有效 referrerInfo 的場景
注意小程序分享票據shareTickets
部分版本在無referrerInfo的時候會返回 undefined,建議使用 options.referrerInfo && options.referrerInfo.appId 進行判斷
通常開發者希望轉發出去的小程序被二次打開的時候能夠獲取到一些信息,例如群的標識。現在通過調用 wx.showShareMenu 并且設置 withShareTicket 為 true ,當用戶將小程序轉發到任一群聊之后,此轉發卡片在群聊中被其他用戶打開時,可以在 App.onLaunch 或 App.onShow 獲取到一個 shareTicket。通過調用 wx.getShareInfo() 接口傳入此 shareTicket 可以獲取到轉發信息。
和場景值scene一樣,shareTicket也是在App.onShow中獲取比較合理
必須在分享前調用wx.showShareMenu方法,否則不會帶分享票據
//分享前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也可以用來區分轉發消息的場景
shareTicket主要用來獲取轉發詳情,傳入wx.getShareInfo()中獲取加密數據,需要后端配合,返回解密數據
注意:注意:注意
鑒于官方“分享監聽”能力調整,網上90%的滯后代碼,誤人子弟,在此必須給自己一個小要求,定期復讀自己的文章,根據當時能力水平,提高文章質量,修正錯誤和滯后信息(吐槽一下度娘已死,沒人打我吧?打我就刪除)
類似如下代碼,現在已不支持回調
此次調整可能影響到三種分享功能的用法
第一種:判斷用戶是否分享成功,進而給予用戶獎勵。
例如:小程序提示用戶“分享到5個群,可以獲得一張20元的優惠券”。
這類誘導用戶分享的行為是我們平臺所不倡導的,后續將沒有辦法實現。
第二種:分享完成后變更當前的頁面狀態
例如:贈送禮品場景下,用戶點擊“贈送”按鈕,將禮品分享出去,分享成功后,界面展示“等待領取”。
這類場景,我們建議可以適當調整交互方案。例如在分享后繼續保留“贈送”按鈕,但在頁面上提示用戶一個禮品只能被一人領取,重復贈送無效。
第三種:通過用戶分享之后的 shareTicket 獲取群唯一標識 openGId ,以顯示對應群的相關信息。
例如:通過分享小程序到某個群里,可以查看該群內成員的排行榜。
此次調整后,用戶分享完成后無法立刻顯示該群的排行榜信息,但仍可在用戶從群消息點擊進入小程序時顯示該群的排行榜信息。
詳情請查看 分享監聽能力調整
轉發動態消息從基礎庫 2.4.0 開始,支持轉發動態消息。動態消息對比普通消息,有以下特點:
消息發出去之后,開發者可以通過后臺接口修改部分消息內容
消息有對應的提醒按鈕,用戶點擊提醒按鈕可以訂閱提醒,開發者可以通過后臺修改消息狀態并推送一次提醒消息給訂閱了提醒的用戶
簡要步驟如下
(后端調用)每條動態消息可以理解為一個活動,活動發起前需要通過 createActivityId 接口創建 activity_id 后續轉發動態消息以及更新動態消息都需要傳入這個 activity_id
通過調用 wx.updateShareMenu 接口,傳入 isUpdatableMessage: true等參數
(后端調用)動態消息發出去之后,可以通過 setUpdatableMsg 修改消息內容
像拼團這樣的活動,可以考慮優化成動態消息,需要后端配合,實戰的時再補充
總結分享監聽能力調整后,對于分享的騷操作基本在App.onShow中進行,相當于授權那樣,必須打開轉發消息才能獲取轉發詳情,這也是符合設計準則的
可以看出,不管是從設計準則,還是用戶隱私,微信都在向著IOS看齊,黑暗法則已過去,我們也該注重規范和隱私了
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/101837.html
摘要:網頁引入網頁發起支付由后臺返回,主要是需要統一下單平臺的微信支付頁面支付參數錯誤,請稍后重試支付成功支付失敗支付錯誤分享功能小程序直接分享的所在的頁面,如果需要加上頁面參數,那我們就需要處理一下了。 小程序現在越來越流行,但是公司的很多項目都是用網頁寫的,小程序語法不兼容原生網頁,使得舊有項目遷移至小程序代價很高; 小程序之前開放了webview功能,可以說是網頁應用的一大福音了,但...
摘要:網頁引入網頁發起支付由后臺返回,主要是需要統一下單平臺的微信支付頁面支付參數錯誤,請稍后重試支付成功支付失敗支付錯誤分享功能小程序直接分享的所在的頁面,如果需要加上頁面參數,那我們就需要處理一下了。 小程序現在越來越流行,但是公司的很多項目都是用網頁寫的,小程序語法不兼容原生網頁,使得舊有項目遷移至小程序代價很高; 小程序之前開放了webview功能,可以說是網頁應用的一大福音了,但...
摘要:傳輸時間與數據量大體上呈現正相關關系,傳輸過大的數據將使這一時間顯著增加。小程序不管從組件化開發調試發布灰度回滾上報統計監控和最近的云能力都非常完善,小程序的工程化簡直就是前端的典范。 研究背景 上一篇文章了解了小程序的生命周期,接下來研究一下數據通信,我覺得清楚了生命周期和數據通信,就能對整個程序有一定的把控能力,定位問題和解決問題的能力將大幅提高我剛開始擼小程序的時候,覺得看看文...
摘要:生成屬性這一步,我們要先提取原函數中的的對象。所以這里我們還是主要使用來訪問節點獲取第一級的,也就是函數體將合并的寫法用生成生成生成插入到原函數下方刪除原函數程序輸出將中的屬性提升一級這里遍歷中的屬性沒有再采用,因為這里結構是固定的。 ??經過之前的三篇文章介紹,AST的CRUD都已經完成。下面主要通過vue轉小程序過程中需要用到的部分關鍵技術來實戰。 下面的例子的核心代碼依然是最簡單...
摘要:小程序仍在不斷更新和完善,舊代碼可能會因不符合新政策,在下次發布的時候無法正常運行。用戶微信支付后,需要后臺推送消息到服務器,才能確認支付成功。小程序也存在兼容性問題,對待不愿更新微信的用戶,要像對待忠實的用戶一樣,小程序基礎庫版本分布。 小程序沒有跳轉公眾號、跳轉公眾號圖文素材的能力。除非用戶通過掃描二維碼進入小程序的情景,可以顯示關注公眾號組件。公眾號菜單、公眾號圖文素材可以打開...
閱讀 882·2021-11-23 09:51
閱讀 1088·2021-11-15 17:57
閱讀 1667·2021-09-22 15:24
閱讀 812·2021-09-07 09:59
閱讀 2221·2019-08-29 15:10
閱讀 1849·2019-08-29 12:47
閱讀 751·2019-08-29 12:30
閱讀 3369·2019-08-26 13:51