• 微信消息订阅


    微信订阅消息过程详解

    今年年初,微信小程序的模板消息改成了订阅消息。现在我写一个流程,方便以后开发的时候照着做

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

    订阅消息和模板消息的区别

    简单用自己的话介绍一下,模板消息是限制在7天内,有次数限制的发送,由用户完成一个操作后被动的触发。订阅消息首先需要用户进行授权,授权的时候会有弹框提示;用户每授权一次,就能推送一次。也有不再弹框的选项,但是仍然需要授权这个动作,才可以推送消息,所以订阅消息也叫一次性订阅消息。目前也有一次授权一直可以推送的长期消息,但是微信有限制使用的小程序类别,所以普通小程序要想能多次给用户发送消息,只能引导用户多次点击授权。

    所以按照官方的意思,有些小程序还是应该把消息推送做到服务号上。

    选择模板

    在公众平台上开通订阅消息,选择模板。模板会根据你小程序的类别不同有所不同。

    选用一个模板

    编排消息的格式,保存即可,会生成一个模板id,等会会用到

    获取下发权限

    小程序上需要设置事件,触发弹框,用户点击同意之后才可以消息推送

    wx.requestSubscribeMessage({
          tmplIds: ['2hHe9FLnV594nDvrCcksg25wgUT_HwwKNYluXfCqHhY'],
          // 填入刚刚生成的模板id
          success(res){
            console.log(res)
          },fail(res){
            console.log(res)
          }
        })
    

    触发事件后会调出一个弹窗,用户点击允许后,有一个回调

    如果用户勾选了保持选项,下一次就不会弹框

    要注意的是,用户每授权一次,小程序就有发送订阅消息的权限一次,假如用户点击了三次授权,那么小程序就有权限推三条订阅消息。

    服务端调用接口发送订阅消息

    POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN
    
    // 请求示例
    {
      "touser": "OPENID",  // 用户openid
      "template_id": "TEMPLATE_ID",  // 模板id
      "data": {
          //消息内容
          "number01": {
              "value": "339208499"
          },
          "date01": {
              "value": "2015年01月05日"
          },
          "site01": {
              "value": "TIT创意园"
          }
      }
    }
    
    • 注意在url中拼上access_token,请求体中使用正确的openid
    • accesstoken需要用appid,appsecret去auth.getAccessToken换,每两个小时更新一次。openid要wx.login的code使用code2session去换
    • 不同的小程序,同一个用户的openid不同

    data

    注意data的内容要对照官方文档中的填写

    例如我的模板

    返回ok就表示发送成功了

  • 相关阅读:
    我们用的信息系统安全吗?
    硬件代理服务器的日志分析方法
    Solarwinds Orion NPM实战视频演示
    网络资源管理系统LANsurveyor实战体验
    2013年,我的推荐博客汇总
    如何精准高效的实现视觉稿?------前端开发辅助工具AlloyDesigner使用介绍
    SVG如何做圆形图片
    canvas绘制一定数目的圆(均分)
    如何禁止火狐onblur时alert()产生类似选中的拖蓝效果
    ABCD多选正则表达式
  • 原文地址:https://www.cnblogs.com/telecasterfanclub/p/13564222.html
Copyright © 2020-2023  润新知