更新完微信服务号的模板消息之后,我又赶紧把微信小程序的订阅消息给实现了!之前我一直以为微信小程序也是要企业才能申请,没想到小程序个人就能申请。

本想着跟微信服务号的模板消息一样,我去申请一个「测试号」,就能下发微信小程序的订阅消息了。但微信小程序的订阅消息一直不支持「测试号」下发。

于是,我就注册了一个微信小程序,拿到我的小程序appIdsecret,并在微信后台创建了几个订阅消息的模板。

使用Java接入小程序订阅消息!-LMLPHP

紧接着,这个把小程序的账号就接入到消息推送平台的账号管理体系下:

使用Java接入小程序订阅消息!-LMLPHP

写几行代码得到刚才创建的模板,顺便跟前端来个简单的交互:

使用Java接入小程序订阅消息!-LMLPHP

使用Java接入小程序订阅消息!-LMLPHP

改几行代码,把具体调用微信的逻辑给补上,有SDK的加持下这种代码就是10min就完成了,非常简单。

使用Java接入小程序订阅消息!-LMLPHP

实现小程序的订阅消息推送,我花的时间最长就花在这下面啦:

1、拥有自己的小程序(拥有调试基础)

2、让自己的登录到这个小程序里(得到openId)

3、小程序弹窗让我能授权给微信发送订阅消息(得到推送权限)

小程序的账号我已经创建好了,但是小程序是没有任何内容的。于是我就在小程序的后台点点点,顺便看看小程序一般是怎么开发的。于是,我就看到了微信小程序的开发者工具:

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

下载了之后,这个小工具给我推荐「云开发」,只要花点钱我就可以调用云函数了。虽然要19.9块,有点肉疼。但省时间的事,我咬咬牙就上了。

使用Java接入小程序订阅消息!-LMLPHP

完了以后,我在小程序工具箱里翻了好几个模板,看看有没有我想要的功能:登录小程序获取openId、弹窗让我授权模板发送消息。你别说,真给我翻到一个:

使用Java接入小程序订阅消息!-LMLPHP

我是没做过小程序的,自然就不会小程序开发,于是就只能摸石头过河了。花了一天多,发现我在这个demo项目里获取的openId就是死活的调不通小程序(报错就说不合法openId)。

经过漫长的调试,我忍不了了,再这样耗下去是不行的了。我直接去GitHub看看有没有现成的demo,随便一搜,还真的有。

使用Java接入小程序订阅消息!-LMLPHP

https://github.com/zhangkaizhao/wxapp-subscribe-message-demo

直接将「wxapp」文件下导入到小程序的开发工具里,一看,还真能用,代码又少。回看同步openId的代码,原来是要调接口请求微信做鉴权的呀。

使用Java接入小程序订阅消息!-LMLPHP

于是我在消息推送平台里也临时写了接口进行鉴权,在小程序调用登录的时候改下入参就完事咯。

使用Java接入小程序订阅消息!-LMLPHP

使用Java接入小程序订阅消息!-LMLPHP

经过登录凭证校验之后,我们就能拿到openId,把订阅消息的权限界面给唤起,点击允许,就能在消息推送平台下发送一条小程序的订阅消息啦。

使用Java接入小程序订阅消息!-LMLPHP

使用Java接入小程序订阅消息!-LMLPHP

代码方面我就不细说啦,感兴趣的同学可以把项目搞下来玩玩,源码都是有的。这几天还在疯狂更新中,看看目前的消息渠道接入的情况吧?

如果想学Java项目的,强烈推荐我的开源项目消息推送平台Austin(8K stars) ,可以用作毕业设计,可以用作校招,可以看看生产环境是怎么推送消息的。开源项目消息推送平台austin仓库地址:

04-20 17:47