收藏
回答

为什么用户允许了订阅,wx.getSetting却获取不到订阅内容呢?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.getSetting 微信iOS客户端 8.0.47 1.0.0

问题描述:

用户取消勾选“总是保持以上选择”,然后点击允许订阅

wx.getSetting 获取不到模板订阅状态。获取方法如下

    wx.getSetting({
      withSubscriptions: true,
      success(res) {

     console.log(res.subscriptionsSetting)
    // res.subscriptionsSetting = {
    //   mainSwitch: true, // 订阅消息总开关
    //  每一项开关 ↓↓↓↓↓ 无内容
    // }
      },
      fail(err) {
        console.error(err)
      }
    })


允许订阅后,从设置里查看通知管理,如下

打印日志如下:


说明:

  1. 订阅消息用的是 wx.requestSubscribeMessage ,模板 id 肯定是传入了, 而且 id 是个正确的。
  2. 如果不取消勾选“总是保持以上选择”,wx.getSetting 就能获取每一项模板 id 订阅状态。
  3. 用户不取消勾选“总是保持以上选择”,然后点击允许订阅。wx.requestSubscribeMessage 是能获取模板 id 订阅状态,但是由于wx.requestSubscribeMessage 会唤起订阅弹窗,所以无法使用它来做为每次查询订阅状态的方法。
  4. 补充:订阅模板 id 是一次性模板 id。没有试过长期的


急需解决的点:

为什么取消勾选“总是保持以上选择”,wx.getSetting 就获取不到每一项模板 id 订阅状态?

如何才能在用户取消勾选“总是保持以上选择”,wx.getSetting 获取每一项模板 id 订阅状态呢?


最后一次编辑于  10-06
回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容