小程序如何使用公众号实现消息推送功能

随着微信生态的不断完善,小程序与公众号之间的联动越来越紧密。通过将公众号与小程序绑定,开发者可以利用公众号向用户发送模板消息、服务通知等,从而提升用户体验和活跃度。

本文将详细介绍如何在小程序中结合公众号实现消息推送功能,包括开发前准备、配置流程以及代码示例。


一、功能概述

微信提供了多种消息推送方式,其中适用于小程序的主要有:

  • 公众号模板消息
  • 订阅消息(小程序内)
  • 服务通知(客服消息)

本文重点讲解:通过已认证的公众号向关注用户发送带小程序跳转链接的模板消息,实现从公众号到小程序的消息触达。


二、开发前提条件

  1. 小程序与公众号为同一主体
    • 必须是同一个企业或组织注册的小程序和公众号。
  2. 公众号已完成微信认证
  3. 小程序已上线
  4. 用户已在公众号中关注该账号,并授权接收模板消息

三、配置步骤

第一步:登录微信公众平台添加模板

  1. 进入 微信公众平台
  2. 打开【功能】->【模板消息】
  3. 点击【添加】按钮,选择官方提供的模板或自定义模板
  4. 审核通过后,获取模板ID

示例模板内容:


小程序中收到的通知样式


第二步:获取用户的 OpenID

用户在公众号中关注后,可通过以下方式获取其 OpenID

  • 公众号后台接口(如网页授权)
  • 用户点击公众号菜单跳转到小程序时携带参数

也可以通过用户在小程序中的登录行为,获取其 OpenID 并与公众号的 OpenID 关联(需统一 UnionID 机制 注意如果获取不到UnionID 检查一下微信开放平台是否绑定了公众号与小程序)。


第三步:调用公众号接口发送模板消息

发送模板消息需要使用公众号的 access_token 和模板 ID。

获取 access_token
需要注意 这里使用的appid 与密钥是公众的

深色版本

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

响应示例:

json

深色版本

{
  "access_token": "ACCESS_TOKEN",
  "expires_in": 7200
}
发送模板消息请求
http

深色版本

POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

请求体示例:

 

json

深色版本

{
  "touser": "OPENID",
  "template_id": "TM00001",
  "url": "https://yourdomain.com/page-path",
  "miniprogram": {
    "appid": "你的小程序AppID",
    "pagepath": "pages/index/index?query=1"
  },
  "data": {
    "first": {
      "value": "您好,您有一个新订单",
      "color": "#1791fc"
    },
    "keyword1": {
      "value": "订单编号:20250529ABCD1234",
      "color": "#ff0000"
    },
    "keyword2": {
      "value": "2025-05-29 14:00",
      "color": "#1791fc"
    },
    "remark": {
      "value": "点击查看订单详情",
      "color": "#999999"
    }
  }
}

注意:

  • url 是可选字段,若同时填写了 miniprogram,则优先跳转小程序
  • miniprogram.pagepath 支持带参数的页面路径

四、注意事项

项目说明
模板审核自定义模板需人工审核,建议提前申请
推送频率不允许频繁推送,避免骚扰用户
用户权限需要用户关注公众号才能接收到消息
安全性access_token 应在服务器端保存,防止泄露
跨应用数据同步建议使用 UnionID 机制打通公众号和小程序用户体系

五、完整流程图

深色版本
公众号管理员 -> 添加模板 -> 审核通过
        ↓
用户关注公众号 -> 获取OpenID
        ↓
服务器生成消息内容并调用微信接口
        ↓
用户收到公众号消息 -> 点击跳转至小程序指定页面

七、总结

通过公众号与小程序的结合,开发者可以实现更丰富的用户触达场景。尤其是在电商、教育、服务类应用中,使用公众号模板消息推送小程序页面,是一种非常实用且高效的运营手段。

如果你正在构建一个微信生态内的产品矩阵,强烈建议将公众号与小程序深度整合,打造无缝体验闭环。


📌 拓展阅读:

  • 微信公众平台文档:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html
  • 小程序开发文档:微信开放文档 / 开发

如需提供具体业务场景的模板消息设计、接口封装代码,欢迎继续提问!

欢迎体验我的小程序。微信搜索星月聊天室

### 实现微信小程序公众号推送模板消息 为了实现小程序公众号的模板消息推送,整个流程涉及多个环节。首先,在服务器端需准备必要的接口来处理来自前端的请求并调用微信API完成实际的消息发送操作。 #### 准备工作 确保拥有合法的应用凭证(`appid`, `appsecret`),这些信息用于换取访问令牌(`access_token`),这是发起任何微信公众平台HTTP API调用的前提条件[^2]。 #### 获取Access Token 使用应用凭证中的`appid`和`appsecret`通过GET方法请求如下URL以获得`access_token`: ```http https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET ``` 响应数据中会包含一个有效的`access_token`字符串以及过期时间戳。 #### 构建消息体 构建待发送的信息结构,这通常包括接收者OpenID (`touser`)、模板ID (`template_id`)、点击链接后的跳转路径(`url`)或关联的小程序页面(`miniprogram`)以及其他自定义字段如颜色设置等。对于具体的数据部分,则可以参照Spring Boot项目里的`TemplateData`类实例化相应对象填充所需内容[^3]。 ```java // 创建模板数据项 TemplateData first = new TemplateData("尊敬的用户", "#173177"); TemplateData keyword1 = new TemplateData(orderNumber, null); ... Map<String, Object> data = Maps.newHashMap(); data.put("first", first); data.put("keyword1", keyword1); ... ``` #### 发送消息 准备好以上各项之后就可以组装成最终POST请求载荷并向指定URL发出HTTPS POST请求了: ```json { "touser": "OPENID", "template_id": "TEMPLATE_ID", "page": "index", "form_id": "FORM_ID", "data": { ... } } ``` 目标URL为: ```http https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN ``` 成功执行上述步骤后即完成了由微信小程序触发至同主体下的服务号/订阅号的一次模板消息通知过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值