微信全面调整分享能力:开发者应该注意什么?

近期官方更新了开发文档,今天知晓君就为大家从开发层面上分析一下这次更新的内容。

1.

用户从小程序、小游戏中分享消息到微信聊天时,你将无法获知用户是否分享完成,也无法在用户分享后就立即获得群 ID」,在微信更新的 API 中的 onShareAppMessage(options) 转发函数将不再提供回调结果。

onShareAppMessage(options)

回调类型

errMsg

说明

success

shareAppMessage:ok

转发成功

fail

shareAppMessage:fail cancel

用户取消转发

fail

shareAppMessage: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 被废弃。

而官方给出了以下两种替代方案:

针对「打开其他小程序」更新小程序组件 <navigator>:新增 target 属性可跳转到绑定的小程序。示例代码如下:

<navigator target="miniProgram" open-type="navigate" app-id="" path="" extra-data="" version="release">打开绑定的小程序</navigator>
</view>

针对「打开小程序设置页」更新了 <button> 组件:新增了 open-type 属性有效值 openSetting,在打开授权设置页后回调。示例代码如下:

<button open-type="openSetting">打开授权设置页</button>

希望在新增以上两种组件后,小程序的操作手感能更为舒适,对用户更为友好。

原文发布于微信公众号 - 知晓程序(zxcx0101)

原文发表时间:2018-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

大型网站的灵魂——性能

Via: http://blog.jobbole.com/84433/ 前言 在前一篇随笔《大型网站系统架构的演化》中,介绍了大型网站的演化过程,期间穿插了一...

3156
来自专栏Golang语言社区

系统架构之三(业务运营支撑系统)

本人从事过3年的移动业务运营支撑系统开发,行业术语叫做boss系统,后又转入游戏行业进行游戏开发。 现设计一个业务运营支撑系统的架构如下: ? 详细解释各模块如...

37210
来自专栏SAP最佳业务实践

SAP最佳业务实践:ETO–报价处理(232)-3创建项目

image.png CJ20N创建项目 现在创建客户报价项目,以进一步添加报价明细(例如,计划、付款处理),但是此阶段主要是计算成本,作为计算报价中总价格的基础...

2833
来自专栏小樱的经验随笔

Python爬虫笔记(一):爬虫基本入门

最近在做一个项目,这个项目需要使用网络爬虫从特定网站上爬取数据,于是乎,我打算写一个爬虫系列的文章,与大家分享如何编写一个爬虫。这是这个项目的第一篇文章,这次就...

3656
来自专栏后端技术探索

纯干货--秒杀系统架构分析与实战

(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货

2444
来自专栏Python爬虫实战

Python爬虫:十几行代码下载王者荣耀所有皮肤

之前接触过爬虫还是几年前爬取豆瓣电台的歌曲,那时候用的C++,json解析还要用第三方库,总之很麻烦。最近接触到了python,深深的感觉这门语言真好。

832
来自专栏FreeBuf

设计缺陷将导致亚马逊Echo变身成为监听设备

MWR的安全研究专家发现亚马逊Echo存在一个物理攻击漏洞,该漏洞将允许攻击者获得设备的root shell(设备底层为Linux操作系统),然后安装恶意软件,...

37015
来自专栏程序员互动联盟

编程高手为啥都喜欢耍脚本?

脚本编程几乎在每一个平台上都存在,这是因为利用脚本常常会简化、加快很多批量处理的工作,它能实现很多传统编程语言的功能,但是对编写者却不需要关心什么编译器、解释器...

3315
来自专栏jerryteng的专栏

如何利用最低配的腾讯云快速搭建高并发在线服务

这里是作为开发用,我们就选择一个普通的服务器,我也是很不好意思的申请了相关的学生机,那我们就用学生机来搭建一个高并发的在线服务。这个机器配置很低,我还进行了降级...

81710
来自专栏编程

python高效之爬了B站再爬微博

全文简介 本文是用Python爬取微博移动端的数据。可以看一下Robots协议。另外尽量不要爬取太快。如果你毫无节制的去爬取别人数据,别人网站当然会反爬越来越严...

2248

扫码关注云+社区