参考文章:
wx.requestSubscribeMessage调用失败,如下原因是什么?
requestSubscribeMessage:fail can only be invoked by user TAP gesture
这是订阅消息弹窗时返回的错误信息
原因: 不是用户点击或者支付回调触发的订阅消息弹窗
解决:
将事件改成点击的,由bindtap来触发。
过程:
玩大转盘时,在开发者工具、别人手机都能唤起订阅消息弹窗,但是我的手机就是不行。
在我手机玩其他游戏,又能唤起订阅消息弹窗。
给大转盘换了一个消息模板id,在我手机还是无法唤起。
后来给订阅消息弹窗输出错误信息,再在手机调试,就看到了错误信息。用错误信息查才找到原因
大转盘的抽奖按钮,用了canvas,它优先级高于view,所以手机上点击时,实际是触发了bindtouchstart,bindtouchstart再去调用抽奖的方法。文章来源:https://uudwc.com/A/BnnAd
将canvas注释了,只用view,点击时就能触发view里的bindtap,订阅消息弹窗就顺利弹出了。文章来源地址https://uudwc.com/A/BnnAd