昆明微信小程序模板消息推送服务教程

关于微信小程序模板消息实现的方法,网上已经有不少的教程,我就没有必要的写多么详实的内容。只不过,上一次在创建模板消息获取凭证的时候,总是不能成功,最后才发现,report-submit  忘记了加上造成花费了许多时间去找原因,多么痛的领悟!想着也很久没有写教程笔记了,抽时间做个记录。

一、了解什么是模板消息

了解模板消息,我们可以来看看微信开发文档的说明。

基于微信的通知渠道,我们为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验。

微信小程序开发文档

- 模板推送位置:服务通知

- 模板下发条件:用户本人在微信体系内与页面有交互行为后触发,

- 模板跳转能力:点击查看详情仅能跳转下发模板的该帐号的各个页面

微信小程序开发文档

模板消息即是通过微信的服务通知下发的消息,在某种条件下,用户收到的通知消息。服务通知的消息与微信服务号,或者朋友对话收到的通知是一样的,出现在聊天列表中。与微信公众号的订阅号不同,订阅号是被折叠的。

二、如何使用模板消息

首先,需要选择合适的模板消息 ID 。

模板消息 ID 的选择和获取,这里就不多讲,不清楚的可以访问微信开发文档了。小程序模板消息 ID ,登录 https://mp.weixin.qq.com 后台的模板消息处进行选择。

其次,需要获取推送消息的 formId 。

微信开发文档中说:页面的 <form></form> 组件,属性 report-submit 为 true 时,可以声明为需要发送模板消息,此时点击按钮提交表单可以获取 `formId`,用于发送模板消息。意思就是获取 formId 必须要在表单提交的状态下才可以。

举个例子:比如艾码汇小程序需要对发表话题的帖子进行消息推送,主要目的是在帖子通过审核的时候,发送消息通知作者。

1. 创建发表话题的表单

<form bindsubmit="add" report-submit="true">  此处为表单相关内容 ..  <button>立即提交</button></form>

表单中的 report-submit 必须存在,而且必须是 true 。一定不要忘了!!!

2. 提交表单的时候,需要存储 formId

const add = function (e) {  let formid = e.detail.formId  此处为表单动作函数...}

把获取的 formid 传送到服务器进行存储。注意:开发工具状态下 formid 是无效的,必须是真机调试或体验版和正式版才能生效。

三、调用接口下发模板消息

1. 获取调用接口凭证 access_token

通过 GET 方式获取接口凭证,请求地址:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 其中需要两个参数,分别是小程序的 appid 和 appsecret 。小程序的 appid 可以在微信小程序后台开发选项中直接看到,appsecret 则需要生成。

WordPress 获取 access_token 可以通过 PHP 函数 file_get_contents($url) 进行获取页面内容 。

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";$content = file_get_contents($url);$token = json_decode($content);$access_token = $token->access_token;

这样就获取了调用接口凭证。

2. 发送模板消息

通过小程序的 appid 和 appsecret 获取了调用接口凭证,接下来就要通过 POST 方式把数据进行封装推送给用户了。请求地址:https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN 其中 accsess_token 就是上面的接口凭证。

下发模板消息必须的参数分别有:access_token(接口凭证),touser(接收消息的用户 openid),template_id(模板消息 ID),form_id(消息凭证)。另外其他参数非必须,但是,如果没有 data 数据,那么用户接收到的将会是空模板消息。至于 data 数据,则根据模板消息选取的关键词进行设置。比如以评论消息模板为例,选择三个关键词,分别是:回复者,回复内容,回复时间。

$data = array(   "keyword1" => array( "value" => "小明" ),  "keyword2" => array( "value" => "这是回复内容哦" ),  "keyword3" => array( "value" => "2019-03-23 20:34:06" ));

3. 推送消息动作

以 PHP 为例,使用 Curl 方式进行消息推送动作。注意:服务器需要支持 Curl 扩展。

function get_content_by_curl($url,$post_data=array(),$header=array()) {  $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $url);  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);  curl_setopt($ch, CURLOPT_HEADER, 0);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);  curl_setopt($ch, CURLOPT_POST, 1);  curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);  curl_setopt($ch, CURLOPT_TIMEOUT, 500);  curl_setopt($ch, CURLOPT_AUTOREFERER,true);  $content = curl_exec($ch);  $info = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);  $code = curl_getinfo($ch,CURLINFO_HTTP_CODE);  curl_close($ch);  if($code == "200") {    return $content;  } else {    return null;  }}
$url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=".$token->access_token;$header = array("Content-Type: application/json;charset=UTF-8" );get_content_by_curl($url,json_encode($data),$header);

这样就执行了 POST 模板消息数据了。

四、最简单的推送服务

如果觉得搞一个小程序推送服务很麻烦,其实,可以使用 vPush 推送服务,简单,易用,可创建推送接口,而且,不要求小程序后端是什么框架都可以接入。vPush 推送服务是古人云 小程序开发的推送服务系统,支持小程序查看推送任务。有需要的可以联系我(微信号:e80111947),定制小程序推送接口服务。订阅会员也可以找我哦,可以享受九折优惠!

以上就是昆明微信小程序模板消息推送服务教程的所有内容,希望对大家有所帮助。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

大中专招生方法二:机器人电话外呼(ai外呼)人工智能外呼系统(含机器人话术模板)|大中专招生方法,机器人外呼,人工智能电话外呼,大专招生方法,中专招生方法,学校招生方法,中职招生方法,机器人话术模板,大中专,招生,方法,机器人,电话,外呼,ai外呼,人工智能,系统,机器,人话,模板
大中专招生方法二:机器人电话外呼(ai外呼)人工智能外呼系统(含机器人话术模板)

历史上的今天:04月29日

热门专题

昆明综合高中|昆明综合高中
昆明综合高中
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
综合高中|云南综合高中,昆明综合高中,综合高中能考本一吗,综合高中和普通高中的区别,综合高中是什么意思,综合高中能参加全国统一高考吗,综合高中可以考哪些大学,综合高中的学籍是什么
综合高中
安徽开放大学|安徽开放大学报名,安徽开放大学报考,安徽开放大学,什么是安徽开放大学,安徽开放大学学历,安徽开放大学学费,安徽开放大学报名条件,安徽开放大学报名时间,安徽开放大学学历,安徽开放大学专业
安徽开放大学
易捷尔单招|易捷尔单招,易捷尔单招培训,易捷尔单招报名,易捷尔单招考试,易捷尔单招培训学校,易捷尔单招分数
易捷尔单招
云南巨榕教育投资集团有限公司|云南巨榕教育投资集团有限公司,巨榕教育集团,巨榕教育
云南巨榕教育投资集团有限公司
APP开发|app开发_app开发公司_app软件开发_专业app开发_云南app开发公司_app定制_原生app开发定制
APP开发
国家开放大学|国家开放大学报名,国家开放大学报考,国家开放大学,什么是国家开放大学,国家开放大学学历,国家开放大学学费,国家开放大学报名条件,国家开放大学报名时间,国家开放大学学历,国家开放大学专业
国家开放大学

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部