为了账号安全,请及时绑定邮箱和手机立即绑定

从内涵段子被下架、快手禁用评论探讨其背后的技术细节

标签:
WebApp

最近闹得沸沸扬扬的是内涵段子被下架,无数网友表示很舍不得,紧接着抖音、快手都在做整改。我当时看到这个新闻的时候不是看内容如何,而是凭借着职业习惯,第一眼就想到了为啥它们这些app可以快速响应国家政策,做出调整?技术上是如何实现的?下面我凭自己的开发经验大概的讲一下如果是我做我会怎么做,思路如下:

写这篇文章的目的:不是为了凑数写的,而是从技术层面去分析大型app可能会怎么做,我们不光要看一个事件,还要要看背后的技术实现。假如我们自己的app遇到类似情况,如何能够快速响应政策变化做出调整。本文内容因为是以个人的理解写的,可能有考虑不周的和错误之处,欢迎大家指教。

(一)内涵段子被下架

  • 从技术层面来讲,这个是很简单的,把所有的app从应用市场下架,然后把后台接口全部封闭,原来已经安装的app界面上是一片空白,因为后台接口没了,所以以前外链分享出去的url也是全部打不开的。所以这个是很好处理的。

  • 一般来讲,用户量如此庞大的项目,后台接口是很规范的,比如restful风格的接口,一般会返回类似于这样的接口:

{  "errorCode": 1,  "errorMsg": "请求失败",  "data": {     "message": "Problems parsing JSON"
  }
}

由于后台接口没有返回数据了,界面上自然都是空白,你看内涵段子上面的所有的列表的item都显示的是同一个View,就是下面的这个声明。其实只要把所有的item替换成为本地的图片就可以了。(个人理解,如有错误,欢迎指出)

webp

(二)关于抖音、快手等同类型app禁用评论功能、关闭直播功能、上线防沉迷系统等的技术层面解读

一个用户量如此庞大的app,想必比会用到了一些架构设计,比如插件化、热更新等技术,后台这边给出的接口应该是给每个接口都预留有一个开关,防止意外情况发生时刻有快速关闭接口。

比如说看视频是一个模块,直播是一个模块,评论是一个模块,点赞是一个模块,分享也是一个模块,拍视频是一个模块。整个app是由多个模块组合而成的,整体app通过插件化或者组件化开发的思想,把这些不同的模块加载进来就形成了一个完整的app。很多功能模块都是可以由后台配置的,就连这个跳转路径也是可以控制的。

我在群里看到美团大佬 大白 的一段话很经典,借此引用一下,感觉很有意义:

比如我的直播是一个本地路由,我服务器下发一个web路由,立马就被定向到了h5,本地的直播页面就被干掉了,等本地版本更新后 再慢慢上用户更新

还有一个问题,app的评论功能突然被禁用?怎么快速做到这个?

  • 假如是原生开发的情况下!
    我第一感觉可能是用的热更新,就是后台对这一部分的接口返回的是空白的,或者把评论开关关闭,前台页面显示的空白,并且点击评论那里既不能编辑,也不能点击,这样才做到的评论彻底被禁用,最后把评论功能的代码去掉,推送一个热更新包,下次打开app的时候就不能评论了。

  • 假如是h5页面,那就由负责写前端页面的哥们写页面逻辑,相对来说,这种变化比较好处理,只需要根据对应的接口更改页面就好了,对用户的app无需推送热更新包。

至于上线防沉迷系统,这就是新增了一个模块而已,属于正常开发中的新增功能,把它单独做成一个模块,然后通过插件化思想,加载进去,然后模块里面会做一些统计数据分析,确保真正做到防沉迷。这个没什么多说的。做好之后给用户推送新版本,或者app市场上架全新版本。


个人能力有限,暂且只能解读这么多,如有错误和不足之处,也欢迎各位大佬指正和补充。感谢大家的支持!





点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
4484
获赞与收藏
456

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消