【小程序】一次关于小程序消息推送能力的分析及实现

这篇具有很好参考价值的文章主要介绍了【小程序】一次关于小程序消息推送能力的分析及实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、推送消息需求

        一个简单常见的需求:推送小程序消息通知到用户!

        需要解决的问题:

  • 小程序消息推送服务有什么限制?
  • 小程序可支持推送哪些类型消息?
  • 如何实现小程序消息通知推送服务?

二、小程序提供的能力

        小程序支持通过【消息模板】向“订阅消息”的用户推送消息通知!

  • 支持向主动“订阅消息”的用户推送通知(注意:这里是“订阅消息”而非订阅小程序),不支持主动向未订阅消息用户推送通知
  • 支持通过【消息模板】发送“订阅消息”,不支持发送任意无模板消息;
  • 一般小程序不支持自定义消息模板(目前自定义消息模板功能已废弃,暂不确定哪些类型小程序或仍可自定义消息模板,有哪些方面的限制)
  • 一般小程序仅支持从官方提供的公共模板库中选择【消息模板】
  • 一般小程序仅可支持发送“一次性订阅消息”,即“一次订阅,一次推送”
  • 目前仅公共服务类小程序可支持发送“长期订阅消息”,即“一次订阅,长期推送”

1、订阅消息能力

小程序订阅消息 | 微信开放文档

【小程序】一次关于小程序消息推送能力的分析及实现

 2、三种消息类型

由于长期订阅目前仅面向公共服务开放,如此我等普通小程序就只能选择一次性订阅了!

【小程序】一次关于小程序消息推送能力的分析及实现

 3、不支持自定义模板

1)自定义消息模板接口已废弃

【小程序】一次关于小程序消息推送能力的分析及实现

 2)不支持新建自定义模板

【小程序】一次关于小程序消息推送能力的分析及实现

三、订阅消息的实现流程分析

1、实现步骤

小程序订阅消息 | 微信开放文档

【小程序】一次关于小程序消息推送能力的分析及实现

2、完整流程

        实现发送订阅消息,首先需要配置消息模板、获取小程序的appkey、secret、用户openid、token等,因此,从0到1的完整实现流程如下:

【小程序】一次关于小程序消息推送能力的分析及实现

四、一次性订阅消息的实现及示例

1、配置消息模板+获取appid+secret

链接:微信公众平台

 1)配置消息模板【小程序】一次关于小程序消息推送能力的分析及实现

2)获取appid + secret

【小程序】一次关于小程序消息推送能力的分析及实现

2、登录认证并获取openid

 小程序登录 | 微信开放文档

 【小程序】一次关于小程序消息推送能力的分析及实现

1)获取code

wx.login(Object object) | 微信开放文档

