手机版| 蕊屹课堂| 个人中心| 注册| 登录 关注蕊屹 关注订阅号
您的位置: 主页 > 网络建设 > 微信平台 > 昆明微信小程序模板消息推送服务教程

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

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

关于微信小程序模板消息实现的方法,网上已经有不少的教程,我就没有必要的写多么详实的内容。只不过,上一次在创建模板消息获取凭证的时候,总是不能成功,最后才发现,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),定制小程序推送接口服务。订阅会员也可以找我哦,可以享受九折优惠!

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

昆明微信小程序模板消息推送服务教程转载请注明:http://www.52tourism.com/wxpt/11898.html

上一篇:昆明微信小程序原生开发与第三方框架选择
下一篇:昆明微信小程序开发多少钱?