目录
一、转发
1、获取更多转发信息
- 通过调用 wx.showShareMenu 并且设置
withShareTicket
为true
; - 当用户将小程序转发到任一群聊之后,此转发卡片在群聊中被其他用户打开时,可以在 App.onLaunch 或 App.onShow 获取到一个
shareTicket
。通过调用 wx.getShareInfo 接口传入此shareTicket
可以获取到转发信息。
2、页面内发起转发
通过给 button
组件设置属性 open-type="share"
,可以在用户点击按钮后触发 Page.onShareAppMessage
事件,相关组件:button。
Tips
- 不自定义转发图片的情况下,默认会取当前页面,从顶部开始,高度为 80% 屏幕宽度的图像作为转发图片;
- 转发的调试支持 普通转发的调试支持 和 带 shareTicket 的转发;
- 只有转发到群聊中打开才可以获取到
shareTickets
返回值,单聊没有shareTickets
; shareTicket
仅在当前小程序生命周期内有效;- 由于策略变动,小程序群相关能力进行调整,开发者可先使用 wx.getShareInfo 接口中的群 ID 进行功能开发。
二、动态消息
- 消息发出去之后,开发者可以通过后台接口修改部分消息内容。
- 消息有对应的提醒按钮,用户点击提醒按钮可以订阅提醒,开发者可以通过后台修改消息状态并推送一次提醒消息给订阅了提醒的用户
1、消息状态
(1)、消息有两个状态,其中状态 0 可以转移到状态 0 和 1,状态 1 无法再转移。
状态 | 文字内容 | 颜色 | 允许转移的状态 |
---|---|---|---|
0 | "成员正在加入,当前 {member_count}/{room_limit} 人" | #FA9D39 | 0, 1 |
1 | "已开始" | #CCCCCC | 无 |
(2)、状态参数
每个状态转移的时候可以携带参数,具体参数说明如下。
参数 | 类型 | 说明 |
---|---|---|
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 (正式版) |
2、使用方法
(1)、创建 activity_id
每条动态消息可以理解为一个活动,活动发起前需要通过 updatableMessage.createActivityId 接口创建 activity_id
。后续转发动态消息以及更新动态消息都需要传入这个 activity_id
。
活动的默认有效期是 24 小时。活动结束后,消息内容会变成统一的样式:
- 文字内容:“已结束”
- 文字颜色:
#00ff00
(2)、在转发之前声明消息类型为动态消息
通过调用 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'
}]
}
})
(3)、修改动态消息内容
动态消息发出去之后,可以通过 updatableMessage.setUpdatableMsg 修改消息内容。