パーソナライズされたメニューを使用すると、パブリックアカウントのさまざまなユーザーグループがさまざまなカスタマイズされたメニューを表示できます。このインターフェイスは、認定されたサブスクリプション アカウントと認定されたサービス アカウントに公開されています。また、ユーザーの WeChat クライアントのバージョンは iPhone 6.2.2、Android 6.2.4 以降である必要があります。また、現時点では他のバージョンの WeChat はサポートされていません。 、最初に個人用メニューを定義する必要があります。デフォルトのメニューを定義します。
開発者は、次の条件を通じてユーザーに表示されるメニューを設定できます:
ユーザータグ (開発者のビジネスニーズはユーザータグの助けを借りて完了できます)
性別
モバイル操作システム
地域 (WeChat クライアントでユーザーが設定した地域)
言語 (WeChat クライアントでユーザーが設定した言語)
パーソナライズされたメニューのマッチングルールの説明:
個人設定メニューの更新は上書きされます。
たとえば、パブリック アカウントは、デフォルト メニュー、パーソナライズ メニュー 1、パーソナライズ メニュー 2、およびパーソナライズ メニュー 3 をリリースしました。その後、ユーザーが公式アカウントページにアクセスすると、パーソナライズメニュー 3 からマッチングが開始されます。パーソナライズメニュー 3 のマッチングが成功した場合は、直接パーソナライズメニュー 3 に戻ります。それ以外の場合は、メニューが完了するまでパーソナライズメニュー 2 のマッチングを試み続けます。無事マッチングされました。
上記の一致ルールに従って、メニューの有効時間に関する混乱を避けるために、開発者がメニューを更新する必要がある場合、完全な構成を再リリースする必要があるため、パーソナライズされたメニュー編集 API を提供しないことが決定されました。
この例のプロジェクト構造は次のとおりです。前章のファイルに加えて、パーソナライズされたメニューを処理するための 3 つのファイルが追加されています。
addconditional_menu.php: パーソナライズされたメニューを作成します
trymatch.php: パーソナライズされたメニューをテストします
delconditional_menu.php: パーソナライズされたメニューを削除します
addconditional_menu.php
<?php require_once('./Utils.php'); //个性化菜单字符串 $menujson = '{ "button":[ { "type":"click", "name":"单击", "key":"V1001_TODAY_MUSIC" }, { "name":"搜素", "sub_button":[ { "type":"view", "name":"百度", "url":"http://www.baidu.com/" } ] }], "matchrule":{ "sex":"1" } }'; $url = "https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=".Utils::get_access_token(); //创建个性化菜单 $result = Utils::https_request($url, $menujson); //返回返回menuid表示成功 echo $result;
メニューを表示すると、以下に示すように、デフォルトのメニューから個人用メニューに変更されていることがわかります
性別フィルタリングのみはここで設定されます。1 は男性を意味します。その他の条件設定については、パーソナライズされたメニュー インターフェイスを参照してください。
2. パーソナライズされたメニューのマッチング結果をテストします
trymatch.php
<?php @header('Content-type: text/plain;charset=UTF-8'); require_once('./Utils.php'); $url = "https://api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=".Utils::get_access_token(); //user_id可以是粉丝的OpenID,也可以是粉丝的微信号 $userID = '{"user_id":"o4WmZ0h-4huBUVQUczx2ezaxIL9c"}'; $result = Utils::https_request($url, $userID); echo $result; ?>
返された結果は次のとおりです:
3. 個人用メニューを削除します
delconditional_menu.php
<?php @header('Content-type: text/plain;charset=UTF-8'); require_once('./Utils.php'); $url = "https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=".Utils::get_access_token(); //menuid,个性化菜单的menuid $menuID = '{"menuid":414784577}'; $result = Utils::https_request($url, $menuID); echo $result; ?>
成功を示すために次の結果が返されます:
4. パーソナライズされたメニューをクエリします
ここのメニューIDは、以前の個人用メニューを削除して再初期化したため、上記のものとは異なります。
以上がWeChatパブリックアカウントにおけるパーソナライズメニューの開発例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。