您好,登錄后才能下訂單哦!
小編給大家分享一下微信公眾號(hào)中如何實(shí)現(xiàn)個(gè)性化菜單,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
個(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è)置用戶看到的菜單:
用戶標(biāo)簽(開(kāi)發(fā)者的業(yè)務(wù)需求可以借助用戶標(biāo)簽來(lái)完成)
性別
手機(jī)操作系統(tǒng)
地區(qū)(用戶在微信客戶端設(shè)置的地區(qū))
語(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è)性化菜單的文件。
addconditional_menu.php:創(chuàng)建個(gè)性化菜單
trymatch.php: 測(cè)試匹配個(gè)性化菜單
delconditional_menu.php:刪除個(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é)果如下:
查看菜單發(fā)現(xiàn)從默認(rèn)菜單變成了個(gè)性化菜單,如下所示
這里只設(shè)置了性別過(guò)濾,1表示男性,有關(guān)其他的條件設(shè)置請(qǐng)參看個(gè)性化菜單接口。
測(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é)果如下:
刪除個(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é)果如下表示成功:
使用普通自定義菜單查詢接口可以獲取默認(rèn)菜單和全部個(gè)性化菜單信息,請(qǐng)參看上一章。
查詢之后結(jié)果如下:
這里的menuid和上面的不一樣是因?yàn)槲覄h除了之前的個(gè)性化菜單,然后重新初始化了一次。
使用普通自定義菜單刪除接口可以刪除所有自定義菜單(包括默認(rèn)菜單和全部個(gè)性化菜單)
以上是“微信公眾號(hào)中如何實(shí)現(xiàn)個(gè)性化菜單”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(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)容。