思路来源产品设计微信小程序

【干货】快速接入小程序订阅消息(附源代码)

2019-11-29  本文已影响0人  Haraway

  这是一份小程序消息订阅快速开发指引,其中演示了如何快速上手消息订阅的订阅、推送、支付订阅功能。

  根据官方指南,小程序订阅消息功能接入一共分为三个步骤。

第一步:获取模板 ID

  在微信公众平台手动配置获取模板 ID:

  登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。

获取模板ID

第二步:获取下发权限

const templateId = 'FQAiSMdR5xibmnWL7zzIK26Px7vnHFY-40Oemx2rbOQ'; // 订阅消息模版id

wx.requestSubscribeMessage({
        tmplIds: [templateId],
        success(res) {
          if (res[templateId] == 'accept') {
            //用户同意了订阅,允许订阅消息
            wx.showToast({
              title: '订阅成功'
            })
          } else {
            //用户拒绝了订阅,禁用订阅消息
            wx.showToast({
              title: '订阅失败'
            })
          }
        },
        fail(res) {
          console.log(res)
        },
        complete(res) {
          console.log(res)
        }
      })

  详见小程序端消息订阅接口 wx.requestSubscribeMessage

第三步:调用接口下发订阅消息

下面演示 HTTPS 调用,使用接口模拟服务端推送订阅消息。

  Step 1:使用appid和secret生成access_token,使用Get请求:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=xxx&secret=xxx,返回结果如下:

access_token

  Step 2:使用上面获取到的access_token,发起Post请求测试推送:https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=(access_token),请求和返回结果如下:

推送订阅消息参数

  订阅推送消息报错43101,表示该小程序用户未允许接收订阅消息,若订阅消息成功则返回结果如下:

推送订阅消息成功返回结果

  Step 3:打开微信,在服务通知中查看小程序订阅消息:


接收到的订阅消息

  详见服务端消息发送接口 subscribeMessage.send

小结:

  1、调用订阅消息需在tab绑定事件(或支付)中调用,否则不允许调用;


不允许调用订阅消息方法

  2、用户点击允许但未勾选不再提醒,则只能推送一次性提醒,以后需要推送则需要再次发起申请订阅流程。

小程序订阅消息申请对话框.png

  3、发起过一次订阅申请之后用户在设置中不允许通知,则无法弹出申请对话框:


图片.png

  4、发起一次订阅消息只允许申请1-3个模板,超过3个将报错:


同时申请超过3条订阅消息模板报错.png

  5、用户点击一次允许订阅消息后,发送一条订阅消息,即消费一条消息后,不能再发送达消息给用户,报错43101 user refuse to accept the msg。

  6、在一次订阅中,点击“总是保持以上选择,不再询问”+“允许”之后,只能收到一条消息通知。 勾选总是,只是在下次调用wx.requestSubscribeMessage的时候帮你默认做出选择,还是需要调用了这个才能收到消息,而不是做出一次选择后就高枕无忧了。

  7、如果只需要小程序端允许接收订阅消息,而不需要在小程序端发起推送订阅消息,则不需要小程序端执行第三步,可由服务端发起推送;

  8、调用接口下发订阅消息有HTTPS 调用和云调用两种方式,如使用 HTTPS 调用,则不用使用云调用方式;

总结:小程序订阅消息流程见下图。

小程序订阅消息流程.png

完整代码见GitHab:小程序消息订阅

本代码中存在的问题:

  1、使用个人账号无法使用微信支付功能,未验证支付成功后是否能调用订阅消息。

  关于消息订阅内容介绍,请看关于小程序订阅消息,看这篇就够了!

参考资料:

  1、微信小程序订阅消息开发之云开发

  2、云开发快速接入小程序订阅消息,开发开课提醒小程序

上一篇 下一篇

猜你喜欢

热点阅读