您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關微信開發(fā)之如何實現(xiàn)個性化菜單的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
為了幫助公眾號實現(xiàn)靈活的業(yè)務運營,微信公眾平臺新增了個性化菜單接口,開發(fā)者可以通過該接口,讓公眾號的不同用戶群體看到不一樣的自定義菜單。該接口開放給已認證訂閱號和已認證服務號。
開發(fā)者可以通過以下條件來設置用戶看到的菜單:
1、用戶分組(開發(fā)者的業(yè)務需求可以借助用戶分組來完成)
2、性別
3、手機操作系統(tǒng)
4、地區(qū)(用戶在微信客戶端設置的地區(qū))
5、語言(用戶在微信客戶端設置的語言)
個性化菜單接口說明:
1、個性化菜單要求用戶的微信客戶端版本在iPhone6.2.2,Android 6.2.4以上。
2、菜單的刷新策略是,在用戶進入公眾號會話頁或公眾號profile頁時,如果發(fā)現(xiàn)上一次拉取菜單的請求在5分鐘以前,就會拉取一下菜單,如果菜單有更新,就會刷新客戶端的菜單。測試時可以嘗試取消關注公眾賬號后再次關注,則可以看到創(chuàng)建后的效果。
3、普通公眾號的個性化菜單的新增接口每日限制次數(shù)為2000次,刪除接口也是2000次,測試個性化菜單匹配結(jié)果接口為20000次
4、出于安全考慮,一個公眾號的所有個性化菜單,最多只能設置為跳轉(zhuǎn)到3個域名下的鏈接
5、創(chuàng)建個性化菜單之前必須先創(chuàng)建默認菜單(默認菜單是指使用普通自定義菜單創(chuàng)建接口創(chuàng)建的菜單)。如果刪除默認菜單,個性化菜單也會全部刪除
個性化菜單匹配規(guī)則說明:
當公眾號創(chuàng)建多個個性化菜單時,將按照發(fā)布順序,由新到舊逐一匹配,直到用戶信息與matchrule相符合。如果全部個性化菜單都沒有匹配成功,則返回默認菜單。
例如公眾號先后發(fā)布了默認菜單,個性化菜單1,個性化菜單2,個性化菜單3。那么當用戶進入公眾號頁面時,將從個性化菜單3開始匹配,如果個性化菜單3匹配成功,則直接返回個性化菜單3,否則繼續(xù)嘗試匹配個性化菜單2,直到成功匹配到一個菜單。
根據(jù)上述匹配規(guī)則,為了避免菜單生效時間的混淆,決定不予提供個性化菜單編輯API,開發(fā)者需要更新菜單時,需將完整配置重新發(fā)布一輪。
目錄
1 創(chuàng)建個性化菜單
2 刪除個性化菜單
3 測試個性化菜單匹配結(jié)果
4 查詢個性化菜單
5 刪除所有菜單
創(chuàng)建個性化菜單
http請求方式:POST(請使用https協(xié)議)
api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=ACCESS_TOKEN
請求示例
{ "button":[ { "type":"click", "name":"今日歌曲", "key":"V1001_TODAY_MUSIC" }, { "name":"菜單", "sub_button":[ { "type":"view", "name":"搜索", "url":"http://www.soso.com/" }, { "type":"view", "name":"視頻", "url":"http://v.qq.com/" }, { "type":"click", "name":"贊一下我們", "key":"V1001_GOOD" }] }], "matchrule":{ "group_id":"2", "sex":"1", "country":"中國", "province":"廣東", "city":"廣州", "client_platform_type":"2" "language":"zh_CN" } }
參數(shù)說明
matchrule共六個字段,均可為空,但不能全部為空,至少要有一個匹配信息是不為空的。 country、province、city組成地區(qū)信息,將按照country、province、city的順序進行驗證,要符合地區(qū)信息表的內(nèi)容。地區(qū)信息從大到小驗證,小的可以不填,即若填寫了省份信息,則國家信息也必填并且匹配,城市信息可以不填。 例如 “中國 廣東省 廣州市”、“中國 廣東省”都是合法的地域信息,而“中國 廣州市”則不合法,因為填寫了城市信息但沒有填寫省份信息。 地區(qū)信息表請點擊下載。
返回結(jié)果
正確時的返回JSON數(shù)據(jù)包如下,錯誤時的返回碼請見接口返回碼說明。
{ "menuid":"208379533" }
刪除個性化菜單
http請求方式:POST(請使用https協(xié)議)
api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=ACCESS_TOKEN
請求示例
{"menuid":"208379533"}
menuid為菜單id,可以通過自定義菜單查詢接口獲取。
正確時的返回JSON數(shù)據(jù)包如下,錯誤時的返回碼請見接口返回碼說明。:
{"errcode":0,"errmsg":"ok"}
測試個性化菜單匹配結(jié)果
http請求方式:POST(請使用https協(xié)議)
api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=ACCESS_TOKEN
請求示例
{ "user_id":"weixin" }
user_id可以是粉絲的OpenID,也可以是粉絲的微信號。
返回結(jié)果 該接口將返回菜單配置,示例如下:
{ "button": [ { "type": "view", "name": "tx", "url": "http://www.qq.com/", "sub_button": [ ] }, { "type": "view", "name": "tx", "url": "http://www.qq.com/", "sub_button": [ ] }, { "type": "view", "name": "tx", "url": "http://www.qq.com/", "sub_button": [ ] } ] }
錯誤時的返回碼請見接口返回碼說明。
查詢個性化菜單
使用普通自定義菜單查詢接口可以獲取默認菜單和全部個性化菜單信息,請見自定義菜單查詢接口的說明。
刪除所有菜單
使用普通自定義菜單刪除接口可以刪除所有自定義菜單(包括默認菜單和全部個性化菜單),請見自定義菜單刪除接口的說明。
感謝各位的閱讀!關于“微信開發(fā)之如何實現(xiàn)個性化菜單”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。