微信公众号后来新增的接口,可以生成个性化菜单,可以先看下个性化菜单与自定义菜单的数据格式有哪些不同。

在原有的数据格式基础上,增加了以下部分:

"matchrule":{"group_id":"2","sex":"1","country":"中国","province":"广东","city":"广州","client_platform_type":"2""language":"zh_CN"}

也就是匹配规则,这个匹配是完全匹配,即当符合所有的匹配条件的时候才会出发定义的个性化菜单。另一点,必须得先定义自定义菜单的基础上才可以再实现个性化菜单。

解释一下:group_id就是分组的名称,不同的分组有不同的id号,这个可以做一个二次开发,比如说不同分组的用户可以看到的是不同的菜单,那么问题来了,如何让用户自动进入不同的分组呢,这里就有一个点,即用户在关注的时候,扫描带参数二维码实现自动分组、扫描不同二维码实现自动分组,在此请参考我的另2篇文章,扫描带参数二维码实现自动分组的功能,http://blog.csdn.net/naruto668/article/details/52374082。

sex是根据用户性别区分;country,province,city这个说句心里话可能不太准确,具体可根据地理位置的不同来做大致的划分,不要太当真。毕竟是用户自己设置的,对吧~

client_platform_type客户端版本,当前只具体到系统型号:IOS(1), Android(2),Others(3),不填则不做匹配

最后一栏代表着语言,这个其实没什么太大的区分度。

好了看代码实现。

<?php
 $jsonmenu='{
     "button":[
       {
           
               "type":"view",
               "name":"点",
               "url":"http://url.cn/420hqFb"
       },
      {
           "name":"扫",
           "sub_button":[
           {
               "type":"click",
               "name":"解码手册",
               "key":"V201"
            },
            {
               "type":"view",
               "name":"扫一扫",
               "url":"http://g-cat.me/platform/weixin/scanCode.do?code=dksj&share_voucher=voucher"
            }]
       },
       {
           "name":"挖",
           "sub_button":[
           
            {
               "type":"view",
               "name":"品牌故事",
               "url":"http://mp.weixin.qq.com/s?__biz=MzA3OTQ3Mzc2Mw==&mid=210864245&idx=1&sn=243961660f7eb8ad7f4e2410b4a354af&scene=18#wechat_redirect"
            },
            {
               "type":"view",
               "name":"门店信息",
               "url":"http://mp.weixin.qq.com/s?__biz=MzA3OTQ3Mzc2Mw==&mid=442478945&idx=1&sn=49722ea5e9b293fcff6ca819c4b0b26d&scene=0#rd"
            },
            {
               "type":"view",
               "name":"往期文章",
               "url":"http://mp.weixin.qq.com/s?__biz=MzA3OTQ3Mzc2Mw==&mid=206509356&idx=1&sn=9daa46ba7a65e6b7daca01f43503a763&scene=0#rd"
            }]
       }],
       "matchrule":{
        "group_id":"140"
      }
 }';

//获取accesstoken的实现我在前面已经讲过了

