评论

「笔记」订阅消息体验踩坑

本文主要是补充一下官方未提供的使用方法,和使用中与模板消息用法的不同。

前言

10月12日夜晚社区发了公告小程序模板消息能力调整通知,正式发布了 一次性订阅消息 这一能力,所以第一时间进行了体验。

本文主要是补充一下官方未提供的使用方法,和使用中与模板消息用法的不同。

文档地址

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html

使用方法

wx.requestSubscribeMessage({
  tmplIds: ["模板id1","模板id2"],
  success: function (res) {
    //成功
  },
  fail(err) {
    //失败
    console.error(err);
  }
})

第一个坑

如果不勾选红色方框内的内容,用户每次触发订阅消息功能都会弹出授权窗口,如果用户勾选了则不会出现弹窗。

第二个坑

目前开发者工具(v1.02.191012)不支持调试,只能通过真机调试。

第三个坑

微信不会为开发者保存订阅次数,需要自己在后台记录用户触发的次数。

超过次数调用接口下发订阅消息会返回失败。

第四个坑

发送模板格式和原来的模板消息格式不一致,特别是data内的内容,订阅消息的字段key是和数据类型有关,value的参数需要严格按照设置的类型提交,具体使用参考后台的模板详情。

模板消息的格式:

"data": {
  "keyword1": {
    "value": "内容",
    "color": "#000"
  },
  "keyword2": {
    "value": "内容",
    "color": "#000"
  }
}

订阅消息的格式:

"data": {
  "thing1": {
    "value": "内容"
  },
  "number2": {
    "value": 20
}

第五个坑

订阅消息申请模板的时候,需要选择所属类目,而且只能是自己小程序相关类目,模板消息是不需要选择对应类目的。

如果删除小程序类目,则会把订阅消息模板一起删除,需谨慎操作。

第六个坑

长期订阅消息只针对特定行业开放,所以普通开发者并无法使用。

结束

暂时就先总结这些,有其它坑再补充。

最后一次编辑于  2019-10-13  
点赞 29
收藏
评论

60 个评论

  • 🌝Definitely Maybe🌚
    🌝Definitely Maybe🌚
    2019-12-04

    我们是第三方平台,新的订阅消息模板是对应到每个行业的,我们的客户小程序行业繁多,譬如订单更新提醒,每个行业都不大一样,这种要怎么适配呢?

    2019-12-04
    赞同
    回复 6
    • 拾忆
      拾忆
      2019-12-04
      第三方平台的我不太清楚,没弄过哟。
      2019-12-04
      回复
    • 铭
      2019-12-04
      你的这个问题,现在有解决方案吗?
      2019-12-04
      回复
    • Carl
      Carl
      2019-12-10
      有解决方案吗
      2019-12-10
      回复
    • 悦然
      悦然
      2019-12-13
      有解决方案了么?
      2019-12-13
      回复
    • mzp
      mzp
      2019-12-16
      同问,有解决方案了吗,目前也碰到了
      2019-12-16
      回复
    查看更多(1)
  • Ken
    Ken
    2019-11-28

    关于第五个坑,如果我们平台是服务于不同行业的商家的商城,那岂不是每个类目都要申请一套消息通知吗

    2019-11-28
    赞同
    回复 4
    • 拾忆
      拾忆
      2019-11-28
      平台的我不太了解
      2019-11-28
      回复
    • 倪猜
      倪猜
      2019-12-03
      我们也是平台服务商,现在的规则只能是这样,所以只能做好内部管理
      2019-12-03
      回复
    • 🌝Definitely Maybe🌚
      🌝Definitely Maybe🌚
      2019-12-04
      还没有.. 官方还没给解决方案
      2019-12-04
      回复
    • Carl
      Carl
      2019-12-10
      神坑啊,现在还有解决方案了吗
      2019-12-10
      回复
  • Jsamuel
    Jsamuel
    2019-11-22

    请问我点了一次允许后,下次同样的场景点击还会弹出来确认框吗?

    2019-11-22
    赞同
    回复 3
    • 拾忆
      拾忆
      2019-11-22

      2019-11-22
      回复
    • Jsamuel
      Jsamuel
      2019-11-27回复拾忆
      我用的是长期订阅,只看过一次弹框!然后不然是重新打开app,或者删掉重新进入,再点击都没有弹框出现了!ps:我们是航班服务,属于特殊行业。
      2019-11-27
      回复
    • 倪猜
      倪猜
      2019-12-03
      如果用户勾选了不在询问,那么应该不会再弹,而是会默认同意订阅
      2019-12-03
      回复
  • 未定义
    未定义
    2019-11-22

    我想问一下,我有两个小程序,其中一个调用一次wx.requestSubscribeMessage 之后,用户总是允许后不调用wx.requestSubscribeMessage也可以发送订阅消息而另一个小程序就不行,只能每次都调用wx.requestSubscribeMessage才能发送,否则会报错43101

    2019-11-22
    赞同
    回复
  • 天之炽
    天之炽
    2019-11-14

    我想问下 一次性订阅消息只能是小程序的消息吧 因为我看订阅消息只能在小程序里面申请,是不是这样

    2019-11-14
    赞同
    回复 1
    • 拾忆
      拾忆
      2019-11-15
      小游戏也有呀
      2019-11-15
      回复
  • 菜花
    菜花
    2019-11-14

    订阅消息可以俩个小程序互相发么?现在老是被拒绝43101    T-T    

    43101用户拒绝接受消息,如果用户之前曾经订阅过,则表示用户取消了订阅关系

    我现在是A小程序里面写B小程序的模板ID   B里面写A的

    用的这个wx.requestSubscribeMessage

    wx.requestSubscribeMessage({

    tmplIds: ['xxxx'],

    success(res) {console.log(res) },

    fail(err) {

    console.log(err)

    }, complete(){

    // setTimeout(function () {

    wx.navigateTo({

    url: '../../Order/orderdetail/orderdetail?orderid=' + res.data.orderId

    })

    // }, 1500);

    }

    })



    2019-11-14
    赞同
    回复 15
    • 拾忆
      拾忆
      2019-11-14
      互发肯定不可以的,别想了。
      2019-11-14
      回复
    • 菜花
      菜花
      2019-11-14回复拾忆
      那 应该用哪种功能  让俩小程序能互相通知
      2019-11-14
      回复
    • 菜花
      菜花
      2019-11-14回复拾忆
      类似 这样的A里面 下单  B里面能收到信息, B里面接单了  A里面能收到  应该用啥
      2019-11-14
      回复
    • 拾忆
      拾忆
      2019-11-14
      小程序啥都没得用~其他都就是绑定开放平台,用订阅号或者手机号。
      2019-11-14
      回复
    • 菜花
      菜花
      2019-11-14回复拾忆
      绑定 开发平台 是关联相同的公众号?
      2019-11-14
      回复
    查看更多(10)
  • 玲子
    玲子
    2019-11-12

    请问怎么判断用户是否勾选了“总保持以上选择,不再询问”?

    2019-11-12
    赞同
    回复 2
    • 拾忆
      拾忆
      2019-11-12
      判断不了
      2019-11-12
      1
      回复
    • 倪猜
      倪猜
      2019-12-03回复拾忆
      判断不了???那下次同样操作,如果没法判断,不就又要弹出授权弹窗吗??那这个不在询问,有个屁用啊,,,
      2019-12-03
      回复
  • 朕累了,退朝
    朕累了,退朝
    2019-11-08

    自己在后台记录用户触发的次数。也是有问题的。

    前端无法获取是否总是允许。如果用户选了总是允许,后台只记录了1次,但是实际上可以发送无数次。

    2019-11-08
    赞同
    回复
  • 青玉🚗
    青玉🚗
    2019-11-06
    wx.requestSubscribeMessage({
      tmplIds: ["模板id1","模板id2"],
      success: function (res) {
        //成功
      },
      fail(err) {
        //失败
        console.error(err);
      }
    })

    对这个我一直很费解。官方文档说订阅一次只能推送一次?

    但是这里代码填了两条模板消息,是可以①推送这两条模板消息(不分时间推送)②还是只能二选一推送呢③还是可以推送两条消息(必须同一时间推送)?

    因为按照我的理解,如果可以推送两条消息,应该算有两次推送机会吧。


    2019-11-06
    赞同
    回复 13
    • 拾忆
      拾忆
      2019-11-06
      二选一推送1条
      1次订阅1次机会
      2019-11-06
      回复
    • 桐人
      桐人
      2019-11-07回复拾忆
      二选一推送很奇怪,官方给的示例是前后两个场景的提醒,好奇实际开发到底是怎么样的
      2019-11-07
      回复
    • 拾忆
      拾忆
      2019-11-07
      后台可以添加25个模版,要是订阅一次,所有模版都能发一次就是25次,那还了得。
      2019-11-07
      回复
    • 青玉🚗
      青玉🚗
      2019-11-07回复拾忆
      我也觉得二选一推送很奇怪。至于你说的25次,那肯定不存在,官方不傻,肯定会限制你最多一次推送多少条,比如你最多填三条模板。
      二选一推送的话就是一次订阅只能推送一条消息,不等于一次订阅有一次推送机会,毕竟一次推送机会可以推送多条消息。
      所以,大坑啊!哭泣啊,模板消息一次支付都有三次推送,搞成订阅消息就只有一次,对于电商类小程序来说,肯定不够用!
      2019-11-07
      回复
    • 拾忆
      拾忆
      2019-11-07
      你就当他是模版消息的升级版~模版消息也是一个formid一次推送~
      2019-11-07
      回复
    查看更多(8)
  • 罗旭
    罗旭
    2019-11-06

    长期订阅应该怎么搞?该找谁?

    2019-11-06
    赞同
    回复 1
    • 拾忆
      拾忆
      2019-11-06
      不知道找谁,反正目前不是普通小开发者,小公司能有资格的。
      2019-11-06
      1
      回复

正在加载...

登录 后发表内容