重庆蜡像制作,长沙网站优化分析,关键词排名优化价格,嵌入式软件开发是什么意思#x1f3c6;作者简介#xff0c;黑夜开发者#xff0c;CSDN领军人物#xff0c;全栈领域优质创作者✌#xff0c;CSDN博客专家#xff0c;阿里云社区专家博主#xff0c;2023年6月CSDN上海赛道top4。 #x1f3c6;数年电商行业从业经验#xff0c;历任核心研发工程师… 作者简介黑夜开发者CSDN领军人物全栈领域优质创作者✌CSDN博客专家阿里云社区专家博主2023年6月CSDN上海赛道top4。 数年电商行业从业经验历任核心研发工程师项目技术负责人。 本文已收录于PHP专栏PHP进阶实战教程。 另有专栏PHP入门基础教程希望各位大佬多多支持❤️。 欢迎 点赞✍评论⭐收藏 文章目录 一、引言二、公众号主动推送应用场景介绍三、准备工作3.1 注册微信公众号3.2 获取开发者ID和密钥3.3 配置服务器环境3.4 配置微信公众号并开通客服3.5 设置服务器地址和Token3.6 验证接口配置信息 四、具体功能开发4.1 获取access_token4.2 发送客服消息4.3 调用发送4.4 效果展示 五、总结 一、引言 微信公众号是企业与用户之间进行交互和传播信息的重要工具。在一些特定的场景中我们可能需要给用户进行不限制次数的消息推送以保持用户对公众号的关注和互动。本文将介绍如何使用PHP开发实现微信公众号主动推送消息的功能并逐步指导您完成相关配置和开发的步骤。本文所使用到的是服务号为了确保使用到更加完善的功能建议通过企业服务号来进行推送。 二、公众号主动推送应用场景介绍
微信公众号主动消息推送可以应用于多种场景以下是一些常见的场景
活动推广公众号可以通过推送消息向用户宣传活动信息如抽奖、优惠促销等吸引用户参与活动。
新闻资讯公众号可以定期推送最新的新闻资讯给用户让用户了解实时的新闻信息。
订单状态更新电商公众号可以通过消息推送通知用户订单的发货、配送和交易状态等信息提供更好的用户服务。
会员营销公众号可以通过推送消息向会员发送个性化的优惠券、积分变动等信息增加用户的黏性和忠诚度。
客户服务公众号可以通过消息推送回复用户的咨询、投诉等问题提供更及时的客户服务。
行程提醒旅游公众号可以根据用户提供的行程信息通过消息推送提醒用户到达时间、预定的酒店、机票等信息。
消息互动公众号可以通过消息推送与用户进行互动如发送问卷调查、参与投票等了解用户的需求和反馈。
如下图展示了一个腾讯的防诈骗推送。
总之微信公众号主动消息推送可以根据不同的需求和场景提供个性化的信息服务提升用户体验和参与度。下面就来通过一系列步骤开发一个公众号主动消息推送消息功能。
三、准备工作
在开始之前我们需要完成以下几个准备工作。您可以大致先看一下已经操作过的步骤可以省略。
3.1 注册微信公众号
首先您需要拥有一个微信公众号。如果还没有注册可以访问微信公众平台进行注册。
3.2 获取开发者ID和密钥
注册完成后登录微信公众平台在开发者中心获取开发者ID和密钥。这些信息将用于后续的接口配置和开发。 3.3 配置服务器环境
在您的服务器上安装PHP运行环境并确保具备相应的扩展库如cURL扩展等。该环境将用于后续的开发和部署。 3.4 配置微信公众号并开通客服
在完成准备工作后我们来配置微信公众号以实现消息推送功能。 3.5 设置服务器地址和Token
登录微信公众平台进入开发者中心在基本配置中找到服务器配置项。设置服务器地址为您的服务器域名并设置Token为您自定义的令牌。 3.6 验证接口配置信息
在完成服务器配置后微信公众平台会向您的服务器发送一个验证请求。您需要在服务器中编写代码来处理这个请求并根据微信公众平台的要求返回一个特定的字符串。如果验证通过微信公众平台将会认为服务器配置成功。
四、具体功能开发
4.1 获取access_token
access_token有效期是2个小时为了避免频繁请求微信接口耗时将其存入到文件里面。并判断时间是否过期如果过期才更新。主要代码如下 /** var string */
const ACCESS_TOKEN_BASE_URL https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credential;/*** getAccessToken* return false|string*/
static function getAccessToken()
{$wx C(WX); // 配置文件中获取根据自己实际情况来$appid $wx[appId]; // appId 微信后台有配置$appSecret $wx[appSecret]; // 微信公众号后台给到的$tokenFile dirname(__FILE__)./accessToken.txt;if(!file_exists($tokenFile) || ((time() - filemtime($tokenFile)) 7200)){$url self::ACCESS_TOKEN_BASE_URL . appid.$appid.secret.$appSecret;$result json_decode(file_get_contents($url));$accessToken $result-access_token;file_put_contents($tokenFile,$accessToken);return $accessToken;}return file_get_contents($tokenFile);
}4.2 发送客服消息
通过下面的代码结合上面access_token的获取就可以实现将消息通过微信公众号主动推送给用户了。
/** var string */
CONST SEND_KEFU_MESSAGE_BASE_URL https://api.weixin.qq.com/cgi-bin/message/custom/send;/*** param $content* param $openid* return true*/
static function sendKefuMsg($content, $openid)
{$token self::getAccessToken();$url self::SEND_KEFU_MESSAGE_BASE_URL . ?access_token . $token;$data {touser: . $openid . ,msgtype:text,text:{content: . $content . }};self::postRequest($url, $data);return true;
}/*** request 请求*/
static function postRequest($url, $data){$curl curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$response curl_exec($curl);curl_close($curl);return $response;
}4.3 调用发送
将上面的文件命名为Wx.class.php由于方法都是静态方法所以直接用下面的方法调用就发出去了。
$txt EOTXT
您有5条重要消息值得关注请看....
1. 准备吃早饭
2. 准备吃午饭
3. 准备吃晚饭
4. 准备打游戏
5. 准备睡觉
EOTXT;
$openId oK01n61riwhdd8q6ZwdZ7HgHSp; // 这个是微信公众号对每个用户的唯一ID
Wx::sendKefuMsg($txt, $openId);4.4 效果展示
运行上面的发送代码公众号就会将我们设置的内容直接发给用了具体效果见下图。
五、总结
通过本文的介绍我们了解了如何使用PHP开发微信公众号不限次数的消息推送功能。实现了从准备工作到配置微信公众号再到发送推送的完整逻辑。当然这只是实现最核心的功能你可以根据自己的需求和业务逻辑进行扩展和优化。当然主动推送消息也是要遵循一定规则的可以看下图。 今天的文章就分享到这里我们下次见。