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

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

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 条评论
登录 后参与评论

相关文章

来自专栏小樱的经验随笔

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

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

3506
来自专栏Golang语言社区

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

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

34810
来自专栏架构师之路

服务读写分离架构,绝不推荐

缘起 在《服务读写分离(读服务,写服务),是否可行?》中,对背景做了交代,互联网架构设计上,数据库可以读写分离,服务能否读写分离呢? 下面是两种常见的“服务读写...

40711
来自专栏纯洁的微笑

电商平台备战促销季的运维秘诀——高可用服务层

1032
来自专栏jerryteng的专栏

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

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

42010
来自专栏SEO

SEOer必学网站分析神器(二)

昨晚发布“SEOer必学网站分析神器(全新解析一)”后,突然发现,里面少讲了一点内容,在这里给大家补上。 移动适配:除了上次讲的一些内容外,还是可以加快移动端...

3146
来自专栏JAVA高级架构

电商平台备战促销季的运维秘诀——高可用服务层

932
来自专栏小文博客

SSTap-享受游戏! ——SSTap下载地址及使用教程(内附免费版配置)

1.6K2
来自专栏FreeBuf

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

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

35915
来自专栏北京马哥教育

大型网站的灵魂——性能

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

2916

扫码关注云+社区