微信小程序分享朋友圈API限制问题

在开发微信小程序过程中,需要实现将小程序分享到朋友圈,以扩大宣传范围,吸引流量。

实现也不难,满足【两个条件】即可:

  • 首先,页面需设置允许“发送给朋友”。具体参考 Page.onShareAppMessage 接口文档

  • 满足条件 1 后,页面需设置允许“分享到朋友圈”,同时可自定义标题、分享图等。具体参考 Page.onShareTimeline 接口文档

满足上述两个条件的页面,可被分享到朋友圈(在微信小程序中点击右上角【...】)。


实现则是在Page中定义onShareTimeline()此事件处理函数,点击右上角【...】菜单后弹出层才会显示【分享到朋友圈】按钮,如下图(『分享到朋友圈』是彩色高亮状态):

不过需要注意的是微信小程序是从基础库 2.11.3 才开始支持的。详细可参考微信平台官方文档说明:https://developers.weixin.qq.com/miniprogram/dev/reference/api`/Page.html#onShareTimeline

支持自定义分享内容,参考代码片断如下:

onShareTimeline() {

    return {
      title: '欢迎打开我的微信小程序【废话文学间】'
      imageUrl: '', // 可自定义图片,若图片URL为空则默认取小程序Logo
      query: 'id=1'
    };

  }

参数解释:

但是,由于用户在朋友圈中打开分享后,小程序呈现的是【单页模式】,在这个模式下,一些组件或API接口存在一定限制,详情见下文【单页模式下的限制】章节。

除了这些以上明文规定的限制,还有当query传参内容过多过长时,也是无法分享到朋友圈的。

而当【query】参数中含有中文和其他特殊字符时,还需进行URL编码,代码片断参考如下:

onShareTimeline() {

    return {
      title: '欢迎打开我的微信小程序【废话文学间】'
      imageUrl: '', // 可自定义图片,若图片URL为空则默认取小程序Logo
      query: 'id=1&name=' + encodeURIComponent('中文内容和特殊字符’)
    };

  }

实测中,微信云开发中的数据库查询相关API也会受限制,如果将某个重度依赖微信云开发数据库查询的页面分享到朋友圈,用户在朋友圈点击打开将是一个相当不完整的页面,那体验会大打折扣(虽然这个【单页模式】右下角会有一个【前往小程序】可以打开小程序体验完整页面功能,但大多用户估计也不会注意到这么一个按钮,就算注意到了,也没多少人会愿意点击)。

本人想到一个蹩脚的解决办法就是在分享前,将该页面需要用到的数据先查询出来,塞到【query】参数中传过去,由页面去接收处理。但这样也有缺点,就是前面提到的:不可传过多的数据。如果你有更好的方法,欢迎留言探讨!

欢迎关注微信公众号【废话文学阁】了解更多开发资讯!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值