WeChat 公式アカウントは多くの企業にとってマーケティングやサービスの重要なチャネルとなっており、イベントプッシュ機能も非常に重要な部分です。この記事では、企業がユーザーとより適切に対話できるように、PHP で WeChat 公式アカウントのイベント プッシュを実装する方法を紹介します。
1. WeChat パブリック アカウント イベント プッシュの概要
WeChat パブリック アカウント イベント プッシュとは、WeChat サーバーがユーザーと一般ユーザー間の対話中に特定の種類のイベントをパブリック アカウントにアクティブにプッシュすることを指します。アカウントのフォロー、フォロー解除、メニューのクリックなど。公式アカウントは、これらのイベントを処理することで、より良いユーザー エクスペリエンスとサービスを提供できます。
2. PHP 環境の構築
WeChat パブリック アカウント イベント プッシュを実装する前に、まず PHP 開発環境をセットアップする必要があります。この記事では、具体的な手順を紹介する例として XAMPP を使用します:
3. WeChat パブリック アカウントの開発構成
PHP 開発環境をセットアップした後、PHP との対話を容易にするために WeChat パブリック アカウントを構成する必要があります。具体的な手順は次のとおりです。
4. PHP コードを記述する
WeChat パブリック アカウントの開発と構成が完了したら、関連するコードを PHP で記述することができます。コードの実装は 3 つの部分に分かれています。
WeChat 公式アカウントは、受信したメッセージまたはイベントを公式アカウントで設定されたサーバー アドレスに送信します。 PHP はこのデータを受信して解析します。具体的な実装コードは次のとおりです。
$postdata = $GLOBALS['HTTP_RAW_POST_DATA']; //获取POST数据 if (!empty($postdata)) { //判断数据是否为空 $postObj = simplexml_load_string($postdata, 'SimpleXMLElement', LIBXML_NOCDATA); //将XML数据解析为对象 $msgType = $postObj->MsgType; //获取消息类型 if ($msgType == 'event') { //判断消息是否为事件 $event = $postObj->Event; //获取事件类型 //处理事件 } else { //处理消息 } }
メッセージまたはイベントを受信した後、さまざまなタイプに応じて処理する必要があります。具体的な実装コードは次のとおりです。
(1) 対象となるイベントの処理:
if ($event == 'subscribe') { $toUser = $postObj->FromUserName; //获取用户OpenID $fromUser = $postObj->ToUserName; //获取公众号原始ID $time = time(); //获取当前时间戳 $msgType = 'text'; //回复消息类型为文本 $content = '欢迎关注我们的公众号!'; //回复消息内容 $template = '<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>'; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); //构造回复消息XML echo $info; //返回回复消息给微信服务器 }
(2) テキスト メッセージの処理:
if ($msgType == 'text') { $toUser = $postObj->FromUserName; //获取用户OpenID $fromUser = $postObj->ToUserName; //获取公众号原始ID $time = time(); //获取当前时间戳 $msgType = 'text'; //回复消息类型为文本 $content = '您发送的是文本消息,我们会尽快回复您的问题。'; //回复消息内容 $template = '<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>'; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); //构造回复消息XML echo $info; //返回回复消息给微信服务器 }
WeChat 公開アカウントの開発では、対話プロセスのセキュリティを確保するために署名を使用する必要があります。具体的な実装方法は次のとおりです:
$signature = $_GET["signature"]; //获取加密签名 $timestamp = $_GET["timestamp"]; //获取时间戳 $nonce = $_GET["nonce"]; //获取随机数 $token = "你在微信公众平台设置的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; }
5. デプロイメントテスト
PHP コードを作成した後、テストのためにコードをサーバーにデプロイする必要があります。具体的な手順は次のとおりです。
6. 概要
上記の手順の実装により、WeChat 公式アカウントのイベント プッシュを PHP で正常に実装できます。企業はこの機能を使用してユーザーとの対話を改善し、ブランドの影響力とユーザー満足度を向上させることができます。
以上がPHP で WeChat パブリック アカウント イベント プッシュを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。