通常开发者希望转发出去的小程序被二次打开的时候能够获取到一些信息,例如群的标识。现在通过调用 wx.showShareMenu 并且设置 withShareTicket 为 true ,当用户将小程序转发到任一群聊之后,此转发卡片在群聊中被其他用户打开时,可以在 App.onLaunch 或 App.onShow 获取到一个 shareTicket。通过调用 wx.getShareInfo 接口传入此 shareTicket 可以获取到转发信息。
基础库 1.2.0 开始支持,低版本需做兼容处理。
通过给 button 组件设置属性 open-type="share",可以在用户点击按钮后触发 Page.onShareAppMessage 事件,相关组件:button。
转发按钮,旨在帮助用户更流畅地与好友分享内容和服务。转发,应是用户自发的行为,且在需要时触手可及。开发者在使用时若遵从以下指引,会得到更佳的用户体验。
以上,我们陈列了最重要的几点,如果你有时间,可以完整浏览《设计指南》,相信会有更多的收获。
从基础库 2.4.0 开始,支持转发动态消息。动态消息对比普通消息,有以下特点:
动态消息有状态、文字内容、文字颜色。
消息有两个状态,分别有其对应的文字内容和颜色。其中状态 0 可以转移到状态 0 和 1,状态 1 无法再转移。
状态 | 文字内容 | 颜色 | 允许转移的状态 |
---|---|---|---|
0 | "成员正在加入,当前 {member_count}/{room_limit} 人" | #FA9D39 | 0, 1 |
1 | "已开始" | #CCCCCC | 无 |
每个状态转移的时候可以携带参数,具体参数说明如下。
参数 | 类型 | 说明 |
---|---|---|
member_count | string | 状态 0 时有效,文字内容模板中 member_count 的值 |
room_limit | string | 状态 0 时有效,文字内容模板中 room_limit 的值 |
path | string | 状态 1 时有效,点击「进入」启动小程序时使用的路径。对于小游戏,没有页面的概念,可以用于传递查询字符串(query),如 "?foo=bar" |
version_type | string | 状态 1 时有效,点击「进入」启动小程序时使用的版本。有效参数值为:develop (开发版),trial (体验版),release (正式版) |
每条动态消息可以理解为一个活动,活动发起前需要通过 updatableMessage.createActivityId 接口创建 activity_id。后续转发动态消息以及更新动态消息都需要传入这个 activity_id。
活动的默认有效期是 24 小时。活动结束后,消息内容会变成统一的样式:
通过调用 wx.updateShareMenu 接口,传入 isUpdatableMessage: true,以及 templateInfo、activityId 参数。其中 activityId 从步骤一中获得。
wx.updateShareMenu({
withShareTicket: true,
isUpdatableMessage: true,
activityId: '', // 活动 ID
templateInfo: {
parameterList: [{
name: 'member_count',
value: '1'
}, {
name: 'room_limit',
value: '3'
}]
}
})
动态消息发出去之后,可以通过 updatableMessage.setUpdatableMsg 修改消息内容。
对于不支持动态消息的客户端版本,收到动态消息后会展示成普通消息
© 2023 mianshi8.net MIT license