收藏
回答

订阅消息组件唤起问题?

错误提示: requestSubscribeMessage:fail can only be invoked by user TAP gesture.

根据错误搜索后排查过:

  1. 只是用了一次性订阅消息
  2. 只传了2个tmplId
  3. 用户通过 bindtap 唤起
  4. 线上无法唤起, 但在本地通过真机调试可以唤起消息通知弹窗


下面是代码部分截图, 是通过 bindtap 唤起, view外部没有包裹表单之类的代码

回答关注问题邀请回答
收藏

2 个回答

  • Lipeng
    Lipeng
    2022-06-23

    要把requestSubscribeMessage放在postbaoming方法的线程里执行,网络请求后回调不行。

    可以把postbaoming改成async,然后用await等待checkBeforeAddOrder结果后调用requestSubscribeMessage

    2022-06-23
    有用
    回复 3
    • Q
      Q
      2022-06-23
      可是 requestSubscribeMessage 就是在 postbaoming 方法里面同步执行的
      2022-06-23
      回复
    • Lipeng
      Lipeng
      2022-06-24回复Q
      你对同步执行有误解吧。明明是在checkBeforeAddOrder回调里执行的呀,这已经是异步的了。
      2022-06-24
      回复
    • Q
      Q
      2022-06-24回复Q
      你好, 确实是我理解错误了, 我把 wx.requestSubscribeMessage 和 wx.checkBeforeAddOrder 调换了下执行顺序可以了, 感谢回复
      2022-06-24
      回复
  • Lotso.^_^
    Lotso.^_^
    2022-06-23
    • 2.8.2 版本开始,用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面。
    2022-06-23
    有用
    回复
登录 后发表内容