028-86261949

当前位置:首页 > 技术交流 > 小程序模板消息取消后该怎么推送消息

小程序模板消息取消后该怎么推送消息

2019/12/16 16:27 分类: 技术交流 浏览:1

推送模板消息在小程序中是一个非常重要的功能,包括硬件连接等等都需要模板消息的直接,在前段时间,微信公布:小程序模板消息接口将于2020110日下线,开发者可使用订阅消息功能

当然,在以前小程序发送模板消息实现也非常简单,根据官网API一步到位。

 

大概就分为3个步骤
在微信后台创建模板
获取下发的权限
调用发送接口,发送消息

 

模板消息和订阅消息的区别???


为什么微信要把模板消息下线,要上线订阅消息呢?从发送小程序的步骤来看,只有“获取下发的权限”是可动的,其余的两步都是相同的。
我们开发者要借助微信平台向用户发消息,需要一个理由(下发的权限)。微信还是很注重用户体验的。
模板消息下发的理由是:用户最近在小程序活跃过,有过交互的行为(比如说表单提交)。那么开发者可以从这些交互行为中收集formId。一条formId会保留7天,当我们调用发送接口的时候需要消耗一条formId。如果该用户没有formId的话,那么我们则会发送失败,发送模板消息必须要携带formId


这个formId就是用户与小程序的交互凭证。

从模板消息的下发理由我们可以发现:下发的权利是掌握在我们开发者手上的,只要我们通过用户的各种行为收集到大量的formId,那我们在7天内就可以发送多条消息给到用户。
订阅消息的下发理由是:把消息是否推送的权利还给用户。用户来决定能不能收到推送,简单来说就是:
当用户触发某些场景时,给用户弹框,让用户决定是否收到推送(而且只会收到一次)

 

微信官方规定


不允许恶意诱导用户进行触发操作,以达到可向用户下发模板目的
不允许恶意骚扰,下发对用户造成骚扰的模板
不允许恶意营销,下发营销目的模板
标题不能涉及营销相关内容,包括不限于:消费优惠类、购物返利类、商品更新类、优惠券类、代金券类、红包类、会员卡类、积分类、活动类等营销倾向通知

微信会检测你的模板有无问题,如果有问题就会把你的模板给删掉(当然了,也不让你创建可能是营销类的模板)。没有了模板,消费就发不出去了。
总的来说:微信会通过各种方式来限制你的消息下发,目的是想让用户收到他自己想要的消息。这次将模板消息改成订阅消息,更是把下发消息的权限交给用户了。

 

怎么接入推送小程序消息


首先,针对在微信后台创建的模板,我们是先把微信后台的模板拉取到自己的数据库保存起来,然后再做一个管理页面对模板进行管理。


如果某个消息使用到了该模板,我们同样也会做关联起来(因为这样可以方便查阅哪些消息使用了这个模板)正因为有了这个功能,所以我们这次迁移就可以很方便整理出目前还在使用的模板有哪些,使用的场景在哪。后续只要将消息的模板ID改成订阅消息的模板ID就好了。
在模板消息的时候,前端会打formId的点,我这边会在Storm将MQ的数据清洗放到Redis里边。然后我这边在发送之前就判断用户有没有对应的formId。
现在微信将模板消息改为订阅消息,formId的收集到我这边的Storm解析进Redis的操作都免去了。微信貌似也没有提供接口给我判断用户是否有授权过。所以我只能在调用下发接口时,根据返回值来判断用户是否授权。
前端只要在必要的场景下弹窗,让用户授权


所以,现在如果要下发一条消息主要有两个步骤:
在推送后台新建一条消息(选择微信的模板、消息创建者的基本信息、消息相关的规则处理(是否去重等等)
业务方调用我暴露的接口

 

总结,小程序推送消息不难,也仅仅是几个接口而已。现在改版为订阅消息后,那接入起来就更加方便了。再过一个月,使用小程序的时候可能就会收到各种的弹窗提醒你们是否要授权xxx模板消息。

 

#标签:小程序,小程序模块消息,小程序订阅消息