携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第2天,点击查看活动详情
业务场景:
这是之前遇到的一个需求,微信小程序用户下单之后,需要给平台的回收小哥推送一条消息通知接单,由于回收小哥是多个并且微信订阅消息推送需要用户点击允许之后才能接收到消息,所以订阅消息不适用于该场景,这里便使用到了微信公众号模板消息,通过公众号推送模板消息也可以通过点击消息进行跳转到小程序指定页面。
其实这次的代码跟uniapp并没有什么联系,公众号消息推送也不需要在小程序的代码里面配置任何东西,只需要在服务端代码里面开发即可。
消息推送成功的条件:
-
接收消息的用户必须关注该公众号,并且不设置拒绝消息通知。 -
在公众号管理平台关联小程序。
开发步骤
首先要登录微信公众平台进行模板消息的设置,登录微信公众平台,在【广告与服务】下【模板消息】里进行设置所需要的消息模板。
- 设置所属行业
设置行业可在微信公众平台后台完成,每月可修改行业1次,帐号仅可使用所属行业中相关的模板。
- 获取模板ID
获取帐号设置的行业信息。可登录微信公众平台,在公众号后台中查看行业信息。
- 发送模板消息
其中设置所属行业和获取模板ID微信也提供了接口,也可以通过接口的方式来设置获取,不过这里的模板消息变动不大,设置一次后期几乎不用变动,所以直接在管理后台设置即可。
有了消息模板ID之后就可以在代码里面进行配置。
注意: 公众号推送种类的openid不是小程序获取到的openid,而且要通过公众号提供的接口获取。
获取方式:
1.获取微信公众号的access_token,需要公众号AppID与AppSecret。
2.拿着获取到access_token去获取公众号关注的用户(我这边是针对关注的用户做了筛选,只推送想要推送的用户,具体根据自己的业务来定)。
总结:
通过以上方法虽然可以正常推送了,但是还有一些设计不完善的地方,就是推送用户处理这里,因为公众号关注的用户是会变动的,所以推送的时候要针对所推送用户群体进行筛选,不过这里是跟具体业务有关,后续再进行优化。接下来再具体写一下公众号与小程序获取access_token与openid的细节,敬请期待~。