前一段时间在开发微信小程序及后端接口,其中有一个功能是在a用户给b用户分配任务时,需要给b用户的微信发送一个提醒消息。但在开发过程中发现小程序发送模板消息有限制,不能满足我们的需求场景。

1、微信对模板消息的限制


微信小程序允许下发模板消息的条件分为两类: 支付,或者提交表单。
通过 1 次支付,小程序可以向该用户下发 3 条模板消息。
通过提交表单来下发模板消息的方式,限制在 7 天内可以向用户推送一条模板消息。
这种消息的控制放的太宽的话,很容易对用户的体验造成很大冲击,给用户带来骚扰。但是,用户 1 次触发、7 天内推送 1 条通知明显是不够用的。
比如,小打卡小程序利用模板消息的推送来提醒用户每天打卡,只能在用户前一天打卡的情况下,获取一次推送模板消息的机会,用于第二天向用户发送打卡通知。

2、方案

现有的解决方案主要是收集用户的formid,做法是让用户在小程序中主动点击按钮向服务器发送formid,百度搜索“小程序 模板消息 formid”会有一大堆文章介绍。这种解决方案还是比较复杂,一个小小功能需要编写大量辅助代码。

市面上有公司专门针对这个开发者痛点做了一款产品,百度搜古人云即可找到。他的优点是编码少,集成到项目中可以实现推送功能。缺点就是免费版限制多,需要付款。

3、生活中的微信消息功能

我在麦当劳用餐时,会收到麦当劳发送的用餐评价提醒。这是在没有用户主动触发的条件下实现的,意味着微信有这样的接口满足我们的业务需求。

4、调研

后来查看微信接口,查看到微信公众号有这样的接口能满足业务需求,即申请微信公众服务号,在发公众号模板消息,也可以跳转到小程序中。模板消息接口

发送模板消息
接口调用请求说明
http请求方式: POST
https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
POST数据说明
POST数据示例如下:

  {"touser":"OPENID","template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY","url":"http://weixin.qq.com/download",  "miniprogram":{"appid":"xiaochengxuappid12345","pagepath":"index?foo=bar"},          "data":{"first": {"value":"恭喜你购买成功!","color":"#173177"},"keyword1":{"value":"巧克力","color":"#173177"},"keyword2": {"value":"39.8元","color":"#173177"},"keyword3": {"value":"2014年9月22日","color":"#173177"},"remark":{"value":"欢迎再次购买!","color":"#173177"}}}

参数说明

参数 是否必填 说明
touser 接收者openid
template_id 模板ID
url 模板跳转链接
miniprogram 跳小程序所需数据,不需跳小程序可不用传该数据
appid 所需跳转到的小程序appid(该小程序appid必须与发模板消息的公众号是绑定关联关系,暂不支持小游戏)
pagepath 所需跳转到小程序的具体页面路径,支持带参数,(示例index?foo=bar),要求该小程序已发布,暂不支持小游戏
data 模板数据
color 模板内容字体颜色,不填默认为黑色

注:url和miniprogram都是非必填字段,若都不传则模板无跳转;若都传,会优先跳转至小程序。开发者可根据实际需要选择其中一种跳转方式即可。当用户的微信客户端版本不支持跳小程序时,将会跳转至url。

备注

可借鉴点:古人云应用记录所有发送成功的消息和失败的消息,及量化形成数据报表。