wx.login({
  success (res) {
    if (res.code) {
      //发起网络请求
      wx.request({
        url: 'https://example.com/onLogin',
        data: {
          code: res.code
        }
      })
    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})

2)获取openid

auth.code2Session | 微信开放文档

GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

3、订阅消息

 wx.requestSubscribeMessage(Object object) | 微信开放文档

wx.requestSubscribeMessage({
  tmplIds: [''],
  success (res) { }
})

4、获取token

auth.getAccessToken | 微信开放文档

GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

5、发送订阅通知

subscribeMessage.send | 微信开放文档

POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN
Accept: */*
Cache-Control: no-cache
Content-Type: application/json;charset=UTF-8

{
  "touser": "OPENID",
  "template_id": "TEMPLATE_ID",
  "page": "index",
  "miniprogram_state":"developer",
  "lang":"zh_CN",
  "data":{
        "character_string1":{
            "value":"FK20220819001"
        },
        "phrase2":{
            "value":"审批通过"
        },
        "time3":{
            "value":"2022年08月19日 15:01"
        },
        "thing4":{
            "value":"领导同意了"
        }
    }
}

注意:data数据的key与消息模板定义一致

【小程序】一次关于小程序消息推送能力的分析及实现

6、示例

【小程序】一次关于小程序消息推送能力的分析及实现

四、链接

微信公众平台

小程序订阅消息 | 微信开放文档

小程序登录 | 微信开放文档

wx.login(Object object) | 微信开放文档

auth.code2Session | 微信开放文档

wx.requestSubscribeMessage(Object object) | 微信开放文档

auth.getAccessToken | 微信开放文档

subscribeMessage.send | 微信开放文档


 文章来源地址https://www.toymoban.com/news/detail-483272.html

到了这里,关于【小程序】一次关于小程序消息推送能力的分析及实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring boot +微信小程序项目,通过微信公众号实现指定用户消息长期推送

    用户登录小程序,后台记录用户的小程序openId和用户唯一的UnionId。然后用户触发公众号事件(关注公众号或者发送指定消息),后台获取到用户公众号的openId,再调用接口通过公众号的openId查询用户的UnionId,再和数据库里的UnionId进行匹配,将用户的公众号openId存入数据库。此

    2024年02月03日
    浏览(48)
  • 【FAQ】关于华为推送服务因营销消息频次管控导致服务通讯类消息下发失败的解决方案

    使用华为推送服务下发IM消息时,下发消息请求成功且code码为80000000,但是手机总是收不到消息; 在华为推送自助分析(Beta)平台查看发现,消息发送触发了频控。 2023年1月05日起,华为推送服务对咨询营销类消息做了单个设备每日推送数量上限管理,具体数量上限可以查看

    2023年04月19日
    浏览(33)
  • 关于uniapp开发微信小程序,实现聊天消息,最新消息最底部展示

    关于uniapp开发微信小程序,实现聊天消息最新消息最底部展示 uniappvue 此处我觉得最要注意的点就是看是谁产生的滚动条。 : scrollTop,scrollHeight 最终效果展示 录制的聊天功能

    2024年02月09日
    浏览(40)
  • 微信小程序发送消息推送

    在小程序开发中,如果想实现:用户发给小程序的消息以及开发者需要的事件推送,在小程序项目中,我们想要实现这样一个功能, 比如我们小程序中的客服功能,我不想要使用小程序后台的在线客服功能,但我又想实现客服功能,这个时候微信提供了消息推送功能,在小程序

    2024年02月09日
    浏览(38)
  • 微信小程序模板消息推送

    时序图 ​​​​​​​   首先,我们需要知道一件事情,小程序的模板推送分为“一次性订阅”和“长期订阅” 一次性订阅:用户订阅小程序后,程序只能对指定OpenId进行一次推送模板消息,无法多次推送 长期订阅:用户长期订阅,能够多次推送模板消息(长期订阅模板需

    2024年02月11日
    浏览(40)
  • 小程序推送公众号模板消息

    第一步:先创建微信开放平台:微信开放平台,绑定微信小程序和公众号(是为后面拿共用的unionid进行小程序openid与公众号openid绑定) 第二步:进入公众号开放平台,找到基本配置,配置服务器地址(url):指自己服务器能够访问的域名 第三步:在服务器中就是url写下这个方法

    2024年01月21日
    浏览(39)
  • 微信小程序消息推送、接收消息事件、发送客服消息

    文档地址消息推送 | 微信开放文档 接收消息和事件 | 微信开放文档 发送客服消息 | 微信开放文档 代码参考

    2024年02月12日
    浏览(38)
  • 微信小程序服务通知(订阅消息)定时推送消息功能

    首先先说项目需求:向预约参观的用户提前一天晚上8点推送消息。小程序端主要用到的 API 是我是小程序用到的API。以及服务端用到的 API :我是服务端用到的API。 1. 开通订阅消息功能 (1)、 首先需要在小程序管理后台开通订阅消息功能。没开通前如下图所示: (2)、开通之

    2024年02月08日
    浏览(69)
  • 微信小程序订阅模板消息推送

    背景 在实际的小程序开发过程中往往需要用到给用户发送订阅消息,比如:我们在店里扫码点餐时在付款时往往弹出一个授权窗口(比如‘取餐通知’)这个时候我们就需要对接微信小程序的模板消息。 [https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-message-management/subscrib

    2024年02月11日
    浏览(42)
  • 微信小程序之订阅消息推送

    目录 1、开通订阅消息 2、请求用户授权 2.1、wx.requestSubscribeMessage(Object object) 2.2、wx.requestSubscribeDeviceMessage(Object object) 3、发送订阅信息 3.1、调用方式 3.2、云调用接口方法 3.3、请求参数 3.4、返回值 3.5、代码示例 登录小程序之后点击功能下的 订阅消息 , 点击开通 选择公共模

    2024年02月09日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包