您好,登錄后才能下訂單哦!
小編給大家分享一下微信公眾號中如何實現個性化菜單,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
個性化菜單讓公眾號的不同用戶群體看到不一樣的自定義菜單。該接口開放給已認證訂閱號和已認證服務號,個性化菜單要求用戶的微信客戶端版本在iPhone6.2.2,Android 6.2.4以上,暫時不支持其他版本微信,另外定義個性化菜單之前必須先定義默認菜單。
開發者可以通過以下條件來設置用戶看到的菜單:
用戶標簽(開發者的業務需求可以借助用戶標簽來完成)
性別
手機操作系統
地區(用戶在微信客戶端設置的地區)
語言(用戶在微信客戶端設置的語言)
個性化菜單匹配規則說明:
個性化菜單的更新是會被覆蓋的。
例如公眾號先后發布了默認菜單,個性化菜單1,個性化菜單2,個性化菜單3。那么當用戶進入公眾號頁面時,將從個性化菜單3開始匹配,如果個性化菜單3匹配成功,則直接返回個性化菜單3,否則繼續嘗試匹配個性化菜單2,直到成功匹配到一個菜單。
根據上述匹配規則,為了避免菜單生效時間的混淆,決定不予提供個性化菜單編輯API,開發者需要更新菜單時,需將完整配置重新發布一輪。
本例的項目結構如下,除了上一章的文件之外,還增加了三個處理個性化菜單的文件。
addconditional_menu.php:創建個性化菜單
trymatch.php: 測試匹配個性化菜單
delconditional_menu.php:刪除個性化菜單
創建個性化菜單的接口是https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=ACCESS_TOKEN,以post方式發送菜單字符串。
addconditional_menu.php
<?php require_once('./Utils.php'); //個性化菜單字符串 $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(); //創建個性化菜單 $result = Utils::https_request($url, $menujson); //返回返回menuid表示成功 echo $result;
返回結果如下:
查看菜單發現從默認菜單變成了個性化菜單,如下所示
這里只設置了性別過濾,1表示男性,有關其他的條件設置請參看個性化菜單接口。
測試接口是https://api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=ACCESS_TOKEN,需要post "user_id"過去。
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,也可以是粉絲的微信號 $userID = '{"user_id":"o4WmZ0h-4huBUVQUczx2ezaxIL9c"}'; $result = Utils::https_request($url, $userID); echo $result; ?>
返回結果如下:
刪除個性化菜單接口是https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=ACCESS_TOKEN,需要post“menuid”過去。
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,個性化菜單的menuid $menuID = '{"menuid":414784577}'; $result = Utils::https_request($url, $menuID); echo $result; ?>
返回結果如下表示成功:
使用普通自定義菜單查詢接口可以獲取默認菜單和全部個性化菜單信息,請參看上一章。
查詢之后結果如下:
這里的menuid和上面的不一樣是因為我刪除了之前的個性化菜單,然后重新初始化了一次。
使用普通自定義菜單刪除接口可以刪除所有自定義菜單(包括默認菜單和全部個性化菜單)
以上是“微信公眾號中如何實現個性化菜單”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。