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

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

个性化菜单让公众号的不同用户群体看到不一样的自定义菜单。该接口开放给已认证订阅号和已认证服务号,个性化菜单要求用户的微信客户端版本在iphone6.2.2,android 6.2.4以上,暂时不支持其他版本微信,另外定义个性化菜单之前必须先定义默认菜单。

开发者可以通过以下条件来设置用户看到的菜单:

用户标签(开发者的业务需求可以借助用户标签来完成)

性别

手机操作系统

地区(用户在微信客户端设置的地区)

语言(用户在微信客户端设置的语言)

个性化菜单匹配规则说明:

个性化菜单的更新是会被覆盖的。
例如公众号先后发布了默认菜单,个性化菜单1,个性化菜单2,个性化菜单3。那么当用户进入公众号页面时,将从个性化菜单3开始匹配,如果个性化菜单3匹配成功,则直接返回个性化菜单3,否则继续尝试匹配个性化菜单2,直到成功匹配到一个菜单。
根据上述匹配规则,为了避免菜单生效时间的混淆,决定不予提供个性化菜单编辑API,开发者需要更新菜单时,需将完整配置重新发布一轮。

本例的项目结构如下,除了上一章的文件之外,还增加了三个处理个性化菜单的文件。

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

addconditional_menu.php:创建个性化菜单

trymatch.php: 测试匹配个性化菜单

delconditional_menu.php:删除个性化菜单

1、创建个性化菜单

创建个性化菜单的接口是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表示男性,有关其他的条件设置请参看个性化菜单接口。

2、测试个性化菜单匹配结果

测试接口是https://api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=ACCESS_TOKEN,需要post “user_id”过去。

trymatch.php


登录后复制

返回结果如下:

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

3、删除个性化菜单

删除个性化菜单接口是https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=ACCESS_TOKEN,需要post“menuid”过去。

delconditional_menu.php


登录后复制

返回结果如下表示成功:

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

4、查询个性化菜单

使用普通自定义菜单查询接口可以获取默认菜单和全部个性化菜单信息,请参看上一章。

查询之后结果如下:

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

这里的menuid和上面的不一样是因为我删除了之前的个性化菜单,然后重新初始化了一次。

5、删除所有菜单

使用普通自定义菜单删除接口可以删除所有自定义菜单(包括默认菜单和全部个性化菜单)

以上就是微信公众号中个性化菜单的开发实例的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1524375.html

(0)
上一篇 2025年2月18日 06:07:40
下一篇 2025年2月18日 06:07:50

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何使用Vue和Canvas开发个性化的名片生成器

    如何使用vue和canvas开发个性化的名片生成器 引言:随着互联网的快速发展,个性化定制越来越受到人们的追捧。许多企业、个人都希望能够通过个性化的名片来突出自己的品牌形象。本文将介绍如何使用Vue和Canvas开发一个简单的个性化名片生成…

    编程技术 2025年3月13日
    200
  • 如何使用Vue和网易云API开发一款个性化的歌单推荐系统

    如何使用vue和网易云api开发一款个性化的歌单推荐系统 随着音乐流媒体服务的普及,人们对于音乐的需求越来越高。个性化的歌单推荐系统成为了现代音乐应用的重要功能之一。本文将介绍如何使用vue和网易云api开发一款个性化的歌单推荐系统,帮助读…

    编程技术 2025年3月13日
    200
  • 微信开发实战之分享功能

    通过对需求的了解,可以将其分解为: (1)微信端手机用户,可以使用微信的JSSDK。 (2)选取图片,使用JSSDK的“chooseImage”,由于分享图片时本地地址无法分享,因此还需要JSSDK的“uploadImage”。 (3)分享…

    2025年3月11日 编程技术
    200
  • 利用JSSDK在网页中获取地理位置

    复制一份jssdk环境,创建一份index.html文件,结构如图7.1所示。   图7.1  7.1节文件结构 在location.js中,封装“getLocation”接口,如下:   01wxJSSDK.location = func…

    2025年3月11日 编程技术
    200
  • Vue header组件开发实例代码

    本文主要和大家介绍vue header组件开发详解,给大家做个参考,希望大家对vue组件开发有一个更深的了解。 一、 header 组件开发 之数据的传递 1. App.vue 引入组件 import header from ‘./comp…

    编程技术 2025年3月8日
    200
  • Vue shopCart 组件开发实例详解

    本文主要和大家介绍vue shopcart 组件开发详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 一、shopCart组件 (1) goods 父组件和 子组件 shopCart 传参…

    编程技术 2025年3月8日
    200
  • webuploader文件上传组件的开发实例

    最近项目中需要用到百度的webuploader大文件的分片上传,对接后端的fastdfs,于是着手写了这个文件上传的小插件,步骤很简单,但是其中猜到的坑也不少,本文主要介绍了vue webuploader 文件上传组件开发,小编觉得挺不错的…

    2025年3月8日
    200
  • js与canvas合成图片做出微信公众号海报功能

    这次给大家带来js与canvas合成图片做出微信公众号海报功能,js与canvas合成图片做出微信公众号海报功能的注意事项有哪些,下面就是实战案例,一起来看一下。 在微信公众号开发中,很多时候都有个需求是一张图加上头像和昵称或者其他数据生成…

    2025年3月8日 编程技术
    200
  • jQuery开发实例详解

    jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做…

    编程技术 2025年3月8日
    200
  • vue render开发实例详解

    这次给大家带来vue render开发实例详解,vue render开发的注意事项有哪些,下面就是实战案例,一起来看一下。 简介 在使用Vue进行开发的时候,大多数情况下都是使用template进行开发,使用template简单、方便、快捷…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论