使用微信小程序新的订阅消息接口,主动推送。
小程序订阅消息,昨天刚上线,今天就体验了一下,遇到不少问题,不过还好都解决了。
首先:你需要在小程序后台,选择一个模板,和公众号差不多,不过这里一定要注意,选择模板和你的类目有关系,只出现你类目相关的,而且,还有就是感觉是微信那边的问题,我刚开始选了一个带彩票开奖字段的模板,后面推送消息总是:blackList!!!推送失败,换一个文字正常的就过了。
选好模板:记下ID就进行下一步:
小程序端如何操作呢,这点和公众号不一样,公众号需要一个FormID来消耗,而订阅消息不是,当用户通过事件触发:
我们主动向用户弹出申请,一会放图,下面是API使用,tmplids是模板消息列表ID,你可以放上多个,用户可以根据自己的选择来勾选,当用户勾选要接收的模板消息类型,会返回动态的字段(和模板消息ID一致),并且这个字段的值是:accept,这就代表你在后台,可以为这个用户,推送accept过的模板消息了。不过只能推送一次,如果用户多次点击,便可以多次推送,微信后台应该是记录了。我们也可以自己记录,不需要保存FormID这样的东西。
接口:wx.requestSubscribeMessage(Object object)
wx.requestSubscribeMessage({tmplIds: ["XII_0By8D9WabnUjVPB_8S1itsm2d4_xxx"],success: function (res) {if (res.XII_0By8D9WabnUjVPB_8S1itsm2d4_xxxxx === 'accept'){wx.showToast({title: '订阅OK!',})}console.log(res)//成功},fail(err) {//失败console.error(err);}})},
一旦用户点击允许,我们可以后台记录该模板被允许了一次。
多次点击,是累计。
看看后端关键代码:PHP接口:subscribeMessage.send
这里注意就是:每个字段都有格式,一定要按照文档格式来
/*** 发送订阅消息* @return [type] [description]*/
public function sendSubMessage($openId = "ofasP0XMXrT-8sZCoXcOTxxxxxxx",$tmpl = "XII_0By8D9WabnUjVPB_8S1itsm2d4_VsRxxxxxx"){$params['touser'] = $openId;$params['template_id'] = $tmpl;$params['page'] = "/pages/index/index";$params['data'] = ['date2' => ['value' =>'2019-10-12'],// 'character_string7' =>['value'=>'121212'],'thing1'=>['value'=>'开通完成']];// return $this->success('200',$params);return $this->getCurl(self::$subMessageUrl.self::$accessToken,$params);}
看看发送成功的内容:
使用微信小程序新的订阅消息接口,主动推送。相关推荐
- 微信小程序 - 云开发轮询实现定时推送订阅消息
前言 受众:已有小程序和云开发经验(没有的话照着流程和官方文档也应该可以实现) 关于小程序的消息推送,我了解到的有以下几种实现方式 1.模板消息,已于2020 年 1 月 10 日下线 2.通过服务端 ...
- 【微信小程序】(三)订阅消息实现
微信小程序订阅消息指的是用户在你的小程序中进行了一些操作,你的小程序可以在某一个时间点向该用户发送消息,通知用户操作的结果.比如用户想要小程序在某一天通知他去买票,在小程序中授予通知权限之后,小程序在 ...
- 微信小程序云开发-订阅消息下发系统
一.前言 本篇文章需要实现的是一个基于云开发搭配CMS实现的消息下发系统.当然不是简简单单的实现功能就好,在实现之前我们需要考虑这个功能的可拓展性以及可复性. 具体的业务场景:管理员登陆CMS系统后可 ...
- 微信小程序 云开发 订阅消息 获取下发权限失败 errCode: 20001
通过下面的代码获取订阅消息的下发权限 提示错误 errMsg: "requestSubscribeMessage:fail No template data return, verify t ...
- uni-app中实现微信小程序/公众号订阅消息推送功能
- 微信小程序之发送通知消息(通过openid推送消息给用户)
微信小程序之发送通知消息(通过openid推送消息给用户) 一.获取access_token access_token是接口调用的凭证,目前有效期为两个小时,需要定时刷新,重复获取将导致上次获取的ac ...
- 关于uniapp开发微信小程序,实现聊天消息,最新消息最底部展示
关于uniapp开发微信小程序,实现聊天消息最新消息最底部展示 实现消息最底部展示 uniapp\vue 页面布局 此处我觉得最要注意的点就是看是谁产生的滚动条. 逻辑书写 关键字: scrollTo ...
- php一对多聊天程序代码,微信小程序实现一对多发消息
微信小程序中实现一对多发消息详解及实例代码 微信小程序中各个界面之间的传值和通知比较蛋疼.所以模仿了iOS中的通知中心,在微信小程序中写了一套类似的通知中心. 通知中心可以做到:1对多发消息,传递ob ...
- 基于微信小程序新冠疫苗预约系统(微信小程序)
基于微信小程序新冠疫苗预约系统 基于微信小程序新冠疫苗预约系统,后端是基于java编程语言,ssm框架,mysql数据库,前端是微信小程序制作:本系统分为用户和管理员两个角色,其中用户注册和登陆系统, ...
最新文章
- nginx php 大小写问题,Nginx实现url请求不区分大小写
- 分布式事务开局第一篇,从数据库事务隔离级别说起
- 关于form/input 的autocomplete=off属性
- Swift之UIView设置部分圆角与获取其所在ViewController
- java调用julia脚本,Julia请求脚本中的用户输入
- 小说站群网站聚合源码
- 用data.table语句批量处理变量
- 【图像融合】基于matlab curvelet变换图像融合【含Matlab源码 776期】
- 两个平面的位置关系和判定方程组解_2018年高考数学总复习第九章平面解析几何第2讲两直线的位置关系学案!...
- python调用海康人脸相机登录等接口(开发环境Linux)
- ios共享账号公众号_新增iOS游戏账号共享06
- QQ截图“钉在桌面上”:不用另外下载软件让图片在屏幕置顶,永远保持在最前面、最顶端
- Opencv-获取两点之间距离
- 淘宝模板开发系列之DOM、CSS规范
- 在树莓派上安装配置远程摄像头监控motion
- [DirectX 9.0笔记]第二章 渲染管线
- CVE-2018-12613 --- 本地文件包含造成远程代码执行漏洞复现
- Qt Creator 添加大恒相机SDK库
- 构建/dev/kmem枚举所有Linux内核模块(包括隐藏的)
- 精致又小巧的3款黑科技软件,一旦使用,难以割舍