王家亮
摘 要: 文章探讨了个性化社交平台的微信服务号开发,研究了微信对话和授权网页两大互联业务。巧用陀螺仪、定位、语音等硬件和第三方接口辅助创新,另引入新旧平台对接机制,为公众号营销提供实用策略。平台使用JQuery核心框架、服务器端PHP语言搭配MYSQL数据库实现,具有开发效率高、稳定性好、高扩展性等特性。
关键词: 微信服务号; 社交应用; 设备API; 平台对接; 营销策略
中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2017)06-43-04
Design and implementation of personalized social platform based on WeChat
Wang Jialiang
(Tongda College of Nanjing University of Posts & Telecommunications, Yangzhou, Jiangsu 225127, China)
Abstract: This paper mainly discusses the development of the WeChat platform of personalized social applications, and studies interconnected services on WeChat dialogue and authorized web pages. To support its innovation, the gyroscope, geolocation, voice hardware and third party interface are used reasonably, at the same time, the introduction of docking mechanism between new and old platform provides the practical marketing strategy. The platform is realized by using the JQuery core framework, with PHP language and MYSQL database on server-side, and has the advantages of high efficiency, good stability and high expansibility.
Key words: WeChat; social application; device API; platform docking; marketing strategy
0 引言
如今,移动互联网发展已经进入了全民时代,其应用数量增长迅猛,呈现出大量开发、快速发布、全民使用的态势[1]。Web技术不断发展及HTML5的诞生,为移动Web功能提供了更多的支持和可能性[2]。
此平台集中实现的移动端网页开发中特别引入了硬件接口,使操作更人性化,相对于PC端更具互动性。在此公众号内,用户可挑选最常用的个性化应用,配置出多样的社交功能。同时,公众号网页授权的安全性和便捷性,使得传统站点接入海量微信关注用户成为可能,其活跃性和兼容性明显增强。多平台流动概念使其各向优势特性得以显现。
1 平台功能与特色
根据微信公众平台技术文档(下简称:官方文档),公众号主要是通过公众号消息会话和内网页来为用户提供服务的[3]。可搜索:“领航未来工作室”服务号体验实例。
个性化社交微信平台(下简称:此平台)中,主要考虑公众号内网页的设计与实现,将公众号消息会话服务当作用户分流、即时客服、告知消息等辅助应用导向,这也是由于其逻辑控制的相关特性导致的。而使用移动端内嵌网页服务使得社交应用更为自如和轻便。平台的相关功能模块如图1所示。
2 模块功能描述
根據官方文档,开发者可以通过个性化菜单接口,让公众号的不同用户标签成员看到不一样的自定义菜单[3]。因此,可对具有不同权限的管理员和挑选不同个性化服务的普通用户分类并创建个性化菜单。
2.1 公众号消息会话模块
此模块是用户关注公众号后最先参与到的业务。其基本信息可在用户活跃[4]时进行数据库记录覆盖。除此之外,还可进行消息的主动推送被动回复、客服咨询,网页内业务产生的消息提示也可在此进行及时反馈。
⑴ 用户数据采集。用户对于公众号的操作行为,可调用微信接口进行数据库更新以服务于个性化业务。这也与接口调用上限频率及突破限制的消息主动推送等详细业务息息相关。
⑵ 用户分流。均衡负载,并使用户快速明确的获取到帮助。可通过点击菜单或消息询问方式触发该模块,也可引入第三方聊天机器人以活跃公众号。
⑶ 在线客服。最终服务于用户分流,但也独立于用户分流。微信公众平台提供了客服平台可供开发者直接部署实体客服。同时,在超级管理员的公众号内网页中配置客服管理的相关模块。
⑷ 模板消息和客服消息。官方文档对于公众号主动推送消息方式有严格的限制,而模板消息仅适用于被审核通过的模板类型。针对活跃用户,可引入客服消息机制,间接向用户推送多种类型消息。可使消息会话和内网页模块互相联动。
2.2 公众号内网页模块
此模块旨在为用户提供授权的业务页面,并结合移动端硬件接口加强体验。认证的服务号以JS-SDK作为主要辅助开发工具包,以WeUI作为主要CSS展示核心。表现出同微信软件一致的无缝视觉效果和功能,易于使用且大大降低开发和设计成本[3]。
值得注意的是,虽然存在Openid以保证用户身份识别的惟一性,但为扩大和对接旧业务,我们提出必须进行PC网页账号注册和绑定,才可使用网页服务。这并不难,因为使用二维码生成等接口能快速开发出用于平台对接的相关业务。
⑴ 页面授权及业务区分。管理员和普通用户两类群体必须通过OAuth2.0鉴权并进行Session设置,且在消息会话中以文本链接形式跳转到该域名下的页面也享有授权。结束所有网页业务后,注销授权。
⑵ 个人中心。可对头像图库(搭配人脸识别及机器学习)、定位隐私、收货管理、积分业务等用户个性化信息进行采集和设置。其基于语音接口技术的语音签名是一大特性。
⑶ 附近的人。使用Web API訪问手机陀螺仪硬件,对0-360?水平面进行8个方向的分割。根据定位,用户将设备指向的地理方向即为真实附近用户的由近及远展示,查找不同方向的附近的人。对感兴趣的用户进行关系识别,以增强用户间互动。
⑷ 朋友。提供朋友的增删,基于二维码和定位技术的约会打卡及其他第三方互动服务入口。由于朋友之间存在有双向和单向两大可细分关系,对他们进行分类以延伸到今后各类具体业务中。
⑸ 动态及公布。动态发布浏览及点赞回复使得互动分享更为活跃。基于地理定位的求助信息发布,使帮助者授权获取实时定位进行现场援助并获利。消息公布对应于管理员模块中的发布模块。
⑹ 对接PC购物网站。平台老用户数量瓶颈的处理方案。老平台吸收微信用户,同时帮助新平台扩展业务。此模块以PC购物网站对接为例,提供一致的权限,可进行商品选取、购物车和订单管理等等服务。
⑺ 管理员模块综述。有管理员权限的关注用户,可对普通用户进行管理、公告发布、客服对接等操作。考虑到接口调用频率的限制,性能设置被列入其中。
3 部分核心模块具体实施方案举例
3.1 基于陀螺仪硬件的“附近的人”实例
有关基于地理坐标的应用,在互联网移动社交软件中已经被广泛使用到。本项目的创新点在于:让“附近的人”实例展现时,结合设备方向变得更为生动。
获取用户定位。有以下常用解决方案:①进行公众号消息会话时获取;②使用JS-SDK提供的getLocation;③用户设备所属IP等模糊方法获取。尽管室内和室外定位的原理不同,但在此我们仅仅要求做到将经纬度地址规范到同一个坐标系统中。我们选用腾讯坐标系统,以方便后续通过openLocation接口查看定位示意图。
获取设备方位。通过Web API中的DeviceOrientation接口可获取到手机陀螺仪提供的3个物理旋转的信息,其中alpha值(安卓系统为webkitCompassHeading值),即为所需要的Z轴旋转角度,以0-360之间的整型表示,见图2示意图。但在实际测试中笔者发现,市场主流的安卓和IOS系统显示出不一致的基准数值。对此我们用简单的JS代码将其矫正,并将最终数值附加以“四面八方”的文字形式(北、东北、东....)描述给用户。实例中,方位数值的获取代码必须写入到“window.addEventListener("deviceorientation",function(event) {......}, true);”之中才可保证方位数据的实时精准获取。
以AJAX方式执行获取附近的人程序。对现有的获取附近的人的方式有以下几种:“①基于MySQL数据库;②采用GeoHash索引,基于MySQL;③MySQL空间存储...”[5]。尽管MYSQL数据库在高版本中已有成熟的空间索引存储,或采用②方法将二维的点数据转换成一维的数据,再进行B树索引。
本例中,我们仍采用①方法作为普适方法演示,但这并不能被应用到大业务中。因此我们对搜索范围和匹配记录条数做限制,且用户都可对其进行设置以提升性能。首先使用以下类型的查询语句进行一定距离内所有方向的记录揽获:
mysql_query("SELECT * FROM 表名 WHERE 限制经纬
度范围 order by 根据经纬度计算两者距离 asc");
计算附近的人与本人方位(需要用到专门的函数),最终与设备指向方位比对,筛选并返回显示。一并传回的还有附近人的基本信息以用作互动。
用户点击附近的人,立刻检索用户与其关系,并返回互动菜单。结合活跃用户消息或模板消息发送机制增强互动。
特别的,添加成为朋友后,用户可使用基于二维码和定位技术的约会打卡功能记录互动的点点滴滴,大量事实数据背后,以图表方式展现用户个性化使用经历。
3.2 基于语音技术的一些实例
以下实例使用第三方语音接口技术(如:百度语音合成接口等)辅助完成。
⑴ 用户关注服务号,语音合成个性化打招呼语音消息
用户关注后,开发者可回复文本、语音、音乐等类型的消息。在此,我们使用官方文档中的获取用户基本信息接口得到用户的昵称及所在国家省市信息,结合固定招呼语进行合成。笔者必须指出一个小细节:个别用户会使用Emoji表情,那么如何在数据库中存储及语音播报将是需要思考的一项任务。
⑵ 个人中心“语音签名”
JS-SDK中提供了录音、播放、上传、下载语音等接口。本例中使用上述接口完成语音签名录制上传及下载播放工作。但通过官方文档了解到,上传的语音获取到的Media_id为临时素材类型,有效期仅为3天。笔者曾尝试将其“转化”为永久素材以使其保持有效,最终得知JS-SDK中的下载语音接口仅适合临时语音素材。那么此模块最重要的问题,就是如何对临时素材进行“续期”以“保鲜”。
解决思路如下(封装成类):
① 用户上传语音后,将临时Media_id及创建时间等信息写入数据库;
② 使用官方文档接口,下载素材到服务器;
③ 当调用素材时,先查询数据库记录,记录不存在直接提醒用户录制新的一段。存在情况下检验是否过期,未过期则直接调回Media_id,否则,将服务器中预存的素材上传并调回新的临时素材Media_id覆盖记录。最终使用语音下载接口获取。
⑶ 更多思考
使用科大讯飞的声纹识别技术,可做出辅助授权登录等功能。其关键在于严格执行第三方接口技术文档的要求。
3.3 营销概念植入社交应用的思考
“人們在虚拟的网络世界里建立起来的关系可以迅速得到扩散。对于企业来讲,这无疑会成为新的市场营销机会与挑战”[6]。在社交应用中,用户的互动行为可能会产生利益关系,且个性化产品信息推荐也是基于微信平台的一项营销策略。
对此,笔者提出两个思路:①流量经济。以平台中的求助发布模块为实例,平台可从用户间求助互动中抽取一定比例的业务费。②老平台对接。上述的对接PC购物网站模块,用以模拟在营销目的下微信平台提供的大量用户基础接入旧平台进行盈利扩展的解决方案。
无论以何种形式植入,尽可能的使用大数据分析能个性化的提出适合的解决方案,才能留住平台用户。
4 结束语
此平台为用户提供如交友、远程求助、周边购物等一站式个性化社交服务选择。并将不同权限的成员置于同一平台,使其运作和管理看起来更“轻”,更友好。
但要用计算机语言实现这些功能并保证其稳定性并非易事,这主要体现在移动设备系统的多样性、微信版本的兼容性和官方文档下认证服务号的开发接口(包括第三方)调用频率的限制性等等方面。
尽管如此,得益于网页语言开发的成熟性,此平台仍具有开发效率高、性能稳定的特点,辅助以硬件API使其创新性体验得到提升,多平台对接营销策略令平台商用价值也得以凸显。
参考文献(References):
[1] 刘扬.移动Web App:未来发展更需要抓住的新趋势[J].中国
传媒科技,2015.7:58-60
[2] 覃凤萍.基于HTML5的Web移动应用开发研究[J].信息与
电脑(理论版),2016.7:63-64
[3] 深圳腾讯公司.微信公众平台技术文档[EB/OL]. https://
mp.weixin.qq.com/wiki.
[4] 方倍工作室.微信无限定时群发系统[EB/OL].
http://www.cnblogs.com/txw1958/p/project-masssend.html.
[5] easyhappy.基于地址位置,查询附近的人,解决方案及性能分
析[EB/OL].http://ruby-china.org/topics/22059.
[6] 韩永丽.国内社交媒体营销现状及发展趋势研究[D].河南大
学硕士学位论文,2014.