微信小程序 一次性订阅消息
2020-12-01 本文已影响0人
devmao
目的
消息的本质是为了服务,但服务和骚扰只有一墙之隔,因此微信对订阅消息加了很多限制和优化。最主要的便是把选择权留给用户。
辨析
一次性订阅消息:用户一次订阅,服务端可以不限时间的下发一条服务消息。调用wx.requestSubscribeMessage(Object object)来让用户订阅。如果用户没有勾选“总是保持以上选择,不再询问”,则每次都会弹框询问,供用户选择;反之,则不再弹窗询问,直接在该方法的success中返回用户保持的选择。注意该方法只可以在用户发生点击行为或者发起支付回调后,才可以调用成功。并且是在真机。几个常见疑问如下:
- 想要用户收到消息,必须每次都要调用wx.requestSubscribeMessage(Object object)来订阅,并且允许后只可收到一条消息。
- 勾选“总是保持以上选择,不再询问”,只是不再弹框询问,并没有其他功能。即便勾选了该选项,之后想要给用户推送一条消息,也要调用wx.requestSubscribeMessage(Object object)来订阅。
- 每次订阅只可收到一条消息,例如论坛类,发帖成功后,订阅消息,接收其他用户回帖时的提醒消息。该发帖用户,只会收到一条消息,即第一位回帖用户的消息提醒。原因是每次发帖者只订阅了一次。
长期订阅消息:目前只对特定行业开放,如政府民生、金融、医疗等,因为我们没有权限,也没做深入研究,本次暂不做讨论。
使用场景
- 支付回调后
- 操作时,注意触发方法需为bindTap事件,先请求用户订阅wx.requestSubscribeMessage(Object object),在该方法的success、fail回调里执行操作后续。这样的情景:1. 弹窗供用户选择,用户选择确定或取消都会在success里执行,然后执行后续;2用户勾选了“总是保持以上选择,不再询问”,便不会载弹窗询问,而是直接一气呵成执行完该方法。