ホームページ  >  記事  >  WeChat アプレット  >  WeChatパブリックアカウントにおけるパーソナライズメニューの開発例

WeChatパブリックアカウントにおけるパーソナライズメニューの開発例

一个新手
一个新手オリジナル
2017-09-07 09:32:134138ブラウズ

WeChatパブリックアカウントのパーソナライズされたメニューの開発例

パーソナライズされたメニューを使用すると、パブリックアカウントのさまざまなユーザーグループがさまざまなカスタマイズされたメニューを表示できます。このインターフェイスは、認定されたサブスクリプション アカウントと認定されたサービス アカウントに公開されています。また、ユーザーの WeChat クライアントのバージョンは iPhone 6.2.2、Android 6.2.4 以降である必要があります。また、現時点では他のバージョンの WeChat はサポートされていません。 、最初に個人用メニューを定義する必要があります。デフォルトのメニューを定義します。

開発者は、次の条件を通じてユーザーに表示されるメニューを設定できます:

  1. ユーザータグ (開発者のビジネスニーズはユーザータグの助けを借りて完了できます)

  2. 性別

  3. モバイル操作システム

  4. 地域 (WeChat クライアントでユーザーが設定した地域)

  5. 言語 (WeChat クライアントでユーザーが設定した言語)

パーソナライズされたメニューのマッチングルールの説明:

個人設定メニューの更新は上書きされます。
たとえば、パブリック アカウントは、デフォルト メニュー、パーソナライズ メニュー 1、パーソナライズ メニュー 2、およびパーソナライズ メニュー 3 をリリースしました。その後、ユーザーが公式アカウントページにアクセスすると、パーソナライズメニュー 3 からマッチングが開始されます。パーソナライズメニュー 3 のマッチングが成功した場合は、直接パーソナライズメニュー 3 に戻ります。それ以外の場合は、メニューが完了するまでパーソナライズメニュー 2 のマッチングを試み続けます。無事マッチングされました。
上記の一致ルールに従って、メニューの有効時間に関する混乱を避けるために、開発者がメニューを更新する必要がある場合、完全な構成を再リリースする必要があるため、パーソナライズされたメニュー編集 API を提供しないことが決定されました。

この例のプロジェクト構造は次のとおりです。前章のファイルに加えて、パーソナライズされたメニューを処理するための 3 つのファイルが追加されています。


addconditional_menu.php: パーソナライズされたメニューを作成します

trymatch.php: パーソナライズされたメニューをテストします

delconditional_menu.php: パーソナライズされたメニューを削除します

1.パーソナリティ メニューをカスタマイズするためのインターフェイスは https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=ACCESS_TOKEN で、メニュー文字列はポスト モードで送信されます。

addconditional_menu.php

<?php
require_once(&#39;./Utils.php&#39;);
//个性化菜单字符串
$menujson = &#39;{
	"button":[
 	{
    	"type":"click",
    	"name":"单击",
     	"key":"V1001_TODAY_MUSIC"
	},
	{
		"name":"搜素",
		"sub_button":[
            {
                "type":"view",
                "name":"百度",
                "url":"http://www.baidu.com/"
            }
        ]
 }],
 "matchrule":{
  "sex":"1"
  }
}&#39;;
$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. パーソナライズされたメニューのマッチング結果をテストします

テストインターフェイスは https://api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=ACCESS_TOKEN で、過去に「user_id」を投稿する必要があります。

trymatch.php

<?php
    @header(&#39;Content-type: text/plain;charset=UTF-8&#39;);
    require_once(&#39;./Utils.php&#39;);
    $url = "https://api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=".Utils::get_access_token();
    //user_id可以是粉丝的OpenID,也可以是粉丝的微信号
    $userID = &#39;{"user_id":"o4WmZ0h-4huBUVQUczx2ezaxIL9c"}&#39;;
    $result = Utils::https_request($url, $userID);
    echo $result;
?>

返された結果は次のとおりです:


3. 個人用メニューを削除します

個人用メニューを削除するインターフェースは https://api.weixin.qq.com/cgi-bin です。 /menu/ delconditional?access_token=ACCESS_TOKEN の場合は、過去に「menuid」を投稿する必要があります。

delconditional_menu.php

<?php
    @header(&#39;Content-type: text/plain;charset=UTF-8&#39;);
    require_once(&#39;./Utils.php&#39;);
    $url = "https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=".Utils::get_access_token();
    //menuid,个性化菜单的menuid
    $menuID = &#39;{"menuid":414784577}&#39;;
    $result = Utils::https_request($url, $menuID);
    echo $result;
?>

成功を示すために次の結果が返されます:

4. パーソナライズされたメニューをクエリします

通常のカスタム メニュー クエリ インターフェイスを使用して、デフォルト メニューとすべてのパーソナライズされたメニュー情報を取得します。前の章。


クエリ後の結果は次のとおりです:



ここのメニューIDは、以前の個人用メニューを削除して再初期化したため、上記のものとは異なります。

5. すべてのメニューを削除します


すべてのカスタマイズされたメニュー (デフォルトのメニューとすべての個人用メニューを含む) を削除するには、通常のカスタム メニューの削除インターフェイスを使用します

以上がWeChatパブリックアカウントにおけるパーソナライズメニューの開発例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。