每日最新頭條.有趣資訊

微信全面調整分享功能:開發者應該注意什麽?

近期官方更新了開發文檔,今天知曉君就為大家從開發層面上分析一下這次更新的內容。

1.

用戶從小程式、小遊戲中分享消息到微信聊天時,你將無法獲知用戶是否分享完成,也無法在用戶分享後就立即獲得群 ID」,在微信更新的 API 中的onShareAppMessage(options)轉發函數將不再提供回調結果。

onShareAppMessage(options)回調類型errMsg說明successshareAppMessage:ok轉發成功failshareAppMessage:fail cancel用戶取消轉發failshareAppMessage:fail (detail message)轉發失敗,其中?detail message?為詳細失敗資訊

以小程式「好物好買」為例,選擇右上角目錄的「轉發」按鈕後,開發者將無法獲知用戶的操作情況:無論是轉發成功、取消轉發,或是轉發失敗。

2.

對於網頁或 app 開發者而言:「6月份新版微信客戶端發布後,用戶從微信頁內的網頁或第三方 app 中分享消息給微信好友,以及分享到朋友圈,你將無法獲知用戶是否完成了分享。

關於網頁分享無法獲知用戶操作情況,這裡首先要引入 JS-SDK 的概念。微信 JS-SDK 是微信公眾平台面向網頁開發者提供的基於微信內的網頁開發工具包。

通過使用微信 JS-SDK,網頁開發者可借助微信高效地使用拍照、選圖、語音、位置等手機系統的能力,同時可以直接使用微信分享、掃一掃、卡券、支付等微信特有的能力,為微信用戶提供更優質的網頁體驗。

採用 JS-SDK 分享接口後分享至好友、朋友圈等的網頁將正常顯示圖示和文字。以「知曉程式」小程式商店頁面和 GitHub 首頁為例,小程式商店採用了 JS-SDK 分享接口,可以正常顯示圖示與頁面標題;GitHub 尚未進行相關配置,呈現的圖片是默認的鏈接符號。

而這次將執行的改動和小程式開發者無法獲知用戶分享狀態類似,微信 JS-SDK 說明文檔中已明確標注將廢棄目前的「分享到朋友圈」及「分享給朋友」接口。以下為官方文檔中獲取「分享給朋友」按鈕點擊狀態及自定義分享內容接口代碼塊,目前尚有用戶請求分享成功後執行的回調函數,前兩天還存在的 cancel 事件已被取消。

wx.onMenuShareAppMessage({ title: '', // 分享標題 desc: '', // 分享描述 link: '', // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致 imgUrl: '', // 分享圖示 type: '', // 分享類型,music、video或link,不填默認為link dataUrl: '', // 如果type是music或video,則要提供數據鏈接,默認為空 success: function () { // 用戶確認分享後執行的回調函數 },});

當然,既然標注了「即將廢棄」,微信後續也會提供新的對策。

再看 app 分享消息給微信好友或分享到朋友圈,以「愛範兒」客戶端分享操作為例,在 6 月新版微信客戶端發布後,開發者將無法獲知用戶是否分享完成。

「愛範兒」客戶端分享操作

這項改動應該也與取消相關回調函數有關,開發者從微信開放平台提交審核後,微信的 SDK 中提供了相應的回調接口IWXAPIEventHandler。

3.

對於新增「打開其他小程式」、「打開小程式設定頁」組件是再好不過的事。雖然之前的 API 配置操作並不複雜,但在開發時總要考慮各種適配問題,若有官方新增的組件,使用起來無疑更為便捷。

「打開其他小程式」API 接口為wx.navigateToMiniProgram(OBJECT),可用於打開同一公眾號下關聯的另一個小程式。值得一提的是:必須是同一公眾號下,而非同個 open 账號下。

「打開小程式設定頁」API 接口為wx.openSetting(OBJECT),可用於調起客戶端小程式設定界面,返回用戶設定的操作結果。大多數小程式尚未在小程式內部調用「打開小程式設定頁」相關接口,用戶在打開設定頁時需要經過一系列操作,路徑太長,並不廣為人知也不算方便。

不過現在以上兩個接口已在 5 月 15 被廢棄。

而官方給出了以下兩種替代方案:

針對「打開其他小程式」更新小程式組件?;:新增?target?屬性可跳轉到綁定的小程式。示例代碼如下:

打開綁定的小程式

針對「打開小程式設定頁」更新了??組件:新增了?open-type?屬性有效值?openSetting,在打開授權設定頁後回調。示例代碼如下:

打開授權設定頁

希望在新增以上兩種組件後,各小程式的操作手感能更為舒適,對用戶更為友好。

關注「知曉程式」微信公眾號,回復「開發」,獲取小程式開發技巧大全。

獲得更多的PTT最新消息
按讚加入粉絲團