订阅消息开发步骤:

  1、小程序管理后台添加订阅消息的模板

  2、小程序前端编写调用(拉起)订阅授权

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

  3、后台通过小程序接口发送订阅消息

//$accessToken的值需要用小程序的appid和密码为参数,通过接口:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
$url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=".$AccessToken;
$message='通过';
$data='请点击该条信息,前往小程序查看内容';
$post = array(
'touser'=>$openid, //接受消息用户的openid
'template_id'=>"34fwe1211xxx", //发送提醒审核用户信息的模板
'page'=>"pages/index/index", //设置点击推送的订阅消息跳到首页
'data'=>array(
'phrase1'=>array('value'=>$message),//严格文档phrase类型
'thing3'=>array('value'=>$data),//严格文档thing类型
'date2'=>array('value'=>date('Y年m月d H:i',time()))//严格文档date类型
)
http_curl_post_json($url,$post);

最近开发的小程序项目要添加订阅消息功能,因为项目的小程序不能申请永久订阅模板,所以只能弄一次性订阅消息模板,看了官方文档结合自己开发,总结如下:
   1、用户发生点击行为(订阅)或者发起支付回调后,才可以调起(拉起)订阅消息界面
     2、tmplIds参数:需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息-------意思是:一次调用(拉起)最多三条订阅消息模板,即用户最多能订阅3种类型消息模板的消息,而不是说订阅一次后,可发送三条消息
     3、勾选了"总是保持以上选择,不在询问",按钮后,很多开发者会误解为:勾选后,即一次性订阅消息变成永久订阅,即不用用户再次授权,就可以发送无数条信息。
          这种理解是错误的,这个勾选其实是勾选后,下次用户触发订阅消息功能就不会弹出授权窗口了
     4、用户点击触发订阅授权并订阅后,官方没有限制后台多久之内发送该次消息,但只能发送一次,即用户点击订阅,订阅消息只能发送一次,发送订阅消息后客户收到了,客户要想再次收到订阅消息,则必须要客户在小程序再次同意订阅该消息(对通知业务影响很大,限制了业务扩展)

  5、订阅消息可理解为无限制订阅,但每次订阅的有效期为一次性,即订阅到发送后该次的有效期就结束了

订阅消息---由于微信小程序取消模板消息,限只能开发订阅消息的更多相关文章

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

    微信小程序发送模板消息 标签(空格分隔): php 看小程序文档 [模板消息文档总览]:https://developers.weixin.qq.com/miniprogram/dev/framewo ...

  2. 微信小程序 template模板使用

    参考文章: 微信小程序-template模板使用

  3. 微信小程序的模板消息与小程序订阅消息

    小程序订阅消息 功能介绍 消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验. 订阅消息推送位置:服务通知 订阅消息下发条件:用户自主订阅 订阅消息卡片跳 ...

  4. 微信小程序之模板消息推送

    最近在用sanic框架写微信小程序,其中写了一个微信消息推送,还挺有意思的,写了个小demo 具体见官方文档:https://developers.weixin.qq.com/miniprogram/ ...

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

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

  6. 微信小程序template模板与component组件的区别和使用

    前言: 除了component,微信小程序中还有另一种组件化你的方式template模板,这两者之间的区别是,template主要是展示,方法则需要在调用的页面中定义.而component组件则有自己 ...

  7. 如何在微信小程序的模板渲染中使用JS?

    在微信小程序中使用模板渲染时,可能需要用JS对其进行处理. <view class="price text-red text-lg"> <!-- 价格保留两位小数 ...

  8. 重磅消息:微信小程序支持长按二维码进入

    之前微信小程序一般通过以下入口进入: 而用户经常使用“长按二维码”识别应用的功能一直未开放,据酷客多了解,微信安卓6.5.6内测版已经支持长按二维码识别和进入小程序,意味着把小程序二维码分享给朋友,或 ...

  9. 微信小程序:模板消息推送提示{“errcode”:41030,”errmsg”:”invalid page hint: [gP1eXXXXXX]”}

    在开发小程序 模板消息定时推送功能时,在开发版测试程序功能运行正常,但提交到线上后提示报错{“errcode”:41030,”errmsg”:”invalid page hint: [gP1eXXXX ...

随机推荐

  1. [redis读书笔记] 第一部分 数据结构与对象 字典

    三 字典 字典是Hash对象的底层实现,比如用HSET创建一个HASH的对象,底层可能就是用一个字典实现的键值对. 字典的实现主要设计下面三个结构: /* * 哈希表节点 */ typedef str ...

  2. VFP执行 SQL Server 储存过程示例

    PUBLIC errvalPUBLIC errmsgPUBLIC handleerrval=0errmsg=' ' *Sql Server 连接参数sourcename= 'test'user= 's ...

  3. IP multicast IP多播

    https://networklessons.com/multicast/multicast-routing/ IP多播有两种模式,密集模式和稀疏模式: Dense Mode Sparse Mode ...

  4. backgroud图片充满元素的方法

    background-image: url("img/headimg.png"); height: 219px; background-size: 100% 100%; backg ...

  5. 2020-2-27今日总结——滚动监听&导航

    利用Bootstrap 开发工具实现滚动监听 (此文只做学习路上的归纳分享总结用,如有侵权,请联系我删除) 使用滚动监听,比较特殊,要在body中设置scroll,以及触点. 很好理解,因为滚动是多对 ...

  6. Valiant Hearts: The Great War -- 《勇敢的心》

    “友情,爱情,亲情”

  7. HTTPS原理及流程

    HTTPS为什么更安全:数据对称加密传出,对称密钥使用非对称加密协商. HTTPS就一定安全吗:不一定,如果用户在浏览器端执意访问证书可疑或过期的站点,就存在安全隐患. --- HTTPS实现原理:h ...

  8. $.getJSON获取json数据失败

    首先简单介绍下 $.ajax  $.get  $.post  $.getJSON 的区别和用法 $.ajax中有一个type属性,专门用来指定是get请求还是post请求的分别对应的就是$.get和$ ...

  9. leaflet结合geoserver利用WFS服务实现图层删除功能(附源码下载)

    前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...

  10. Policy-based Approach(基于策略的方法)

    step 1:Neural Network as Actor step 2:goodness of function(训练一些Actor) 是一个序列,包含T个状态s.行为a.奖励s.代表某一次的开始 ...