天天看點

微信開發建立自定義菜單

自定義菜單能夠幫助公衆号豐富界面,讓使用者更好更快地了解公衆号的功能。

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值,否則得不到應有的響應。詳見 微信消息管理之接收事件推送

微信開發建立自定義菜單