微信JS-SDK1.4.0升级及相关接口调整
2018/06/21
背景
今年五月份微信团队发布了关于《分享功能调整》的公告。
具体调整点为:分享接口调用后,不再返回用户是否分享完成事件,即原先的cancel事件和success事件将统一为success事件。
同时,微信JS-SDK说明文档中也将相应的分享接口标注为(即将废弃)
,但并未给出具体弃用时间及替代方案。
近日在查看微信JS-SDK说明文档时发现新增了两个分享接口,及1.4.0的SDK,因此尝试着升级SDK并替换即将弃用的分享接口。
升级
新的分享接口需要JSSDK 1.4.0及客户端6.7.2(最新版)支持,为兼容老版本,生产环境暂不建议升级。
将引用的JS-SDK替换成1.4.0版本。(支持https)http://res.wx.qq.com/open/js/jweixin-1.4.0.js
通过config接口注入配置修改。
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [
// "onMenuShareAppMessage", // 获取“分享给朋友”按钮点击状态及自定义分享内容接口(即将废弃)
// "onMenuShareTimeline" // 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口(即将废弃)
"updateAppMessageShareData", // 自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0)
"updateTimelineShareData" // 自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容(1.4.0)
] // 必填,需要使用的JS接口列表
});
- 调用新的分享接口
wx.ready(() => { wx.updateAppMessageShareData({ title: title, // 分享标题 desc: desc, // 分享描述 link: sharelink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: imgUrl // 分享图标 }, resp => { //这里是回调函数 }); wx.updateTimelineShareData({ title: title, // 分享标题 link: sharelink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: imgUrl // 分享图标 }, resp => { //这里是回调函数 }); // wx.onMenuShareAppMessage({ // title: title, // 分享标题 // desc: desc, // 分享描述 // link: sharelink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 // imgUrl: imgUrl, // 分享图标 // success: resp => { // // 分享成功回调 // }, // cancel: resp => { // // 取消分享回调 // } // }); // wx.onMenuShareTimeline({ // title: title, // 分享标题 // desc: desc, // 分享描述 // link: sharelink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 // imgUrl: imgUrl, // 分享图标 // success: resp => { // // 分享成功回调 // }, // cancel: resp => { // // 取消分享回调 // } // }); });
总结
微信分享一直是互联网产品拉新、裂变的营销利器,但对于用户体验确实有一定程度上的消极影响。微信团队做出调整的理由也是基于此:为鼓励用户自发分享喜爱的内容,减少“强制分享至不同群”等滥用分享能力,破坏用户体验的行为。
调整过后,运营同学们又得头疼了,诸如“分享给好友立即领取XXX”等营销手段可能不再好使了。
这个市场唯一不变的就是一直在变,而且越变越快,让我们一起拥抱变化、迎接未来~