微信优化

weixinyouhua

微信小程序消息推送怎么配置?消息推送配置详细教程

2026-09-14 23:25:55

小程序消息推送配置的核心不是“装个插件就能发”,而是先在微信公众平台申请订阅消息模板,再让用户点击按钮授权,最后通过后端接口在允许的额度内触达用户。 基础流程免费、接口公开、调试门槛不高,但多数失败都发生在授权时机、模板字段和一次性额度三个环节。

配置前先分清:订阅消息、统一服务消息、客服消息到底用哪个

很多开发者一上来就找“消息推送”按钮,结果把三个功能混在一起。订阅消息是当前小程序最常用的主动触达方式,用户在小程序内点击授权后,你可以通过接口向该用户发送一条模板消息。统一服务消息主要用来向同一用户关注的公众号下发模板消息,不是直接推送到小程序内部。客服消息则是在用户进入客服会话后48小时内,可以推送有限条数。

订阅消息推送怎么开通

这个环节不需要写代码,但必须先把后台配置做对。

第一步,登录微信公众平台,进入小程序管理后台。

第二步,在左侧菜单找到“功能”下的“订阅消息”。

第三步,点击“公共模板库”,按你的服务类目筛选模板,例如做电商就找“订单支付成功通知”“发货提醒”,做预约就找“预约成功通知”。

第四步,添加模板后,系统会生成一串模板ID,类似wxxxxxxxxxxxxxxxx,这个模板ID要写进前端和后端代码里。

注意:个人主体小程序可选模板较少,企业主体类目覆盖更全,如果类目不对,模板库里根本搜不到想要的字段,这时候先去“设置-基本设置”里确认服务类目。

小程序订阅消息和公众号模板消息区别

这两者经常被拿来对比,但底层逻辑完全不同,用表格看得更清楚:

微信小程序消息推送怎么配置?消息推送配置详细教程

对比项 小程序订阅消息 公众号模板消息
触达位置 微信“服务通知” 公众号会话列表
是否需关注 不需关注公众号 必须关注公众号
授权方式 用户在小程序内点击按钮授权 用户关注即默认接收,可拒收
下发额度 一次性订阅授权对应一条下发额度 长期可发,但受模板场景限制
长期推送 仅政务、民生等特定行业 支持,但需符合模板用途
主要用途 订单、预约、结果通知 会员、营销、服务提醒

简单说:小程序订阅消息更克制,用户主动授权一次才有一条;公众号模板消息更适合长期运营,但小程序场景里不能直接替代。 2020年后公众号模板消息逐步向订阅通知迁移,新接入的小程序基本都走订阅消息。

从后台到接口:完整配置步骤按顺序走一遍

第1步:后端先准备access_token

小程序消息推送接口需要access_token,access_token不是前端能拿的,必须后端用AppID和AppSecret请求:

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

返回的access_token有效期约7200秒,后端要缓存并提前刷新,据微信官方文档说明,频繁刷新会被限制频率,不要每次发送都去拿一次。

第2步:前端埋点,必须在用户点击后请求订阅

订阅消息最核心的规则:只能在用户点击某个按钮后触发授权弹窗,不能在页面加载时自动弹,也不能在onLoad里直接调。

以订单页“开启发货通知”按钮为例:

wx.requestSubscribeMessage({
  tmplIds: ['模板ID'],
  success(res) {
    if (res['模板ID'] === 'accept') {
      // 用户同意,把openid和模板ID传给后端保存
    }
  },
  fail(err) {
    console.log(err);
  }
})

用户点击“允许”后,前端需要把用户openid和对应模板ID传到后端,后端不能只靠前端传参,最好通过微信登录接口获取openid,避免被篡改。

第3步:后端调subscribeMessage.send发送

拿到用户授权后,后端调用发送接口:

POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN
{
  "touser": "用户openid",
  "template_id": "模板ID",
  "page": "pages/order/detail?id=123",
  "data": {
    "character_string1": {"value": "20260801"},
    "thing2": {"value": "商品已发出"},
    "time3": {"value": "2026-08-01 10:30:00"}
  }
}

返回errcode:0表示发送成功,同时该条授权额度消耗掉。如果发送成功后再想发第二条,必须用户再次授权。 这是大多数运营端觉得“为什么发着发着就发不出去了”的原因。

小程序消息推送不生效怎么办?先从这五处查起

查授权状态与一次性配额

微信小程序消息推送怎么配置?消息推送配置详细教程

用户如果当时点了“拒绝”或关闭了“总是保持以上选择”,后端发送会返回43101,此时不是代码问题,是用户侧关闭了入口,你需要重新设计触发点,让用户再次主动点击授权。

