简介
在使用或开发小程序过程中,我们会发现消息通知是非常重要的一个环节。我把小程序消息通知分为“小程序内通知”和“微信内通知”两种。小程序内通知包含各种步骤提示、错误提示以及各种实时消息通知,这些通知只有在用户进入小程序才会看到。微信内通知则是跳出小程序的框架在微信消息列表完成消息提示。例如,我么使用某一个商品小程序下单的时候,当物流到了会通过“服务通知”提示我们“请尽快提取获取~”。下面我主要来介绍一下小程序“微信内通知”如何实现?
实现步骤
(一)接入微信小程序消息推送服务
微信官方文档为我们介绍了三种推送方式:
- 开发者服务器接收消息推送
- 云函数接收消息推送
- 微信云托管服务接收消息推送
这里我着重介绍一下开发者服务器接收消息推送方式:
- 登录小程序后台后,在「开发」-「开发设置」-「消息推送」中,管理员扫码启用消息服务,填写服务器地址(URL)、令牌(Token) 和消息加密密钥(EncodingAESKey)等信息。注意:服务器地址URL须为验证服务器的完整地址。
- 验证消息的确来自微信服务器
checkSignature.php//文件位置 <?php function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = "*****"; //对应上图中设置的token $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if ($tmpStr == $signature ) { return true; } else { return false; } } $echostr = $_GET["echostr"]; if (checkSignature()) { echo $echostr; } ?>
- 验证URL有效性成功后即接入生效,成为开发者。
(二)添加消息模板
登录小程序后台后,在「功能」-「订阅消息」-「公共模板库」中选择你需要的模板如下:
或者调用官方API组合模板并添加至帐号下的个人模板库
<?php
//模拟post请求
//模拟post请求
function curlPost