require('Accesstoken.php');
$access_token=get_token();
$url = "https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=".$access_token;
$result = https_request($url, $jsonmenu);
var_dump($result);
function https_request($url,$data = null){
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    if (!empty($data)){
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($curl);
    curl_close($curl);
    return $output;
}
?>

微信公众号生成个性化菜单相关推荐

  1. php 微信开发 菜单,微信公众号中个性化菜单的开发实例

    微信公众号中个性化菜单的开发实例 个性化菜单让公众号的不同用户群体看到不一样的自定义菜单.该接口开放给已认证订阅号和已认证服务号,个性化菜单要求用户的微信客户端版本在iPhone6.2.2,Andro ...

  2. php微信个性化菜单,微信公众平台新增个性化菜单接口,实现公众号

    为了帮助公众号实现灵活的业务运营,微信公众平台新增个性化菜单接口. 如何开通微信公众平台个性化菜单接口 目前只对已通过认证的微信订阅号和服务号开放. 在此之前的微信订阅号和服务号是只能按照微信公众平台 ...

  3. php创建菜单_php实现微信公众号创建自定义菜单功能的实例代码

    目的 创建自定义菜单,实现菜单事件. 首先获取Access_Token 接口: 我用的是测试号,修改APPID和APPSECRET,然后浏览器访问上面这个Url即可生成Access_Token 然后配 ...

  4. 微信公众号开发--自定义菜单跳转页面并获取用户信息(续)

    之前写过一篇微信公众号开发–自定义菜单跳转页面并获取用户信息 由于当时是刚学习微信公众号开发当时的思路虽然可行,不过不是最好的,最近也用到了需要获取用户信息的地方,再次整理一下. 流程 注意点 ### ...

  5. 微信公众号开发 - 创建菜单

    微信公众号开发文章目录 1.微信公众号开发 - 环境搭建 2.微信公众号开发 - 配置表设计以及接入公众号接口开发 3.微信公众号开发 - token获取(保证同一时间段内只请求一次) 4.微信公众号 ...

  6. java自定义菜单跳转页面_微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解...

    微信公众号开发 自定义菜单 请先读完本文再进行配置开发 请先前往微信平台开发者文档阅读"网页授权获取用户基本信息"的接口说明 在微信公众账号开发中,往往有定义一个菜单,然后用户点击 ...

  7. 怎么实现微信公众号生成专属二维码推广来源统计

    为了实现微信公众号生成专属二维码推广来源统计功能,第三方平台微号帮提供了渠道二维码生成功能实现,可以给微信公众号在线生成专属推广二维码,统计公众号各个渠道来源的粉丝,一个渠道对应一个推广二维码,可以生 ...

  8. 微信公众号生成临时二维码

    微信公众号生成临时二维码 微信公众平台生成带参数的二维码官方文档 分为三个部分: 获取access_token.通过ticket换取二维码.生成带参数的二维码 特别注意:需要有生成二维码的权限. 整个 ...

  9. 微信扫码登录,微信公众号生成二维码,关注登录nodejs+vue

    微信公众号生成二维码,关注后扫码登录 技术栈为nodejs+vue 有不懂的可以加我微信yizheng369 1.效果 初始: 关注后: 2.源码 此项目为前后端分离项目,前后端代码都在这个仓库里, ...

最新文章

  1. NBT:牛瘤胃微生物组的4941个宏基因组组装基因组(MAG)
  2. Android Support 包里到底有什么
  3. linux iptables配置
  4. 简述python的特性_Python的特性概要
  5. docker 搭建 ftp服务器
  6. Cocos2dx源码记录(6) CCTrianglesCommand
  7. 《出发吧一起》第二阶段个人总结——Day08
  8. 网狐大厅介绍页js脚本错误
  9. CI框架url模式及获得参数
  10. php安全上传图片,PHP安全上传图片的方法
  11. zoj 3527 Shinryaku! Kero Musume (树形dp---带尾巴的环的处理)
  12. 嵌入式系统开发笔记10:CJ/T-188 水表协议解析2
  13. C++中的protected
  14. 崔希凡-javaWeb-笔记day07-day09(2016年7月26日23:17:27)
  15. 华为智慧屏鸿蒙评测,华为智慧屏S Pro体验:告诉你鸿蒙OS有多优秀?
  16. 计算机主板复位电路的组成,电脑主板复位电路工作原理
  17. 图片下载_二维码生成
  18. Vue、JS——定时器倒计时封装
  19. 自学游戏建模,有什么适合新手学习的3D建模软件?
  20. 机械革命Code01开启Hyper-V/安装Docker无限蓝屏解决方法

热门文章

  1. 7段均衡器最佳参数_7段均衡器怎么调能达到最佳效果
  2. Java:Excel写入“合并单元格“
  3. 但使龙城飞将在,不教胡马度阴山
  4. python两列时间间隔计算器_python时间差计算器时分秒_python 实现日期计算器
  5. 【密码学五】数字签名、RSA实现数字签名和验证
  6. Firefox 1.5 中的 XML,第 2 部分: 基本 XML 处理
  7. 国产OGRE商业游戏
  8. Mysql的锁以及MVCC解决事务隔离级别
  9. 数据中心服务器大战:思科vs惠普vs…
  10. java游戏骑士攻城_攻城骑士官网版下载-攻城骑士游戏官网版下载 v0.1.0-友情手游站...