codecamp

QQ小游戏 转发

注: 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: '转发标题'
})

使用 Canvas 内容作为转发图片

如果不指定转发图片,默认会显示一个小程序的 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
})
QQ小游戏 虚拟支付
QQ小游戏 广告
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

QQ小程序 开发

硬件能力

QQ小程序 云开发

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }