提示:本文共有 1862 个字,阅读大概需要 4 分钟。
小程序小故事10——群聊能力小程序小故事10——群聊能力
快应用
百家号05 1822:59我们在后台收到很多朋友的反馈,希望更好的运用小程序群聊的能力。于是我们想写写群聊的故事。
微信群是小程序在微信这个社交工具下传播的重要途径,我们经常能通过群聊看见小程序的身影。我们希望开发者在实现小程序逻辑的时候,能理解每一个群聊,可实现小程序与各个群聊紧密相关的功能。
基于此,我们开放了群聊 ID(openGID)的功能,供开发者区分标识每个群聊。对于每个群聊而言,小程序所获取到的 openGID 是不变的。但对于同一个群,不同的小程序内获得的 openGID 是不一样的。这一特性类似于标识用户身份的 openID。
拥有了群聊 ID,开发者可以把用户的操作按照群聊 ID 来聚合、沉淀信息,实现群协作功能。此外,通过 openID+openGID 的方式,还可以实现群排行的功能。
例如“群影”小程序以群聊ID聚合用户上传的图片,实现群相册的功能。
01如何获取群聊ID
开发者获取 openGID 要依托于用户转发到群聊的小程序卡片,具体步骤如下:
1设置带 shareTicket 的分享
在小程序内,开发者调用接口wx.updateShareMenu 带参数withShareTicket:true ,设置当前页面分享到群聊时能获取 openGID。而shareTicket本身就是获取 openGID 的凭证。
而 iOS/Android App 分享场景当中,微信SDK也支持把所分享的消息设置成带 shareTicket。
值得注意的是,带 shareTicket 的分享卡片会被固定在某个群聊的,也就是说分享卡片会变成不能被长按转发。
2由启动参数获取 shareTicket
当用户从某个带 shareTicket 的卡片进入小程序时,开发者可以在App.onLaunch 或者App.onShow 获取 shareTicket,而在小游戏上开发者可以通过监听 wx.onShow 或者同步调用wx.getLaunchOptionsSync 获取shareTicket。
shareTicket 实际上是小程序启动时临时生成的变量,在小程序生命周期内仅作为调用接口的凭证。生命周期结束后 shareTicket 就没有意义了。
3通过 shareTicket 获取 openGID
开发者调 wx.getShareInfo 接口以 shareTicket 换取 openGID 的加密数据包,这是为了保证开发者服务器收到的 openGID 是可信的,开发者需要把加密数据交由后台解密,拿到真实的 openGID。数据加密机制更多请参看[数据加密相关文档]。
注意事项
由于2018年7月5日起,新提交发布的小程序版本将无法通过用户分享获得群ID,即开发者通过wx.onShareAppMessage获取群 ID 的方式将不再支持,后续仅支持通过启动参数获取群 ID。请开发者及时调整。
02群聊名称组件
除了群聊 ID 以外,开发者还能使用群聊对应的名称。出于保护用户隐私的考虑,我们不会把真实的群聊名称暴露给开发者,而是通过 open data 组件让开发者在小程序前端展示某个 openGID 对应的群名称。
其中 openGID 就是小程序获取到的群聊 ID。 open data 组件只展示那些用户所在群聊ID对应的名称。如果设置了非微信提供的群聊 ID,将无法展现群聊名称。
03群聊功能
1分享设置
wx.updateShareMenu : [查看文档]
2小程序启动参数
App.onLaunch / App.onShow : [查看文档]
3小游戏启动参数
wx.onShow : [查看文档]
getLaunchOptionsSync : [查看文档]
4获取 openGID
wx.getShareInfo : [查看文档]
5群名称组件
open data : [查看文档
(文章来源:微信官方
本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表立场。未经作者许可,不得转载。
快应用
百家号最近更新:05 1822:59简介:第一时间深度解析小程序最新动态!
作者最新文章小程序??小故事10——群聊能力05 1822:5905 1419:3805 1118:03相关文章山西晚报新媒体05 18搜狐05 18东方头条05 12小城两三事05 13cnBeta05 12??Baidu京ICP证030173号返回顶部看到此处说明本文对你还是有帮助的,关于“小程序小故事10——群聊能力”留言是大家的经验之谈相信也会对你有益,推荐继续阅读下面的相关内容,与本文相关度极高!