注: shareTicket
Android客户端从8.0.5版本、iOS客户端从8.0.6版本开始支持。
用户在使用小游戏过程中,可转发消息给其他用户或群聊。
点击右上角按钮,会弹出菜单,菜单中的“转发”选项默认不展示。通过 qq.showShareMenu() 和 qq.hideShareMenu() 可动态显示、隐藏这个选项。
用户点击右上角菜单中的“转发”选项后,会触发转发事件,如果小游戏通过 qq.onShareAppMessage() 监听了这个事件,可通过返回自定义转发参数来修改转发卡片的内容,否则使用默认内容。
qq.onShareAppMessage(function () {
// 用户点击了“转发”按钮
return {
title: '转发标题'
}
})
游戏内可通过 qq.shareAppMessage()接口直接调起转发界面,与被动转发类似,可以自定义转发卡片内容。
qq.shareAppMessage({
title: '转发标题'
})
如果不指定转发图片,默认会显示一个小程序的 logo。如果希望转发的时候显示 Canvas 的内容,可以使用 Canvas.toTempFilePath() 或 Canvas.toTempFilePathSync() 来生成一张本地图片,然后把图片路径传给 imageUrl
参数。
转发出来的消息卡片中,图片的最佳显示比例是 5:4。
qq.onShareAppMessage(function () {
return {
title: '转发标题',
imageUrl: canvas.toTempFilePathSync({
destWidth: 500,
destHeight: 400
})
}
})
通过 qq.updateShareMenu 接口可修改转发属性。如果设置 withShareTicket
为 true
,会有以下效果
shareTicket
shareTicket
,通过调用 qq.getShareInfo() 接口传入 shareTicket
可以获取群相关信息修改这个属性后,同时对主动转发和被动转发生效。
// 设置 withShareTicket: true
qq.updateShareMenu({
withShareTicket: true
})