第1章 微信公众平台简介 坐拥8亿注册月活跃用户的微信已成为很多人装机的必备软件。人们发语音聊天,刷朋友圈,读公众账号文章,过着离不开微信的日子。对广大开发者有利的是,这个移动互联网上的重要入口一开始就以开放姿态面世。微信提供了公众平台和开放平台,分别供公众账号运营者和移动应用开发者使用。 再小的个体也有自己的品牌。无论是企业、组织,还是媒体、个人,微信公众平台都可以以轻应用的形式提供服务。公众平台的编辑模式使不会编程的用户也能轻松使用,而开发模式和众多的开放接口为开发者提供了广阔的想象空间和难得的机遇。 本章重点介绍一下微信、微信公众平台及公众账号,希望读者在投入微信公众平台开发时,对微信公众平台能做什么、鼓励做什么有一定的认识,避免在开发中走弯路。 1.1 微信:连接一切 不止一种技术幻想过这样的场景:快下班时对空调说“温度降到27度”,对热水器说“烧热水要洗澡”。企业以智能家居为物联网技术的突破口,已经使这样的场景变为了现实。微信不止可以连接人,还可以连接能上网的机器。每个机器都有二维码作为设备ID,在微信里可以通过和设备对话来控制设备。微信作为连接者,已经成为最有价值的、用户与用户最满意的产品之间的桥梁。 1.1.1 物联网 微信有两大逆天功能:摇一摇和扫一扫。前者曾创造了“点亮广州塔”的辉煌事迹,后者则培养了用户见黑白方块就扫的习惯。见到下面印有二维码的奶牛(见图1-1),读者是不是有扫一扫的冲动呢? 图1-1 真的能扫!你会发现打开了网页,上面这样介绍这头奶牛: 名字:Shamrock 品种:黑白花乳牛 每天产30~40升牛奶。 夏天到野外吃新鲜青草,冬天青草不再生长时,改吃青贮饲料。 需要平衡的饮食。 时常有农业科学家来和农场主讨论青贮饲料和谷物的比例,并制定一系列计划来保证它的健康。 这是一篇来自BBC的报道,农场主给奶牛身上涂上二维码来宣传牧场。只要扫一下奶牛身上的二维码,即可知道这头奶牛的所有资料。 奶牛二维码的内容是一个短链接:http://goo.gl/yAE1Q,完整URL为: http://www.thisisdairyfarming.com/news-press/in-the-news/lady-shamrock/ 不能扫一扫的读者可以访问此链接。 这在技术上并不神奇,生成二维码和扫描二维码都是业界成熟的技术。但利用微信“扫一扫”连接奶牛(物理世界)和互联网(信息世界),或者用微信控制家用电器,这种人与物、物与物之间的连接正是物联网的基础。 1.1.2 二维码革命 奶牛身上印有二维码,扫描后显示链接(文字),再跳转到相应的网页。这说明二维码是一种编码方式,这里介绍一下二维码及其前景。 1. 什么是二维码 二维码英文为Quick Response Code,简写为QR Code。通俗地讲,二维码是二维的条形码,可以在水平和竖直方向同时存储信息。生成的二维码图形一般为正方形,根据特定的编码方式,在平面(二维方向)上绘制黑白相间的图形,如微信公众平台的二维码。 大家是否见过图1-2所示的两张火车样票? 图1-2 我相信大多数读者都见过右边的蓝票,左边的红票为软纸票,是1997年确定的车票统一样式。2009年12月,铁路部门对火车票进行升级改版,并在2010年春运前推出磁卡票(蓝票)。 蓝票与红票最明显的变化是车票下方的条形码变成了二维码。 2. 为什么二维码是一场革命 人类社会的信息革命常常伴随着一种新的编码方式的出现。 1836年萨缪尔?摩尔斯发明了摩尔斯电码(Morse Code),这是一种时断时续的信号,由点、划、停顿长短等作为基本单位,通过不同的排列顺序来编码不同的文字符号。这项技术使得通信距离大大增加,信息几乎瞬时到达。后来摩尔斯电码被用于电报业务,并且在海事通信中被作为国际标准,一直使用到1999年。 诺曼?约瑟夫?伍德兰在1952年注册了条形码专利。22年后的1974年,俄亥俄州一家超级市场的口香糖成为首个扫描条形码的商品。这项技术使得输入效率和准确率大幅提升。现在,条形码的应用范围涉及各个领域和行业,如零售业、书籍、服装、商品、银行、医疗及电子产品等。 QR二维码由日本丰田子公司 Denso Wave于1994年发明并开始使用。微信的“扫一扫”功能使得二维码的作用发挥到极致。墙壁、门窗、纸张上印刷二维码后,扫一下就能打开网页、调用APP、完成校验、购买物品、支付费用,瞬间完成从线下到线上的转变。而微信公众平台提供的生成带参数的二维码功能可以为线上的URL连接、商品、支付信息生成二维码,该二维码可以被查看、下载、印刷,完成线上到线下的转变。 二维码的信息容量大,能够编码数字、字母、汉字、图片等信息。拿纠错级别L的Version 40二维码来说,能够容纳2 953字节,或1 817个utf8编码的中文字符。这个容量级别能够容纳个人名片、电子票务凭证、优惠券、电子回执等,适用于各行各业。 在移动互联网时代,手机就是一个天然的二维码扫描器。随着手机的普及和移动网络的发展,未来肯定会出现更多与二维码相关的产品,二维码也终将影响各个行业。 1.2 认识微信公众平台 微信的开放平台有两个: ? 开放平台。针对移动应用开发,开发者接入微信开放平台后,可以使移动应用支持微信分享、微信收藏和微信支付。官方网址为:https://open.weixin.qq.com。 ? 公众平台。接入微信开放平台公众账号开发,提供类似于轻应用的服务。官方网址为:https://mp.weixin.qq.com。本书主要关注公众平台账号开发。 1.2.1 大事记 (1)2012年8月17日,公众平台面向普通用户开放注册。 (2)2013年3月19日,公众平台开放“自定义菜单”内测资格申请。 (3)2013年8月5日,公众平台将公众号细分为服务号和订阅号。服务号每月只能群发一条消息;订阅号每天可发一条,但消息被折叠到订阅者分类中。 (4)2013年8月29日,公众平台增加数据统计功能。 (5)2013年10月29日,公众平台新版公测,主要开放高级接口。 (6)2013年12月,公众平台发布了一系列公告,打击违法违规的内容和行为,主要包括以下内容: ① 打击假冒伪劣商品销售推广行为。 ② 打击诱导分享行为。反对不正当利用公众号群发消息的功能破坏用户体验的行为,特别是通过群发消息等手段强制或诱导用户分享至朋友圈的营销行为(如通过奖励诱使用户进行分享、强制要求分享至朋友圈即可查看等行为)。 (7)2014年3月5日,公众平台发布微信支付申请指引,标志着微信支付正式对服务号开放。 (8)2014年4月4日,公众平台发布《微信公众平台运营规范》,明文标明平台反对和禁止的行为及处罚机制与举报机制。 (9)2014年4月15日,公众平台进行服务号群发策略调整。所有服务号的群发次数由原来的每月1次改为每月(自然月)4次。此外,对已微信认证的服务号开放公众平台高级群发接口,开发者可以通过高级群发接口实现更灵活的群发。 (10)2014年5月6日,腾讯公司宣布成立微信事业群(WeiXin Group,WXG),腾讯公司高级执行副总裁张小龙出任微信事业群总裁。这意味着微信的发展进入一个崭新的阶段。 (11)2014年5月9日,公众平台新增投票和多客服功能。 (12)2014年5月22日,微信认证结果拆分为资质审核和名称审核。 (13)2014年5月29日,公众平台增加微信小店功能,已接入微信支付的服务号,可以请求开通微信小店功能。 (14)2014年6月6日,公众平台发布清理集赞行为的公告,对利用朋友圈“集赞”的行为进行打击。处罚力度很大,公众号累计发现有4次集赞行为,永久封号,不可解封。 (15)2014年8月27日,微信公众平台向认证服务号开放模板消息。模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景,如信用卡刷卡通知、商品购买成功通知等。不支持广告等营销类消息和所有可能对用户造成骚扰的消息。 (16)2015年1月9日,微信开放微信内网页开发工具包(微信JS-SDK)。JS-SDK增强了HTML 5的功能,为微信用户提供更优质的网页体验。 (17)2015年2月12日,公众平台全面开放自定义菜单。 (18)2015年4月14日,公众平台新增摇一摇周边功能。 (19)2015年5月18日,微信连Wi-Fi插件对所有公众号开放。 (20)2016年1月11日,公众平台发布微信web开发者工具。 (21)2016年8月22日,公众平台开放改名。 (22)2016年11月3日,微信公众平台小程序开放公测。 (23)2017年1月9日,微信公众平台小程序正式上线。 (24)2017年3月27日,微信公众平台发布小程序新能力,标志着公众号与小程序开始打通。之后,微信公众平台密集发布小程序更新,包括公众号自定义菜单,点击可打开相关小程序;公众号模板消息可打开相关小程序;移动App可分享小程序页面;公众号关联小程序新规则;群发文章支持添加小程序。这些更新增强了公众号和小程序的关联性,给予开发者更多开放能力。 (25)2017年05月24日,微信公众平台为“获取access_token”接口新增IP白名单保护,只有将IP地址设置为公众号的IP白名单才能成功调用该接口。 1.2.2 分类:服务号与订阅号 公众账号分为两种:服务号和订阅号。这两种账号的应用范围和所能获得的服务各不相同。服务号给企业和组织提供更强大的业务服务与用户管理能力,帮助企业快速实现全新的公众号服务平台。对于企业和组织,可选用服务号。订阅号为媒体和个人提供一种新的信息传播方式,构建与读者之间更好的沟通与管理模式。对于媒体和个人,可选用订阅号。 服务号的功能如图1-3所示。 图1-3 订阅号的功能较少,没通过认证前只有消息接口(见图1-4),通过认证后会增加自定义菜单功能。 图1-4 1.2.3 微信认证 微信的审核和认证流程很严格,因此读者在申请认证前务必谨慎对待,这里列出一些需要注意的地方。 1. 名称不易修改 账号主体为个人类的账号,可在扫码验证主体身份后进行修改。一年内仅可修改一次。(如2016年1月1日至2016年12月31日内可修改一次名称)。 主体为企业类、媒体类、政府类、其他组织类的账号,可通过微信认证方式验证主体身份后进行修改。 修改的账号名称需遵循平台命名规则,符合平台命名唯一的前提,如名词含有特定关键词(如商标名)时需进一步补充提交资质。 2. 微信认证流程 2014年5月22日,公众平台发布公告,微信认证结果拆分为资质审核和名称审核。从当天起,微信认证结果分为账号主体资质审核和账号名称审核。 (1)代表企业资料真实性的账号主体资质。审核成功后,订阅号可立即获得自定义菜单,服务号可立即获得公众平台所有高级接口和能力。 (2)代表企业标识的账号名称。审核成功后,订阅号和服务号均可获得认证的“勾”和相关信息备注。 以上策略更新后,操作上没有任何变化,但整个认证流程会分成两个阶段的结果通知到运营者。对公众号最大的好处是:只要账号主体资质审核通过,就会获得所有高级接口和能力——订阅号获得自定义菜单,服务号获得开放的所有高级接口。通俗地说,假设有一个公众号叫兔子,其实“兔子”是兔子饭庄。这样的名称在认证的时候审核肯定不能通过,因为“兔子”是一个通用词,不可能作为一个饭店认证的名称。但主体资质是饭店,主体资质能通过,就能获得自定义菜单和所有高级接口。著名的自媒体人青龙老贼对《微信认证规则调整办法》有一个通俗版的解读,有兴趣的读者可以参考:http://url.cn/QXheG1。 1.2.4 公众号运营 2014年4月4日,公众平台发布《微信公众平台运营规范》,为建设绿色、健康的微信生态环境做到了“有法可依”。做到“执法必严,违法必究”,对诱导用户分享到朋友圈、“集赞”等行为处罚相当严重。对于公众号运营者来说,运营活动不仅要给用户带来真正有价值的信息和服务,而且要遵守规范,不要触碰底线。这里和读者分享4点提示。 (1)不要骚扰用户。无论服务号还是订阅号,用户的关注与取消关注都十分便捷,因此不要过度营销、骚扰用户。 (2)不要乱碰朋友圈。微信的朋友圈是一个由熟人关系链构建而成的小众、私密的圈子,用户在朋友圈中分享并关注朋友们的生活点滴,从而加强人们之间的联系,它并不是一个营销平台。简而言之,朋友圈和公众平台是微信的两个独立产品,其定位和功能不同。朋友圈是院子,公众平台是广场,把广场的东西堆满院子是谁都不想看到的。当然,用户自愿分享优质内容不在此列。 (3)不要使用外挂。插件、外挂等大多使用模拟登录方式,而非公众平台开放的接口。使用外挂规避群发限制策略、用公众平台的单发功能实现群发功能、意图规避公众平台对于群发次数的限制等都是不可取的。 (4)重视线下推广。微信担负着O2O业务的重任,所以鼓励开发者进行O2O相关产品的开发。例如,扫描关注一栋大楼的二维码后能看到大楼的概况,如楼层配置、物业情况、写字楼租赁信息等,甚至能事先知道电梯停靠在几层;或者卖水果时,在店面放置二维码来推广,用户在微信上就可以完成下单和支付。 1.2.5 微社区 相信读者都见过这样的公众号,自定义菜单加上社区链接,俨然一个手机APP的样子。如图1-5所示是“大象公社”的自定义菜单截图,其中的大象社区是微社区。 图1-5 大象工会自定义菜单 提到社区论坛,读者也许会想到Discuz!。是的,Discuz!是全球安装量最大的论坛软件系统。“老树开新花”,在移动互联网时代,康盛Discuz! 团队开发了手机上的新社区——“微社区”。 微社区是基于微信公众账号的互动社区,可以广泛应用于微信服务号与订阅号。微信公众号的粉丝们可以在微社区里自由交流,如发帖、回帖、上传照片等,是微信公众号运营者打造人气移动社区、增强用户黏性的有利工具。 如果说微信公众平台提供了“一对多”的单向消息流,那么微社区无疑是“多对多”的沟通模式。用户与用户、用户与运营者之间可以双向交流,给用户带来更好的互动体验,让互动更便捷、更畅快。 微社区有以下优点: ? 轻量级。不需要客户端,在微信的公众账号、手机QQ和手机Qzone里即可访问。 ? 与PC端论坛打通。一些站长运营着PC端论坛,微社区官方有计划跟PC端论坛的数据进行打通,这样既可以利用原来社区的内容,又可以吸引原来社区的用户。 ? 获取用户的成本降低。 ? 与公众账号的推送能力相结合,增加用户回流和活跃度。 那么如何运营好微社区呢? 第一,定位要清晰。微社区官方希望推荐给用户一些垂直化、本地化的信息,更好地满足用户个性化的需求。例如,根据用户的兴趣或用户的所在地推荐用户比较感兴趣、与之相关联的信息。 第二,要有优质内容。能够吸引用户,并且使其有分享和传播的欲望。 第三,合理利用社交关系引流。我们可以利用朋友圈、QQ群、微信好友和QQ好友等社交关系吸引流量。 微社区官方网站地址为:http://wsq.qq.com。 1.2.6 微信公众平台管理后台 读者登录公众平台后会进入如图1-6所示的界面。 左侧是导航菜单,共分为功能、管理、推广、统计、设置和开发者中心6部分。右上方显示新消息、新增人数和总用户数。右下方为系统公告,公众平台发布的公告和更新说明都在这里出现。 图1-6 功能包括群发功能和自动回复等。群发功能可以将文字、语音、图片、视频、图文消息等类型的内容下发给粉丝,而且人数不限。群发消息的到达率和阅读量都远高于其他渠道,而且作者能够自由控制推送的时间,能够接受读者的反馈,所以这个功能一开始就得到了广大媒体用户的欢迎,“自媒体”概念也随之产生和流行。管理分为消息管理、用户管理和素材管理。在消息管理中可以查看最近5天的消息,并能回复用户。用户管理显示用户列表,能够对用户进行分组、修改备注名、拉黑名单等。素材管理可以上传图片、语音、视频,并可以编辑图文消息。 服务分为服务中心和我的服务。服务中心显示所有可申请的服务,而我的服务显示已经获得的服务。 统计功能分为用户分析、图文分析、消息分析和接口分析。其中,用户分析可以查看用户增长情况和用户属性;图文分析可以查看群发图文消息的效果,包括送达人数、图文页阅读人数、原文页阅读人数和分享转发人数;消息分析可以查看用户发送的消息的统计情况;接口分析则能查看接口的调用次数、失败率、平均耗时和最大耗时等统计情况,供开发者根据数据改善程序。 设置分为账号信息、公众号安全助手和安全中心。账号信息页可以修改头像、登录邮箱和功能介绍,但一个月内只能申请修改一次,可以绑定腾讯微博和设置图片水印,还有关联微博认证和微信认证的入口。公众号安全助手可以绑定个人微信号,绑定后能够通过微信号进行群发,并通过设置安全微信保护来保证公众账号的安全。安全中心用来设置公众号安全助手的安全保护和安全提醒功能。 开发者中心包含开发者信息、服务器配置、开发者工具和接口权限表。在该页内,修改服务器配置即可开启开发模式。开启开发模式后,用户消息和开发者需要的事件推送将会被转发到配置项的URL中。当不开启开发模式时,默认进入编辑模式。编辑模式的使用将在第2章探讨,开发模式是本书的重点,将在第3章及以后的章节中详细说明。 1.3 本章小结 本章首先介绍了微信的愿景——连接一切,包括“连接人、连接企业、连接物体”。微信本身连接人与人,物联网连接物与物,二维码连接人与物。三者结合,“形成有机自运转的系统”。微信公众平台正是微信开放系统的一部分。本章还介绍了公众平台的发展历程和基本知识、运营需注意的问题,并简单介绍了管理后台的使用。通过本章的学习,希望读者能发现符合“连接”的产品和方向,加入微信公众号开发者的行列。