有赞微信小程序分享 — 概念篇

在 2016 年 9 月 23 日 微信小程序内测开始以来,有赞的产品与技术一直紧跟着小程序的步伐。并且在 2017 年 1 月 9 日 微信小程序发布的同时上线了有赞微商城小程序和有赞精选小程序。并且紧跟着开源了小程序的 UI 库:zanui-weapp

在我加入有赞不久后,就参与了微信小程序产品线的开发。
随着今年微信官方大力推广和迭代,微信小程序可谓渐渐形成一个新重量级现象,对于自身来说,除了单纯的掌握技术上的开发姿势以外,还需对整个小程序生态以及未来的动向有足够的认识和了解。
于是乎本着研究与学习,有了这一次内部分享。
趁着课余时间,整理成文,与君分享。

微信开发体系

微信开发,是一个体系。
无论是开发移动应用,网站应用,都可以接入微信生态,例如实现微信账号登录,实现 APP 分享到微信朋友圈和联系人。
除了自有的应用,还可以在公众号内进行应用开发,为订阅号或者服务号提供更强大的功能和交互。
现在又有了小程序,除了开发工具类应用更简单以外,连接线上线下的场景更丰富。
在我认为,国内的互联网产品中,多多少少都会接触到微信的开发体系。
因为这是一个庞大的流量入口啊。

三个平台

三个平台

在接触微信的开发体系中,接触最多的是这三个平台。
我们站在一个更高的维度来看,就知道小程序处于微信开发体系中的哪个位置了。

开放平台

开放平台下提供了以下支持:

  • 微信账号登录:让你的应用接入微信账号体系。
  • 微信分享与收藏功能:这个目前在移动应用特有,可以在 APP 中掉起微信分享与收藏。
  • 微信智能接口:支持调用微信图像、语音等智能识别接口。
  • 微信支付:调用微信支付接口
  • 第三方平台:拥有第三方平台资格之后,就能帮助授权用户实现公众号和小程序的代开发服务了。在公众号红利时代,通过该平台就催生了一大波微信公众账号第三方管理平台。

根据用途不同,你可能要申请不同的应用:

  • 网站应用
  • 移动应用
  • 第三方平台

公众平台

微信是 2011 年 1 月推出的,而公众平台是 2012 年 8 月推出的。
公众平台的推出,带来了一个继微博之后的新红利时代。大量的企业、媒体、公共机构、明星名人、个人用户都纷纷进军公众平台。
需要搞清楚的一个概念是,起初并没有「订阅号」、「服务号」、「企业号」之分。
公众平台推出之后,在 2013 年 8 月的时候分成订阅号和服务号,然后在 2014 年 9 月的时候新增了企业号。
所以我们所说的「公众号」统称了「订阅号」、「服务号」、「企业号」。

所以我们在公众平台,根据自身情况,申请以下几类账号:

  • 订阅号:偏向提供传播服务,每天可推送一条消息,但是开放的功能相对服务号来说有限。
  • 服务号:偏向提供功能服务,每月可推送四条消息,开放出了更多高级功能。
  • 企业号:偏向员工管理。
  • 小程序:嗯,这就是我们今天的主题。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。

商户平台

如果你需要拥有微信支付能力,首先要注册商户平台。
在拥有微信支付资格之后,除了可以在开发过程中通过接口调用,唤起微信支付以外。
在线下还可以实现扫码支付、刷卡支付等场景。

账号体系

微信账号体系

在接入微信账号的时候,在我们申请的应用(网站应用、移动应用、公众号、小程序),对于用户都有一个 OpenID,但是同个用户在多个应用下的 OpenID 是不一样的。
而如果想打通多个应用的用户的话,做法就是注册开放平台账号,然后把多个应用绑定到同一个开放平台账号下,这样就能获取 UnionID。

而小程序对于 UnionID 有一个特别注意的地方:

UnionID 机制

小程序中,在绑定同一个开放平台账号的前提下。如果其他相同主体的应用账号被用户授权过之后,在小程序中就无需再次授权,直接获取 UnionID(正常情况下,获取 UnionID 需要用户授权的)。

相同主体

那么「相同主体」是什么概念?
在我们注册应用之后,要真正部署到线上之前,都需要进行「认证主体」的步骤。
对于个人来说,主体就是你本人,通过身份证标记唯一性。
而对于企业来说,主体就是企业本身,通过营业执照来标记唯一性。

相同主体

在任何一个已上线的公众号或者小程序中的详细信息,都可以查看得到本体信息。

微信小程序的能力

从 2016 年底发布的小程序,在 2017 年快速推进,每个月都会有迭代,而且大部分更新发布的时间都在凌晨。
在此心痛微信小程序团队 10 秒钟。
然后我们从截止 8 月 18 日 回顾将近一年的时间,小程序的更新迭代来感受小程序具备哪些能力。

小程序更新回顾

数据分析

数据分析

对于数据分析的需求,其实我们可以有很多选择。

【小程序后台】
在小程序的后台,除了可以看到常见维度的访问数据以外,还支持收集自定义事件。
并且还提供了 API,我们就可以在内部的管理后台中收集这些数据,进行分析和展示。

【官方小程序】
我们可以在微信的小程序入口搜索:《小程序数据助手》
这是官方开发的在移动端查看小程序运营数据的小程序。

【第三方平台】
以下是收集的一些提供数据相关服务的第三方平台 (还没有验证可用性,需要自行判断):

【数据埋点】
对于数据埋点需求,以下是收集的一些 Saas 服务 (还没有验证可用性,需要自行判断):

社区与资源

资源

我们需要关注小程序生态圈的动态,通过关注一些媒体、社区,是很有用的。

  • awesome-wxapp: justjavac 创建的 github 仓库,收集了大量有关小程序的资源。
  • 知晓程序:是爱范儿旗下专注小程序生态的品牌,会提供很多不错的小程序咨询。
  • 微信小程序联盟:一个社区网站,有大量的技术教程,以及众多开发者遇到的坑。
  • 官方文档:再者就是微信的官方文档了。讲真,这是看过微信中最良心的开发文档。