分享到朋友圈

从基础库 2.11.3 开始支持

支持平台:AndroidiOS:微信8.0.24及以上版本

可以将微信小程序页面分享到朋友圈。这适合内容型的页面分享,不适合有太多交互的页面分享。

设置分享状态

微信小程序页面默认不能分享到朋友圈,开发者需要主动设置“分享到朋友圈”。要让页面允许分享到朋友圈,需要满足两个条件:

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

满足上面两个条件的页面,就可以被分享到朋友圈了。

单页模式

用户在朋友圈打开分享的微信小程序页面时,并不会真正打开微信小程序,而是进入一个“微信小程序单页模式”的页面。“单页模式”有以下特点:

  1. 在“单页模式”下,页面顶部固定有一个导航栏,标题显示为当前页面 JSON 配置的标题。底部固定有一个操作栏,点击操作栏的“前往微信小程序”可以打开微信小程序的当前页面。顶部导航栏和底部操作栏都不支持自定义样式。
  2. “单页模式”默认运行的是微信小程序页面内容,但由于页面固定有顶部导航栏和底部操作栏,很可能会影响微信小程序页面的布局。因此,请开发者特别注意适配“单页模式”的页面交互,以实现流畅完整的交互体验。
  3. 在“单页模式”下,一些组件或接口会有一定限制,详情见下文单页模式下的限制章节

avatar

页面适配

可以通过判断场景值等于 1154 的方法来进行页面适配。另外,在单页模式下,可以设置顶部导航栏与页面的相交状态,具体参考 navigationBarFit 配置。

还需要注意的是,在单页模式下,wx.getSystemInfo 接口返回的 safeArea 是整个屏幕空间。

单页模式下的限制

微信小程序“单页模式”适用于纯内容展示场景,能实现的交互和接口能力有限,因此存在以下限制:

  1. 页面没有登录态,与登录相关的接口,如 wx.login 都不可用;云开发资源需要开启未登录访问才能在单页模式下使用,详见未登录模式
  2. 不允许跳转到其他页面,包括任何跳转微信小程序页面、跳转其他微信小程序、跳转微信原生页面
  3. 不允许横屏使用
  4. 如果页面包含 tabBar,tabBar 不会渲染,包括自定义 tabBar
  5. 本地存储与微信小程序普通模式不共用

对于一些会产生交互的组件或接口,在点击后调用时,会弹出 toast 提示“请前往微信小程序使用完整服务”。为了获得良好的用户体验,请注意适配单页模式的接口能力,不要大量使用被禁用的接口或组件。

禁用能力列表:

分类 功能点
组件 button open-type 、 camera 、 editor 、 form 、 functional-page-navigator 、 live-pusher 、 navigator 、 navigation-bar 、 official-account 、 open-data 、 web-view
路由 wx.redirectTo 、 wx.reLaunch 、 wx.navigateTo 、 wx.switchTab 、 wx.navigateBack
界面 导航栏 、 Tab Bar
网络 mDNS 、 UDP 通信
数据缓存 周期性更新
媒体 VoIP 、 wx.chooseMedia 、 wx.chooseImage 、 wx.saveImageToPhotosAlbum 、 wx.chooseVideo 、 wx.saveVideoToPhotosAlbum 、 wx.getVideoInfo 、 wx.compressVideo
位置 wx.openLocation 、 wx.chooseLocation 、 wx.startLocationUpdateBackground 、 wx.startLocationUpdate
转发 wx.getShareInfo 、 wx.showShareMenu 、 wx.hideShareMenu 、 wx.updateShareMenu
文件 wx.openDocument
开放接口 登录 、 微信小程序跳转 、 用户信息 、 支付 、 授权 、 设置 、 收货地址 、 卡券 、 发票 、 生物认证 、 微信运动 、 微信红包
设备 蓝牙 、 iBeacon 、 Wi-Fi 、 NFC 、 联系人 、 剪贴板 、 电话 、 扫码
广告 ad 、 wx.createRewardedVideoAd 、 wx.createInterstitialAd

运营须知

分享朋友圈功能是为了满足纯内容场景的分享需求,如果滥用于营销、诱导等行为,将会被打击。

  1. 微信小程序提供的服务中,不得存在滥用分享的违规行为。例如强制用户分享的行为;分享后立即获得利益的诱导行为;以及通过明示或暗示的样式来达到诱导分享目的的行为等。详见《微信小程序平台运营规范》
  2. 在“单页模式”下,不得诱导或强制用户点击“打开微信小程序”,应该在“单页模式”中尽可能呈现完整的内容

注意事项

  1. 在低版本微信客户端打开时,会进入一个升级提示页面
  2. 不支持在微信小程序页面内直接发起分享
  3. 自定义分享内容时不支持自定义页面路径
  4. 存在 web-view 组件的页面不支持发起分享
  5. 支持打开开发版、体验版,没有权限的人员进入时页面会提示无权限

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注