最近对公司小程序接入微信小程序中的一次性订阅消息,与以前 微信小程序的坑 (二)只能触发一次的一次性订阅消息 里面提到的几个要素没有太大区别,主要还是要注意几个重要点:

  • 订阅消息的前缀是“一次性”,意味着想要需要重复触发,且微信只允许在点击时间内调起订阅
  • 用户点击了“总是允许”只表示下次订阅不需要显式订阅,只要调起就可以得到默认授权
  • 构建订阅消息模板内容的 data 时要注意格式,尤其是订阅消息参数值内容限制说明

这次主要遇到的是最后一个问题,比如 thing.DATA 类型字段需要目前限制在 20 个字符以内,否则就会报错。格式方面比如 number02.DATA 取的 key 就是 data.number02,值为 data.number02.value

另外因为有专业前端,这边参考怪兽,想到了微信一次性订阅消息的可用的使用方法。首先是在 用户中心 或者说 我的 页增加一个 消息管理,里面控制订阅消息订阅的主动触发。如果选择了“总是允许”,这会有了一个类似订阅消息开关的作用。然后在业务核心点击事件回调里判断用户是否打开了订阅消息开关,如果开启了则调用订阅消息,其静默授权不会影响正常的业务流程。

PS:聊点别的,最近 2022 卡塔尔世界杯连续两个冷门,先是有梅西的阿根廷 1:2 败于沙特,之后又是日本 2:1 战胜德国。昨晚有C罗的葡萄牙3:2 险胜加纳,后面甚至因为守门员失误差点被偷家,但还好没有。我看的几场除了有些国家队可能因为综合素质较差没有产生威胁外,夺冠热门球队看着都有些风险。解说还提到现在的梅西跑不动了,要是 5 年前或 10 年前怎样怎样,C罗也是一样。最近C罗过的相当不好,和前俱乐部曼联闹各种矛盾冲突,还被禁赛,新闻提到如果葡萄牙夺冠,C罗就退役。查了一下C罗 37 周岁,梅西 35 周岁,都不年轻了,这次的世界杯应该会是他们参加的最后一次世界杯了。