评论

一眼告诉你什么是订阅消息了,看完就懂订阅消息。

用户A动作后,发消息通知用户B,如何保证B能收到消息?

消息通知有两种:

一、A的动作后,发消息给A自己,这种容易解决,不多说明;

二、A动作后,发消息给B(比如管理员、店家、楼主),如何保证B收到消息?这种是本方案要解决的问题。


一张图片一眼告诉你什么是订阅消息,产品经理的设计UI居然让人一眼就知道订阅消息是什么玩意。



用户 B (管理员、商家、组长、楼主)在知道订阅数不足后,打开小程序来续订阅数,否则没法收到订阅消息。



补充一:

关于勾选按钮,请注意话述是:“总是保持以上选择,不再询问”,而不是:“总是同意接收订阅消息”,不要幻想就成了永久性订阅消息;

相当于你打电话订外卖,对店家说“老样子”,店家只会马上送一次外卖,而不是会以后每天自动给你送外卖了。

勾选和不勾选的区别是什么呢?

区别仅仅是:不勾选时,必须点击订阅10次,弹窗10次;勾选后,仍然必须点击订阅10次,但是不弹窗。无论如何“订阅”这个点击n次的动作少不了。


补充二:

一旦勾选后,就不可逆了,没有任何办法恢复或取消勾选了,除非你小程序MP后台换一次消息模板号(删除模板,重新添加一次)。


补充三:

关于如何保存订阅数。

保存在数据库中,笔者用的是云开发,数据库表user结构如下:

{
  _id:'openid1',
  nickName:'老张',
  msg:{
    "tempId1":5,
    "tempId2":7,
  }  
}


补充四:

关于如何获取订阅数。两种方式:

一、wx.requestSubscribeMessage的回调success里获取;

二、消息推送机制获取;https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/message-push.html



最后一次编辑于  2022-09-21  
点赞 25
收藏
评论

62 个评论

  • 哦豁完蛋
    哦豁完蛋
    2020-06-05

    挺好的,订阅消息那页的代码能发下吗

    2020-06-05
    赞同
    回复
  • 聂
    2020-05-25

    请教下,如果通过公众号来发送这种通知类的消息给小程序可以解决吗?


    2020-05-25
    赞同
    回复 2
    • 老张
      老张
      2020-05-25
      通过unionid打通小程序和公众号。
      2020-05-25
      回复
    • 聂
      2020-05-25回复老张
      感谢!实际业务场景是小程序上收集到用户信息,也引导用户授权总是接收订阅消息,然后后台业务上需要发送通知给用户,小程序这订阅消息无法满足,只能更换为通过公众号来发送了。
      2020-05-25
      回复
  • 何忠峰
    何忠峰
    2020-05-22

    你知道吗?当选择了『总是保持以上选择』以后,无论是允许和拒绝,以后都不弹窗授权了,后台也发不了订阅消息了(无论允许或者拒绝,都发不了)~日,这是什么样的逻辑啊?太脑残了

    2020-05-22
    赞同
    回复 3
    • 老张
      老张
      2020-05-22
      这种情况下,就点击截图上的“微信授权设置”里去更改,也即wx.openSetting了解一下。
      2020-05-22
      回复
    • 何忠峰
      何忠峰
      2020-05-22回复老张
      现在发现是检测setting的时候有问题(能检测到授权,但是后台发消息会显示没授权),想在弹框之前先检测下是否有订阅消息的授权~现在改成了每次直接申请订阅权限
      2020-05-22
      回复
    • 珂师傅Karma🤟
      珂师傅Karma🤟
      2020-10-29回复何忠峰
      ??没看懂这篇文章么    没次数了续次数吧
      2020-10-29
      回复
  • 2020-05-21

    哥们,你已经很牛逼了,但是还是被我发现了一个BUG

    假如勾选“总是保持以上选择,不再询问”,并且上面三条只勾选其中一个,然后点击允许

    然后点击“以上全部订阅”,这时不会弹窗

    但是你上面统计的条数: 每点击一次“以上全部订阅”,上面三条模板消息一起+1

    应该是勾选的那一条 +1

    未勾选的不 +1

    “总是保持以上选择,不再询问” 既表示记住勾选,也表示记住未勾选

    勾选的+1 不勾选的不变化

    2020-05-21
    赞同
    回复 1
    • 老张
      老张
      2020-05-21
      是有这个bug,回调里只判断了第一个是否accept,想省事。有时间再修复这个吧。
      2020-05-21
      1
      回复
  • ghostsf
    ghostsf
    2020-05-21

    哎 没法用长期订阅 要主动给小程序用户推消息的话

    只能通过公号做闭环了。

    或者走其他的通知途径,邮件短信什么的。

    一次性订阅消息是被动推送的,其实,不应该用来做主动推送。

    2020-05-21
    赞同
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-05-21

    苹果手机不能购买??

    2020-05-21
    赞同
    回复 1
    • 老张
      老张
      2020-05-21
      100%属于虚拟支付啊。
      2020-05-21
      回复
  • 子凯
    子凯
    2020-05-19

    赞同这种方式,需要订阅消息的用户自然会去点,不需要的用户也不必去打扰他,按照现在的订阅消息的规定,这真的是最优解了。

    2020-05-19
    赞同
    回复
  • 活水~
    活水~
    2020-05-13

    订阅消息增加的按钮对应的逻辑还是放在用户无感操作的地方,要不然还得手动来点订阅,有点反人类

    2020-05-13
    赞同
    回复 3
    • 老张
      老张
      2020-05-13
      你放一个来看看。做得到的话还等你说。
      2020-05-13
      回复
    • ghostsf
      ghostsf
      2020-05-21回复老张
      无感操作 可以放到点页面切换或者所有点击的地方(有点无赖,哈哈),用户如果选了不再询问就还好,没点的话,就是经常弹。
      2020-05-21
      回复
    • 老张
      老张
      2020-05-21回复ghostsf
      本想用时间差来判断用户是否勾选了“总是”,点击授权后马上就触发回调的话,表示已经勾选了。但是觉得很无聊,就算弄出来了,没准微信又改消息机制了。
      2020-05-21
      回复
  • 雨声
    雨声
    2020-05-08

    目前来说,对有需求接收消息提醒的用户算是见过最友好的方案的了。

    2020-05-08
    赞同
    回复
  • river
    river
    2020-04-12

    请问你这个订阅次数在用户收到消息后怎么自动减1??

    2020-04-12
    赞同
    回复 2
    • 老张
      老张
      2020-04-12
      数据库里inc
      2020-04-12
      1
      回复
    • river
      river
      2020-04-12回复老张
      哦,明白,谢谢。
      2020-04-12
      回复

正在加载...

登录 后发表内容