前の記事では、WeChat パブリック プラットフォーム インターフェイスのメッセージと関連操作をカプセル化しました。この章では主に、WeChat サーバーによって送信されたメッセージを受信して応答する方法を紹介します。
メッセージの受信先を明確にする
WeChat パブリック プラットフォーム インターフェイス メッセージ ガイドから、ユーザーがパブリック アカウントにメッセージを送信すると、WeChat サーバーは POST 経由でインターフェイス構成情報を入力した URL にメッセージを送信することがわかります。 URL リクエスト処理クラス CoreServlet の doPost メソッドでメッセージを受信し、メッセージを処理し、メッセージに応答します。
メッセージを受信、処理、応答する
私が書いた CoreServlet の完全なコードを見てみましょう:
リーリー コードの説明:
1) 29 行目: メッセージ ツール クラス MessageUtil を呼び出して、WeChat によって送信された XML 形式のメッセージを解析し、解析結果を HashMap に書き込みます。
2) 行 32~36: HashMap からメッセージ内のフィールドを削除します。3) 行 39 ~ 44 および 84: 返されるテキスト メッセージ オブジェクトをアセンブルします。
4) 行 47 ~ 82: WeChat によって送信されたさまざまなタイプのメッセージを受信し、MsgType に基づいてそれがどのタイプのメッセージに属するかを判断する方法を示します。5) 85 行目: メッセージ ツール クラス MessageUtil を呼び出して、返されるテキスト メッセージ オブジェクト TextMessage を XML 形式の文字列に変換します。
イベントプッシュ(フォロー、フォロー解除、メニュークリック)について
テキストメッセージ、画像メッセージ、地理的位置メッセージ、リンクメッセージ、音声メッセージなどのメッセージタイプの判断を理解しやすい 新しい友達の多くはイベントプッシュメッセージの使い方を理解していないか、判断方法がわかりません。 . ユーザーが気になるニュース。次に、イベント プッシュを具体的に見てみましょう。次の図は、公式メッセージ インターフェイス ドキュメントのイベント プッシュの説明です。
ここでは、MsgType と Event の 2 つのパラメーターのみを考慮する必要があります。 MsgType=even の場合、これはイベント プッシュ メッセージであることを意味し、Event は、サブスクリプション、サブスクリプション解除、およびカスタム メニュー クリック イベントを含むイベント タイプを意味します。つまり、ユーザーが公開アカウントをフォローしている場合でも、公開アカウントのフォローを解除している場合でも、公開アカウントのメニューを使用している場合でも、WeChat サーバーは MsgType=event のメッセージを送信し、フォロー、キャンセルを示す特定のメッセージについては、アテンションなのか、メニューのクリックイベントなのかはEventの値で判断する必要があります。 (イベントとイベントを区別するための注意)
5 シリーズのチュートリアルのまとめ
5 つの記事の説明を経て、開発モードのアクティブ化、インターフェイスの構成、メッセージ関連のツール クラスのカプセル化、メッセージの受信と応答がすべて説明され、完全なソース コードが掲載されているので、Java 基盤を持っている友人なら読むことができると思います。一連の記事を通じて、WeChat パブリック プラットフォーム開発に関する関連技術知識を理解し、基本的に習得できるようになります。皆様の便宜のために、現在のプロジェクトの完全な構造を以下に掲載します:
http://www.bkjia.com/PHPjc/444572.html