溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信公眾號(hào)中如何實(shí)現(xiàn)個(gè)性化菜單

發(fā)布時(shí)間:2021-09-14 18:36:42 來(lái)源:億速云 閱讀:197 作者:小新 欄目:移動(dòng)開(kāi)發(fā)

小編給大家分享一下微信公眾號(hào)中如何實(shí)現(xiàn)個(gè)性化菜單,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

微信公眾號(hào)中個(gè)性化菜單的開(kāi)發(fā)實(shí)例

個(gè)性化菜單讓公眾號(hào)的不同用戶群體看到不一樣的自定義菜單。該接口開(kāi)放給已認(rèn)證訂閱號(hào)和已認(rèn)證服務(wù)號(hào),個(gè)性化菜單要求用戶的微信客戶端版本在iPhone6.2.2,Android 6.2.4以上,暫時(shí)不支持其他版本微信,另外定義個(gè)性化菜單之前必須先定義默認(rèn)菜單。

開(kāi)發(fā)者可以通過(guò)以下條件來(lái)設(shè)置用戶看到的菜單:

  1. 用戶標(biāo)簽(開(kāi)發(fā)者的業(yè)務(wù)需求可以借助用戶標(biāo)簽來(lái)完成)

  2. 性別

  3. 手機(jī)操作系統(tǒng)

  4. 地區(qū)(用戶在微信客戶端設(shè)置的地區(qū))

  5. 語(yǔ)言(用戶在微信客戶端設(shè)置的語(yǔ)言)

個(gè)性化菜單匹配規(guī)則說(shuō)明:

個(gè)性化菜單的更新是會(huì)被覆蓋的。
例如公眾號(hào)先后發(fā)布了默認(rèn)菜單,個(gè)性化菜單1,個(gè)性化菜單2,個(gè)性化菜單3。那么當(dāng)用戶進(jìn)入公眾號(hào)頁(yè)面時(shí),將從個(gè)性化菜單3開(kāi)始匹配,如果個(gè)性化菜單3匹配成功,則直接返回個(gè)性化菜單3,否則繼續(xù)嘗試匹配個(gè)性化菜單2,直到成功匹配到一個(gè)菜單。
根據(jù)上述匹配規(guī)則,為了避免菜單生效時(shí)間的混淆,決定不予提供個(gè)性化菜單編輯API,開(kāi)發(fā)者需要更新菜單時(shí),需將完整配置重新發(fā)布一輪。

本例的項(xiàng)目結(jié)構(gòu)如下,除了上一章的文件之外,還增加了三個(gè)處理個(gè)性化菜單的文件。

微信公眾號(hào)中如何實(shí)現(xiàn)個(gè)性化菜單

addconditional_menu.php:創(chuàng)建個(gè)性化菜單

trymatch.php: 測(cè)試匹配個(gè)性化菜單

delconditional_menu.php:刪除個(gè)性化菜單

1、創(chuàng)建個(gè)性化菜單

創(chuàng)建個(gè)性化菜單的接口是https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=ACCESS_TOKEN,以post方式發(fā)送菜單字符串。

addconditional_menu.php

<?php
require_once('./Utils.php');
//個(gè)性化菜單字符串
$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();
//創(chuàng)建個(gè)性化菜單
$result = Utils::https_request($url, $menujson);
//返回返回menuid表示成功
echo $result;

返回結(jié)果如下:

微信公眾號(hào)中如何實(shí)現(xiàn)個(gè)性化菜單

查看菜單發(fā)現(xiàn)從默認(rèn)菜單變成了個(gè)性化菜單,如下所示

微信公眾號(hào)中如何實(shí)現(xiàn)個(gè)性化菜單

這里只設(shè)置了性別過(guò)濾,1表示男性,有關(guān)其他的條件設(shè)置請(qǐng)參看個(gè)性化菜單接口。

2、測(cè)試個(gè)性化菜單匹配結(jié)果

測(cè)試接口是https://api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=ACCESS_TOKEN,需要post "user_id"過(guò)去。

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,也可以是粉絲的微信號(hào)
    $userID = '{"user_id":"o4WmZ0h-4huBUVQUczx2ezaxIL9c"}';
    $result = Utils::https_request($url, $userID);
    echo $result;
?>

返回結(jié)果如下:

微信公眾號(hào)中如何實(shí)現(xiàn)個(gè)性化菜單

3、刪除個(gè)性化菜單

刪除個(gè)性化菜單接口是https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=ACCESS_TOKEN,需要post“menuid”過(guò)去。

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,個(gè)性化菜單的menuid
    $menuID = '{"menuid":414784577}';
    $result = Utils::https_request($url, $menuID);
    echo $result;
?>

返回結(jié)果如下表示成功:

微信公眾號(hào)中如何實(shí)現(xiàn)個(gè)性化菜單

4、查詢個(gè)性化菜單

使用普通自定義菜單查詢接口可以獲取默認(rèn)菜單和全部個(gè)性化菜單信息,請(qǐng)參看上一章。

查詢之后結(jié)果如下:

微信公眾號(hào)中如何實(shí)現(xiàn)個(gè)性化菜單

這里的menuid和上面的不一樣是因?yàn)槲覄h除了之前的個(gè)性化菜單,然后重新初始化了一次。

5、刪除所有菜單

使用普通自定義菜單刪除接口可以刪除所有自定義菜單(包括默認(rèn)菜單和全部個(gè)性化菜單)

以上是“微信公眾號(hào)中如何實(shí)現(xiàn)個(gè)性化菜單”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI