当前位置:   article > 正文

微信小游戏推送(小游戏礼包功能)服务器端接入开发经验总结_微信小游戏服务器

微信小游戏服务器

本文我将分享给大家关于微信小游戏推送的一些接入开发经验,首先微信小游戏的消息推送是他们开放平台推出的 一种主动推送服务,基于该推送服务,开发者及时获取开放平台相关信息,无需调用API。 这里我给大家分享下开发者服务器接收消息推送的经验。

    1. 如何接入接入消息推送功能(go语言代码实现)

    2. 使用安全模式接受微信消息推送并返回消息(go语言代码实现)

这里我就以小游戏礼包的这种推送方式来举例,其他的消息推送大同小异,你只需要修改包体的格式即可。 有任何疑问都可以在文章下方留言交流。

小游戏礼包

功能介绍

小游戏开发者的游戏内道具,可通过接入平台「礼包系统」,在微信平台各场景发放游戏礼包。 发放场景包括:游戏圈、活动运营工具、发现-游戏-福利中心、广告、搜索等

道具礼包发货基于微信小游戏统一的消息推送能力,因此在使用礼包中心的发货回调时,需要开发者服务器处理好消息推送的协议。 注意:MP配置消息回调地址只有1个,所有消息推送场景都会使用该通道,所以需要先根据MsgType与Event来判断消息类型,进行相应的处理。

下面是发送和返回的格式:

 更多详情可以查看文档: 小游戏礼包 | 微信开放文档

开发者服务器接收消息推送

接下来我们着重讲下小游戏安全模式下的数据链路:

消息推送服务器配置

消息推送服务于小程序、公众号、小游戏、视频号小店、第三方平台,这里介绍小程序平台的配置

填写相关信息

登陆小程序管理后台,在「开发」-「开发管理」-「消息推送配置」中,需填写以下信息:

  1. URL服务器地址:开发者用来接收微信消息和事件的接口 URL,必须以 http:// 或 https:// 开头,分别支持 80 端口和 443 端口。
  2. Token令牌:用于签名处理,下文会介绍相关流程。
  3. EncodingAESKey:将用作消息体加解密密钥。
  4. 消息加解密方式:
    • 明文模式:不使用消息加解密,明文发送,安全系数较低,不建议使用。
    • 兼容模式:明文、密文共存,不建议使用。
    • 安全模式:使用消息加解密,纯密文,安全系数高,强烈推荐使用。
  5. 数据格式:消息体的格式,可选XML或JSON。

 发起验证的工具大家可以使用 微信调试工具

验证逻辑go代码实现

其中,signature签名的生成方式是:

  1. 将Token、timestamp、nonce三个参数进行字典序排序。
  2. 将三个参数字符串拼接成一个字符串进行sha1计算签名,即可获得signature。 开发者需要校验signature是否正确,以判断请求是否来自微信服务器,验签通过后,请原样返回echostr字符串。 

验证接口的核心逻辑如下:

  1. func (c *ThirdPartyServiceController) WechatVerify() {
  2. keys := make([]string, 0)
  3. keys = append(keys, c.GetString("timestamp"))
  4. keys = append(keys, c.GetString("nonce"))
  5. keys = append(keys, beego.AppConfig.String("miniwechat_token")) //配置文件提前配置好小游戏的token,从小游戏后台可以获取
  6. sort.Strings(keys)
  7. signstr := keys[0] + keys[1] + keys[2]
  8. mysign := Sha1Signature(signstr)
  9. sign := c.GetString("signature")
  10. if sign == mysign {
  11. c.Ctx.WriteString(c.GetString("echostr"))
  12. return
  13. }
  14. c.Ctx.WriteString(c.GetString("echostr"))
  15. }

 签名函数实现如下:

  1. func Sha1Signature(text string) string {
  2. hash := sha1.New()
  3. hash.Write([]byte(text))
  4. return fmt.Sprintf("%x", hash.Sum(nil))
  5. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/808460
推荐阅读
相关标签
  

闽ICP备14008679号