微信小程序发送模板消息限制的问题相关推荐

  1. php+实现群发微信模板消息_使用php实现微信小程序发送模板消息(附代码)

    本篇文章给大家带来的内容是关于使用php实现微信小程序发送模板消息(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 本章将会简单说一下微信小程序的模板消息发送,相对来说比较简 ...

  2. 《微信小程序——发送模板消息》详细步骤

    第一步:获取access_token 第一步详情:因为access_token在微信公众号还是小程序,在一个月之内都有获取次数的限制,并且一个access_token只有2小时的有效期:所以每当我们获 ...

  3. 微信小程序发送模板消息踩的坑

    在微信的微信小程序中,微信提供了和微信服务号相同的模板消息功能. 但是,虽然都是发送模板消息,小程序和服务号的模板消息的使用还是有差别的. 对于微信服务号的模板消息只要通过查看文档就能够知道我们使用模 ...

  4. 微信小程序发送模板消息,php发送模板消息

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. formId 在安卓系统是纯数字,在IOS系统是一串加密字符,如图: 发送模板消息(服务通知)效果图: 前端 ...

  5. 微信小程序 发送模板消息的功能实现

    背景 - 小程序开发的过程中,绝大多数会满足微信支付 - 那么,作为友好交互的体现,自然就会考虑到支付后的消息通知咯 - 所以,我的小程序项目也要求完成这个效果,so.分享一下自己的实现步骤,以方便道 ...

  6. java 微信小程序-发送模板消息

    开发前准备工作 登录微信公众平台-小程序后台,在模板消息里面设置需要发送的模板,拿到模板id. 地址: https://mp.weixin.qq.com 找到微信官方文档-小程序开发-下发小程序和公众 ...

  7. 微信小程序发送模板消息demo

    一.登陆微信公众号,选中模板消息,添加需要的模板, 二.在 .properties 配置文件中,记录模板ID 三.模板文件配置, -SendTemplateMessageController publ ...

  8. java发送微信小程序模板消息_微信小程序-发送模板消息

    1 添加一个小程序的消息模板,获取到模板id,存储到数据库中,方便以后修改调用 这里有个坑,就是 form_id, 这个是用户触发表单事件的表单id,需要存储到数据库中,给这个表单提交以后的数据,添加 ...

  9. 小程序发送模板消息给用户 —— 一次性模板实现“长期订阅”

    大家好!我是我玩亚索我会C,在写小程序时,我们会有向用户发送消息的需求,比如发送提醒通知,或者是一些重要通知来形成一个服务的闭环.这就要用到微信的发送消息功能了,下面我使用Java语言来详细演示下如何 ...

  10. php怎么实现发送给指定用户,微信小程序 实现模板消息群发、发送给指定用户...

    1. 需求 最近在做一款拼课类小程序,大概需求就是分享课程页面给好友,好友参与达到一定数量后则拼课成功. 好友参与后会给分享者发送一条模板消息 参与人数满足后(拼课成功)会给分享者发送一条模板消息 管 ...

最新文章

  1. Nginx 入门到实战,新手必懂。
  2. Tomcat和Jetty对WebSocket的支持
  3. sql 之as(Aliases)别名(mysql)
  4. Spring Data JPA的持久层
  5. NSJSONSerialization介绍
  6. 韩国财长:韩国将按计划推进加密货币征税
  7. request.setAttribute()与getParameter() 的区别
  8. 黄金周张家界之行(1)
  9. JavaScript:对象都是这样生成的!
  10. Magic Leap是快出产品的节奏,已开放内容开发者注册通道
  11. 反编译工具reflector破解方法
  12. 更新maven卡在18不动_Android Studio maven-metadata.xml 卡着不动原因和解决方法
  13. linux443端口无法建立连接,无法通过端口443连接到ssh
  14. Visio 2013最新产品密钥分享,在安装时可以使用以下密钥:
  15. 【实战模拟】使用Kali Linux进行域名解析——模拟测试
  16. ITest:京东数科接口自动化测试实践
  17. java物流实时跟踪
  18. 计算机硬盘空间不足解决办法,3种方法解决Windows10硬盘空间不够的问题
  19. matlab fkine,Matlab Robotics ToolBox 实战 -- 七次多项式取放轨迹规划
  20. 秒杀系统架构设计思路

热门文章

  1. 韩顺平 php大牛班课程,2016泰牛程序员韩顺平PHP大牛班HTML课程完整笔记资料.doc...
  2. VM player免费版安装
  3. 运动控制卡应用开发教程之C#
  4. 游戏直播用哪个录屏软件好?
  5. shiro放行_Shiro框架详解
  6. python下载网络图片_Python下载网络图片方法汇总与实现
  7. java+swing+mysql员工工资管理系统设计分析
  8. 引入其他字体库 和 字体样式设置
  9. 计算机专业英语常用术语大全,计算机专业必备英语词汇汇总
  10. Redis的安装启动,菜鸟使用(windows)