自定義菜單能夠幫助公衆号豐富界面,讓使用者更好更快地了解公衆号的功能。
1、自定義菜單最多包括3個一級菜單,每個一級菜單最多包含5個二級菜單。
2、一級菜單最多4個漢字,二級菜單最多7個漢字,多出來的部分将會以“...”代替。
3、建立自定義菜單後,菜單的重新整理政策是,在使用者進入公衆号會話頁或公衆号profile頁時,如果發現上一次拉取菜單的請求在5分鐘以前,就會拉取一下菜單,如果菜單有更新,就會重新整理用戶端的菜單。測試時可以嘗試取消關注公衆賬号後再次關注,則可以看到建立後的效果。
自定義菜單接口可實作多種類型按鈕總共有10種,最常見的有兩種:
1、click:點選推事件使用者點選click類型按鈕後,微信伺服器會通過消息接口推送消息類型為event的結構給開發者(參考消息接口指南),并且帶上按鈕中開發者填寫的key值,開發者可以通過自定義的key值與使用者進行互動;
2、view:跳轉URL使用者點選view類型按鈕後,微信用戶端将會打開開發者在按鈕中填寫的網頁URL,可與網頁授權擷取使用者基本資訊接口結合,獲得使用者基本資訊。
至于構造curl請求函數和擷取access_token這裡就不用貼出來了,具體見
PHP中的curl網絡請求
擷取微信基礎接口憑證Access_token
//自定義菜單欄
public function _createMenu(){
$curl = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$this->_getAccessToken();
$data = ' {
"button":[
{
"name":"常用服務",
"sub_button":[
{
"type":"view",
"name":"百度一下",
"url":"https://www.baidu.com/"
},
{
"type":"view",
"name":"騰訊視訊",
"url":"http://v.qq.com/"
},
{
"type":"click",
"name":"創業雜談",
"key":"TALK"
}]
},
{
"type":"click",
"name":"今日歌曲",
"key":"TODAY_MUSIC"
}]
}';
$result = $this->_request($curl,true,'POST',$data);
echo $result;
}
按鈕類型為click類型的時候,在接收事件推送裡邊必須有與之對應的key值,否則得不到應有的響應。詳見 微信消息管理之接收事件推送
