国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

小程序轉發探索示例

2020-03-21 16:01:41
字體:
來源:轉載
供稿:網友

轉發的意義

  • 轉發即是分享,分享帶動了事物去中心化,實現網絡化,最終走向云處理化
  • 通過微信平臺,轉發即是聊天
  • 流量時代,轉發即是引流

官方轉發示例

onShareAppMessage(Object)

監聽用戶點擊頁面內轉發按鈕(<button> 組件 open-type="share")或右上角菜單“轉發”按鈕的行為,并自定義轉發內容。注意:只有定義了此事件處理函數,右上角菜單才會顯示“轉發”按鈕

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 的場景

小程序,轉發

注意
部分版本在無referrerInfo的時候會返回 undefined,建議使用 options.referrerInfo && options.referrerInfo.appId 進行判斷

小程序分享票據shareTickets

通常開發者希望轉發出去的小程序被二次打開的時候能夠獲取到一些信息,例如群的標識。現在通過調用 wx.showShareMenu 并且設置 withShareTicket 為 true ,當用戶將小程序轉發到任一群聊之后,此轉發卡片在群聊中被其他用戶打開時,可以在 App.onLaunch 或 App.onShow 獲取到一個 shareTicket。通過調用 wx.getShareInfo() 接口傳入此 shareTicket 可以獲取到轉發信息。

  • 和場景值scene一樣,shareTicket也是在App.onShow中獲取比較合理
  • 必須在分享前調用wx.showShareMenu方法,否則不會帶分享票據
//分享前share.jsPage({ onLoad: function () {  wx.showShareMenu({   withShareTicket: true  }) }})//分享后app.jsApp({ onShow(res) {  console.log('app---onShow');  console.log(res.shareTicket); }})
  • 只有分享到任一群聊,shareTicket才會有值,否則是undefined
  • shareTicket也可以用來區分轉發消息的場景
  • shareTicket主要用來獲取轉發詳情,傳入wx.getShareInfo()中獲取加密數據,需要后端配合,返回解密數據
注意:注意:注意
鑒于官方“分享監聽”能力調整,網上90%的滯后代碼,誤人子弟,在此必須給自己一個小要求,定期復讀自己的文章,根據當時能力水平,提高文章質量,修正錯誤和滯后信息(吐槽一下度娘已死,沒人打我吧?打我就刪除)

類似如下代碼,現在已不支持回調

小程序,轉發

此次調整可能影響到三種分享功能的用法

第一種:判斷用戶是否分享成功,進而給予用戶獎勵。

例如:小程序提示用戶“分享到5個群,可以獲得一張20元的優惠券”。

這類誘導用戶分享的行為是我們平臺所不倡導的,后續將沒有辦法實現。

第二種:分享完成后變更當前的頁面狀態

例如:贈送禮品場景下,用戶點擊“贈送”按鈕,將禮品分享出去,分享成功后,界面展示“等待領取”。

這類場景,我們建議可以適當調整交互方案。例如在分享后繼續保留“贈送”按鈕,但在頁面上提示用戶一個禮品只能被一人領取,重復贈送無效。

第三種:通過用戶分享之后的 shareTicket 獲取群唯一標識 openGId ,以顯示對應群的相關信息。

例如:通過分享小程序到某個群里,可以查看該群內成員的排行榜。

此次調整后,用戶分享完成后無法立刻顯示該群的排行榜信息,但仍可在用戶從群消息點擊進入小程序時顯示該群的排行榜信息。

詳情請查看分享監聽能力調整

轉發動態消息

從基礎庫 2.4.0 開始,支持轉發動態消息。動態消息對比普通消息,有以下特點:

  • 消息發出去之后,開發者可以通過后臺接口修改部分消息內容
  • 消息有對應的提醒按鈕,用戶點擊提醒按鈕可以訂閱提醒,開發者可以通過后臺修改消息狀態并推送一次提醒消息給訂閱了提醒的用戶

簡要步驟如下

  1. (后端調用)每條動態消息可以理解為一個活動,活動發起前需要通過 createActivityId 接口創建 activity_id后續轉發動態消息以及更新動態消息都需要傳入這個 activity_id
  2. 通過調用 wx.updateShareMenu 接口,傳入 isUpdatableMessage: true等參數
  3. (后端調用)動態消息發出去之后,可以通過 setUpdatableMsg 修改消息內容

像拼團這樣的活動,可以考慮優化成動態消息,需要后端配合,實戰的時再補充

總結

分享監聽能力調整后,對于分享的騷操作基本在App.onShow中進行,相當于授權那樣,必須打開轉發消息才能獲取轉發詳情,這也是符合設計準則的

可以看出,不管是從設計準則,還是用戶隱私,微信都在向著IOS看齊,黑暗法則已過去,我們也該注重規范和隱私了

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 射阳县| 山西省| 靖远县| 延边| 湛江市| 广宁县| 呼伦贝尔市| 新津县| 饶河县| 万荣县| 定边县| 浦江县| 平度市| 兰州市| 夏河县| 彰武县| 宜丰县| 龙井市| 彭阳县| 桐柏县| 武安市| 红原县| 尚志市| 平和县| 大渡口区| 正镶白旗| 竹山县| 潮州市| 柘城县| 慈利县| 大渡口区| 黄石市| 乌兰浩特市| 绩溪县| 仁化县| 定结县| 吴桥县| 邹城市| 廉江市| 黄梅县| 临湘市|