一次性订阅模板发过一次就失效,后端要记录每个用户每个模板的授权状态和剩余次数,不要把历史授权当成永久可用。

查模板字段与参数格式

模板里的字段类型有thing、character_string、time、amount等,每个字段有最大长度,超出会直接报错,比如thing字段一般限制20个汉字,发送前先截断或做长度校验。page路径要写成pages/order/detail?id=123,别带.html后缀,也别写错参数名。

查access_token与IP白名单

如果你用的是第三方服务或云函数,可能多个环境同时刷新access_token,导致旧token失效,公众号有IP白名单,小程序没有,但access_token接口有频率限制,建议缓存并设置提前5分钟刷新,避免临期发送失败。

查用户openid来源

前端传的openid如果和后端数据库里的不一致,会返回40003,确保openid来自同一AppID下的微信登录流程,不要拿公众号openid直接发小程序订阅消息。

查类目与模板匹配

类目不对会导致模板库里没有对应模板,或者发送时提示违规,比如做医疗咨询却申请了电商的发货通知模板,审核阶段就会被驳回,先把类目改准确,再重新选模板。

不同业务场景下的配置侧重点

电商小程序消息推送配置:订单状态与发货提醒最优先

电商场景里,支付成功通知、发货通知、退款结果通知是三个最值得配的模板,触发点放在:

  • 支付回调成功后,直接发“订单支付成功”
  • 后台点击“发货”时,触发“发货提醒”
  • 退款审核完成,发“退款结果通知”

不建议在电商场景里做营销推送,用户对订单信息容忍度高,对促销推送容忍度低,一旦感受到打扰,会直接关闭“服务通知”,后续所有关键通知都收不到。先保证交易链路通知稳定,再考虑其他触达。

本地生活小程序消息推送配置:预约与到店提醒更看重及时性

本地生活类小程序常见场景是美容、健身、家政、餐饮预约,用户预约完成后,如果没有任何提醒,到店率会明显下降。

建议配置“预约成功通知”和“服务前提醒”两个模板,预约成功通知在用户提交预约后立刻发;服务前提醒可以在预约时间前1-2小时由后端定时任务触发。

微信小程序消息推送怎么配置?消息推送配置详细教程

因为一次性订阅授权只能发一次,需要用户每次预约时都点一次授权,或者在授权页同时申请两个模板。

这类场景下,稳定到达比文案花哨更重要,模板内容写清楚时间、地址、服务项目,别塞营销链接。

小程序消息推送价格与额度:免费但限制严格

这是搜索量很高的问题。微信官方的小程序订阅消息接口本身不收费,申请模板、调用发送接口都不需要额外付费,所谓的“价格”主要来自两块:

  • 服务器资源:你需要一台能定时刷新access_token并发送请求的服务器,云函数按调用量计费,轻量服务器按月几十元起步,取决于你的发送量。
  • 第三方工具:部分服务商提供可视化模板管理、授权状态统计、定时发送等功能,按年或按月收费,行业共识认为,官方接口不收费,收费的是工具和服务,不要被“无限推送”话术误导。

额度方面记住三句话:

  • 一次性订阅授权对应一条下发额度,发完即止
  • 长期订阅仅开放给政务、民生等特定行业
  • 客服消息只在用户进入会话后48小时内可发有限条数

没有花钱买额度的官方渠道,如果有人承诺“充值就能无限推”,基本可以判断是不合规操作。

小程序消息推送配置常见问题

小程序消息推送配置需要服务器吗?

需要,前端不能安全保存AppSecret,也没法在用户授权后自动发消息,必须有一个服务端或云函数来获取access_token、保存授权状态、调用发送接口,纯前端方案在正式环境中不可行。

小程序消息推送价格包含模板申请费用吗?

不包含,模板申请免费,发送接口免费,你只需要承担服务器或云开发资源费用,如果使用第三方平台,费用按其套餐计算,和微信官方无关。

订阅消息授权一次能发几条?

一次性订阅模板每授权一次只能发一条;长期订阅模板一次授权可发多条,但仅限特定行业,用户勾选“总是保持以上选择”不代表无限发送,只代表下次触发同样操作时不再弹窗确认,每次触发仍消耗一条授权额度。

核心结论再强化一次:把订阅消息当“用户主动要一条通知”,而不是“我可以随便推”。 授权入口放在合理操作点,模板字段严格匹配,后端记录好剩余额度,这套配置才能长期稳定跑通。

相关文章

2024年,SaaS软件行业碰到获客难、增长慢等问题吗?

我们努力让每一次邂逅总能超越期待