你想了解「小程序直播」的细节,都在这里
微信直播,他真的来了!!
在2月24号左右的时候,大家的小程序都收到这么一条通知消息,小程序直播真的来了
今天的主题主要几个方面:
1. 给大家尝尝鲜,扫码下面的小程序,看看这微信直播是啥样子。
2. 直播的大概功能说明
3. 直播后台的数据同步和逻辑设计
4. 直播前台逻辑设计
直播功能概述
直播功能如下:
-
普通直播功能
-
点赞、评论
-
抽奖:按照点赞、评论随机抽奖
-
商品带货:发布小程序中商品的链接到直播中,点解后可以直接跳转小程序购买
小程序的直播是通过插件的形式插入小程序中的,插件的意义在于在没有相关资质(如直播、商品售卖)或者技术能力的情况下,可以通过集成对应插件,快速给小程序赋能。
1、提供前端接口
-
订阅组件:subscribe。不用开发提醒功能,直接使用订阅组件可以订阅直播
-
获取直播状态API:getLiveStatus。在前端循环抓取直播的状态,可以动态看到直播状态的变化
-
直播间链接到商详页面携带参数:room_id。
-
从群分享卡片返回直播间时携带参数:shareTicket。最后两个参数,主要是在小程序与页面间的跳转使用到。
2、提供后端接口
-
后台获取直播房间列表API
-
后台获取回放源视频API
开发设计
有人说直播开发设计起来很简单嘛,按说通过前端直接调用微信的直播房间列表接口就ok。那这样想的话,就忽略了一个比较重要的地方,后台两个接口微信比较小心眼,只提供了500次/日的调用频率。所以所有的直播房间和回放数据都需要同步缓存到自己的服务器。
好了,废话不多说,给出我这里的一个解决方案:
后端数据同步(通过定时器自动获取 + 手动刷新)
1. 同步直播房间:定时器间隔时间不要小于半小时一次,否则每日次数不够用。因为直播接口数据是按照开始时间正排的,所以同步最近1-2天的数据即可,超过两天的数据不做同步。
2. 同步回放数据:这里比较简单,查询未同步过,而且状态为已结束的直播间数据同步即可。
前端逻辑
1. 可以仅展示直播列表。如果没有特别的必要,不用为直播单独设置一个详情页
2. 列表分为待直播(状态为101, 102, 105, 106)与已结束(状态为103, 104, 107)。待直播可以通过订阅控件订阅,已结束的直播如果已同步了回看可以显示回看。
3. 因为后台同步数据半小时一次,所以直播状态没法做到很强的实时性。这里用一个方法,通过前端微信提供的直播状态api,当直播的状态发生变化后,直接更新后台数据。
样式什么的,我先贴一些简单的图,大家赶紧到自己的小程序后台捣鼓捣鼓