• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

小程序订阅消息踩的那些坑,希望帮助到您

原作者: [db:作者] 来自: [db:来源] 收藏 邀请


2019年10月份,微信在小程序模块消息能力方面公布了一项重大调整。原有的模块消息将升级为「订阅消息」,支持一次性和长期性订阅消息。而模块消息已于2020年1月10日下线,小程序将无法再使用原接口推送模板消息,因此开发者需要及时进行调整。

以下是作者在小程序订阅消息开发中遇到的一些坑:

第一坑: 在开发者工具中无法显示订阅消息的列表且无勾选选择;

  • 再使用wx.requestSubscribeMessage调起客户端小程序订阅消息界面时,假如传了多个tmplIds时,在开发者工具中也只能看到一个,无法把整个列表展示出来;
    如下图所示:

实际我在开发过程中,tmplIds传了三个(一次性最多授权限制也是三个)

而真机表现为:

第二坑: 在开发者工具中无法显示不再询问勾选项;

  • 由于官网说明:

调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果。当用户勾选了订阅面板中的“总是保持以上选择,不再询问”时,模板消息会被添加到用户的小程序设置页,通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态。

假如我们需要在客户端看到勾选不再询问下wx.getSetting的到底返回了什么,那么你需要通过真机测试才能看到,这里还有一个坑就是,假如你未使用不再询问这个选项,那么wx.getSetting是获取不到任何状态的

第三坑: 多次订阅一次性消息时;

  • 在订阅消息时,假如两条不一样的订阅消息,假如用户第一条订阅消息勾选了不再询问,那么第二条不一样的订阅消息依旧有弹出授权弹窗,即每条订阅消息相互独立,互不影响;

第四坑: 勾选了不再询问时;

-对于wx.requestSubscribeMessage,即使你勾选了不再询问依旧会调用这个函数并且走相应的逻辑,只是不会弹出弹窗而已

第五坑: 当多个订阅消息同时授权时;

  • 由于订阅消息一次性只能最多授权三条订阅消息,假如用户在授权过程中,只勾选三条中的其中一条, 并且勾选了不再询问按钮,后点击允许,那么其中没勾选的两条订阅消息将不会再弹出授权,即类似为"永久拒绝"状态;

  • 假如在一次性授权三条订阅消息时,倘若勾选了其中一条,剩下两条未勾选,且勾选了不在询问按钮,后点击拒绝,那么其中一条会为永久拒绝状态,但其中的两天虽然未拒绝,但也不会再这次操作中重新有授权的机会;除非你再其他操作给他们两条订阅消息重新触发wx.requestSubscribeMessage

第六坑: 当订阅消息频繁触发时;

  • 当订阅消息频繁触发时,wx.requestSubscribeMessage会报错,错误提示为:fail last call has not ended;即上一次订阅消息还未调用结束,这是个大坑,目前还没有解决,拒绝解决时间可以参照这个贴微信开放社区

总结:

目前订阅消息尚且有些bug或者文档不够明确的地方,未来持续关注和更新罢


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap