答题辅助项目开发维护心路历程

答题辅助项目开发维护心路历程

一、前言

直播答题,节目形式并不复杂,一名主持人以霸屏的方式出题,一般共有12道选择题,每次出题会弹出画面,每题有10秒的回答时间。如果所有题目全部闯关成功,则与其他全答对的观众平分奖金。每天只要花上20分钟,打开手机做十几道题,就有机会从百万奖金中分得几十元甚至几千元。从一些平台公布的总排行榜中,已有不少网友的奖金额超过了5000元。有的直播平台会每天分几场答题,奖金数额也从10万元到100万元不等,吸引了大量用户参与。

2018年1月3日,王思聪在微博上宣布《冲顶大会》上线,从而使直播答题进入公众视野。

选自百度百科


二、项目介绍

答对十几道题平分奖金,但是凭自己的学识答对全部12道题(不仅仅是知识性的,包含各种坑**,只有你想不到……)对普通人来说确实不太容易,答题辅助应运而生。

1、历史版本
v0.1 (QH.php)

第一个版本勉勉强强,真的只能算比手动百度强,最开始也是对冲顶下手,抓包,当然网上大多数都采用OCR,这个方式在我这压根没通过,本来答案检索准确率就不高,再来个OCR识别,时间不够,还是抓包比较稳,直接获取题目效率比较高,于是开始了一场博弈,官方修改接口,我们就得重新抓,真的,道高一尺魔高半丈(不是很高),这个是PHP脚本,勉勉强强能自己用,实测结果也是尴尬的不行。

小版本1

这个版本只是根据题目进行百度,统计答案选项出现的个数,题目包含“不”的则选择最少的结果,否则选最多的,勉勉强强,总会遇到尴尬

2.马来西亚的首都是?
["吉隆坡","马累","雅加达"]
结果统计:
吉隆坡       22
马累       0
雅加达       0
服务已经开始推送,请注意查收消息
.................................
3.中国的探月工程命名为?
["嫦娥工程","后羿工程","天宫工程"]
结果统计:
嫦娥工程       3
后羿工程       0
天宫工程       0
服务已经开始推送,请注意查收消息
.................................
4.京剧中,饰演性格活泼,开朗的青年女性的是?
["花旦","青衣","刀马旦"]
结果统计:
花旦       4
青衣       4
刀马旦       0
服务已经开始推送,请注意查收消息
...................................
5.电影《神偷奶爸》中的小黄人是格鲁的什么?
["亲戚","宠物","员工"]
结果统计:
亲戚       0
宠物       0
员工       0
服务已经开始推送,请注意查收消息
..............................
6.“玄武门之变”中,杀死李建成的是?
["李渊","李元吉","李世民"]
结果统计:
李渊       3
李元吉       10
李世民       23
服务已经开始推送,请注意查收消息
..................................................
7.周星驰的御用中文配音演员是?
["边江","石班瑜","童自荣"]
结果统计:
边江       0
石班瑜       13
童自荣       0
服务已经开始推送,请注意查收消息
....................................................
8.书本《我的前半生》是由哪位清朝皇帝撰写的自传?
["爱新觉罗·溥仪","爱新觉罗·载湉","爱新觉罗·载淳"]
结果统计:
爱新觉罗·溥仪       7
爱新觉罗·载湉       0
爱新觉罗·载淳       0
服务已经开始推送,请注意查收消息
........................................
9.中国别称“榕城”的是?
["四川成都","福建福州","广东广州"]
结果统计:
四川成都       0
福建福州       0
广东广州       0
服务已经开始推送,请注意查收消息
.................................
10.目前亚洲迪士尼乐园中占地面积最大的是?
["东京迪士尼乐园","香港迪士尼乐园","上海迪士尼乐园"]
结果统计:
东京迪士尼乐园       2
香港迪士尼乐园       3
上海迪士尼乐园       1
服务已经开始推送,请注意查收消息
...........................................
11.1980年的今天,湖南岳阳捕获了一条活体白鱀豚,经过人工饲养又存活了多少年?
["12年","15年","22年"]
结果统计:
12年       3
15年       1
22年       0
服务已经开始推送,请注意查收消息
.........................................................................
12.李清照的《如梦令》里的“绿肥红瘦”是描写什么季节的景象?
["晚春","盛夏","初秋"]
结果统计:
晚春       9
盛夏       4
初秋       3
服务已经开始推送,请注意查收消息
小版本2

这个版本已经通过题目加选项来进行百度了,通过获取
百度为您找到相关结果约17,500个
这个条数多的则为正确答案,这个正确率上升了一些

1.2010年的今天,孟非开始担任哪个节目的主持?     
["《非诚勿扰》","《中国好声音》","《我是歌手》"]
-----------------------------
结果统计:
-----------------------------
关键词统计:1.《非诚勿扰》(5) 《中国好声音》(0) 《我是歌手》(0) 
-----------------------------
百度结果统计:1.《非诚勿扰》(210000) 《中国好声音》(61600) 《我是歌手》(21900) 
-----------------------------
1.《非诚勿扰》(210000) 《中国好声音》(61600) 《我是歌手》(21900) 推荐答案: 《非诚勿扰》
服务已经开始推送,请注意查收消息..................
-----------------------------
2.“隐形战机”是指什么样的飞机?   
["肉眼看不见","体积特别小 ","雷达监测不到"]
-----------------------------
结果统计:
-----------------------------
关键词统计:2.肉眼看不见(5) 体积特别小 (0) 雷达监测不到(0) 
-----------------------------
百度结果统计:2.肉眼看不见(325000) 体积特别小 (346000) 雷达监测不到(328000) 
-----------------------------
2.肉眼看不见(5) 体积特别小 (0) 雷达监测不到(0) 推荐答案:体积特别小 
服务已经开始推送,请注意查收消息..................
-----------------------------
3.词语"白字"是什么意思?    
["错别字 ","祭奠时的字","白色的字"]
-----------------------------
结果统计:
-----------------------------
关键词统计:3.错别字 (0) 祭奠时的字(0) 白色的字(0) 
-----------------------------
百度结果统计:3.错别字 (177000) 祭奠时的字(3900) 白色的字(23100) 
-----------------------------
3.错别字 (0) 祭奠时的字(0) 白色的字(0) 推荐答案:错别字 
服务已经开始推送,请注意查收消息...............
-----------------------------
4.一般左轮手枪一共可装几颗子弹?   
["5颗 ","6颗","7颗"]
-----------------------------
结果统计:
-----------------------------
关键词统计:4.5颗 (0) 6颗(3) 7颗(0) 
-----------------------------
百度结果统计:4.5颗 (46200) 6颗(44800) 7颗(43800) 
-----------------------------
4.5颗 (0) 6颗(3) 7颗(0) 推荐答案:5颗 
服务已经开始推送,请注意查收消息............
-----------------------------
5.美国历史上第一位好莱坞出身的总统是谁?     
["里根","罗斯福","老布什"]
-----------------------------
结果统计:
-----------------------------
关键词统计:5.里根(8) 罗斯福(1) 老布什(0) 
-----------------------------
百度结果统计:5.里根(46200) 罗斯福(113000) 老布什(11500) 
-----------------------------
5.里根(8) 罗斯福(1) 老布什(0) 推荐答案:罗斯福
服务已经开始推送,请注意查收消息.............
-----------------------------
6.《隋唐演义》的作者是哪个朝代的?     
["隋朝","清朝","唐朝"]
-----------------------------
结果统计:
-----------------------------
关键词统计:6.隋朝(3) 清朝(3) 唐朝(1) 
-----------------------------
百度结果统计:6.隋朝(1390000) 清朝(744000) 唐朝(1250000) 
-----------------------------
6.隋朝(3) 清朝(3) 唐朝(1) 推荐答案:隋朝
服务已经开始推送,请注意查收消息................
-----------------------------
-----------------------------
7.动画片《史努比》中,狗狗史努比没有做过什么?    
["唱中文歌","汪汪叫~ ","发出呜咽声"]
-----------------------------
结果统计:
-----------------------------
关键词统计:7.唱中文歌(0) 汪汪叫~ (0) 发出呜咽声(0) 
-----------------------------
百度结果统计:7.唱中文歌(50800) 汪汪叫~ (112000) 发出呜咽声(48000) 
-----------------------------
7.唱中文歌(0) 汪汪叫~ (0) 发出呜咽声(0) 推荐答案:汪汪叫~ 
服务已经开始推送,请注意查收消息...................
-----------------------------
8.运动品牌“PUMA”的logo上是一只什么动物的形象?     
["美洲狮","猫","美洲豹"]
-----------------------------
结果统计:
-----------------------------
关键词统计:8.美洲狮(6) 猫(0) 美洲豹(5) 
-----------------------------
百度结果统计:8.美洲狮(18800) 猫(34700) 美洲豹(4110) 
-----------------------------
8.美洲狮(6) 猫(0) 美洲豹(5) 推荐答案:猫
服务已经开始推送,请注意查收消息................
-----------------------------
9.“葵花大斩肉”是哪道扬州名菜的别称?   
["狮子头","扒烧猪头 ","拆烩鲢鱼头"]
-----------------------------
结果统计:
-----------------------------
关键词统计:9.狮子头(13) 扒烧猪头 (0) 拆烩鲢鱼头(0) 
-----------------------------
百度结果统计:9.狮子头(4180) 扒烧猪头 (80) 拆烩鲢鱼头(18) 
-----------------------------
9.狮子头(13) 扒烧猪头 (0) 拆烩鲢鱼头(0) 推荐答案:狮子头
服务已经开始推送,请注意查收消息.............
-----------------------------
10.以下哪首是丹麦的国歌?  
["《我的祖国》  ","《有一处好地方》","《牢不可破的联盟》"]
-----------------------------
结果统计:
-----------------------------
关键词统计:10.《我的祖国》  (0) 《有一处好地方》(0) 《牢不可破的联盟》(0) 
-----------------------------
百度结果统计:10.《我的祖国》  (42900) 《有一处好地方》(40) 《牢不可破的联盟》(4610) 
-----------------------------
10.《我的祖国》  (0) 《有一处好地方》(0) 《牢不可破的联盟》(0) 推荐答案:《我的祖国》  
服务已经开始推送,请注意查收消息..............
-----------------------------
11.在中国被誉为跳水皇后是?
["高敏","郭晶晶","伏明霞"]
-----------------------------
结果统计:
-----------------------------
关键词统计:11.高敏(18) 郭晶晶(2) 伏明霞(3) 
-----------------------------
百度结果统计:11.高敏(11100) 郭晶晶(82000) 伏明霞(38300) 
-----------------------------
11.高敏(18) 郭晶晶(2) 伏明霞(3) 推荐答案:郭晶晶
服务已经开始推送,请注意查收消息...................
-----------------------------
12.2017年底,苹果调查了英美法三国后,发布了当年最流行的emoji表情,它是  
["?","? ","?"]
-----------------------------
结果统计:
-----------------------------
关键词统计:12.?(0) ? (0) ?(0) 
-----------------------------
百度结果统计:12.?(1170) ? (0) ?(17) 
-----------------------------
12.?(0) ? (0) ?(0) 推荐答案:?
v1.0(安卓版)

独乐不如众乐,毕竟逛Github多多少少都是敲代码的,普通用户接触的也不多,安卓版本也有了。把后台的检索结果推送给安卓用户。第一个版本没有通过应用宝审核,只是上传到fir.im进行托管,不过,不到一个小时就有了20多个用户,还可以。


v1.1(安卓版)

很快,各大搜索引擎也推出了自己的辅助答题应用,搜狗跟UC,首先对搜狗下手,因为支持的平台比较多,抓包很顺手,经过几次版本迭代,貌似接口改了三次,最近的一次用的base64,貌似数据base64 decode之后跟之前的json并没有啥区别,接口更新后的几分钟,我们app也抢修成功,一场博弈……大厂的就是厉害,跟人家的正确率就是没法比,直接接入我们辅助app,还是以通知的形式,在三星S6上测试,通知可以一直悬停在上方,不过其他手机貌似不可以,在后来的小版本也加入了答题平台选择,可以接收对应的答案,这样,我们用户量很快到了300,日活150(友盟统计)


v1.2(安卓版)

周边服务,也得跟上,答题辅助+复活卡=吃鸡,毕竟辅助正确率也不能保证百分百,所以有一张复活卡很重要,我们也接入了相对应的短信接码,让用户刷复活卡。比自动的刷复活卡脚本差了点,不过可以满足每一个用户便捷的使用,该功能一上线,我的接码平台的余额就不足了,:-),蓝瘦!!!全心全意为人民服务!


v1.3(安卓版)

经过实测,有些题AI确实不如人,所以答题手也可以起到一定的辅助作用,最开始的小版本
设置微博登录,开放一部分用户权限进行答案发送,如何方便的发送,就有了悬浮窗,具有答题手权限的用户,在悬浮窗右边有1,2,3选项,答题手答完题,可以顺手把结果发送给其他用户,如图。


测试了一段时间,还可以,能参考一下,道高一尺……………………,嘿,西瓜的那个百万英雄,出了个性题,你说气不气,这个1,2,3显然不好使了。
想起了那个辅助功能,辅助功能可以获取到原生控件的name,经过测试西瓜视频的获取不到,不过抖音短视频可以,所以可以用抖音代替西瓜视频,还算完美,现在答题手可以直接把自己的点击的选项推送给其他用户了,这个功能经过测试还不错,不过很多用户反馈这个每次都要开启辅助功能有点麻烦,确实很麻烦……

简简单单,不用答题手多余操作,其他答友就能收到答案了。


v1.4(安卓版)

随后的版本,我们接入了新浪微博登录,用来管理答题手,对于乱发答案的答题手,我们需要给他禁言,这个悬浮窗如果加入EditText就会导致获取焦点,导致辅助功能无法获取到点击事件,出于这种考虑,我们只加入固定的弹幕发送按钮,发送系统指定的消息。可以选择接收消息的平台,显示在线的人数,最多同时在线75人,应该值得庆祝吧。



v2.0(安卓版)

通过不断的迭代更新,系统内自动更新显得格外重要,这个在以后的开发中一定要注意,什么都可以没有,不过热更新跟自动更新是必须要有的,最开始的小版本使用的webview与服务器交互来检测版本更新,后来发现大多数用户不会手动点击检查更新,自动更新显得很重要。
加入自动更新后,新版本的使用率大幅上升。


v2.1(安卓版)

我们的答题手质量不是很高,毕竟没有利可图,答案的正确率没有保障,在这里推荐一个yy答题直播间,81983239, 这个真的,有组织有规模的答题,正确率基本百分百,汇集各路学富五车的大佬,我们也跟着直播间一段时间,发现总是守着电脑也不是办法,没办法躺着或者一个手答题,抓弹幕……,OK ,弹幕这块真的不好搞,不过GitHub上有大佬的源码,拿来直接用,死活抓不到,想了一下,答题的是语音频道,类似QQ的消息,貌似有固定的协议,GitHub大佬给的是yy直播间的弹幕获取方式,经过一个月的猜想与实验,终于,测试通过了,获取到了语音频道的弹幕,兴奋的不行。这下,我们就实现了单手答题,一块手机,可以看到AI答案,并且可以看到实时人工弹幕答案,极大方便用户的使用,简简单单,一只手,一块手机,就可以答题了,正确率也有了保障。

早前版本

升级版本


v2.2(安卓版)

最近的版本,我们去掉了辅助功能,因为我们没必要让自己的用户分享答案了,去掉了辅助功能,用户不用麻烦来回设置辅助功能了,这样,用户体验也上升了许多。
最近正在考虑去掉微博登录,貌似系统需要重构。。。


2.¥%#$……&*

写完了项目介绍竟然不知道写啥了,为了跟前边小标题1呼应,这个小标题2就凑数吧,要是以后知道该写什么再加……


三、项目维护记录

1.利用crontab自动开关推送脚本事故

说起crontab,编写好的第一天夜里也没有测试,到了第二天上午,用户反馈群就炸锅了,推送服务没启动,用户没收到答案,赶紧登上服务器看了一下,在shell脚本中,直接使用的php /path/xxx.php,在脚本中这样./start.sh没有问题,不过在crontab中,就有问题了,看了一下,并没有找到php命令,发现crontab只能使用命令的绝对路径。


2. 服务中修改服务器脚本事故

在用户的强烈建议下,修改了服务器推送脚本,有用户反馈,UC的个性题分割不是很明显,需要修改一下推送格式,对于PHP的编写很是自行,在答题的间隙,我把服务器更新了,前后仅1分钟不到,再次启动后,答案并没有推送出来,到现在为止也不知道问题出在哪里了,记一下当时的处理脚本。

<?php
$str = '《怀玉公主》|-|《皇太子秘史》|-|《雍正王朝》';
$str=preg_split('/\|-\|/',$str);
for($i=0;$i<sizeof($str);$i++){
    $i==0?$a.=$str[$i]:$a.="@".$str[$i];
}
echo $a;

本地测试结果没问题

[Running] php "/Users/xubowen/Desktop/php脚本/test.php"
《怀玉公主》@《皇太子秘史》@《雍正王朝》
[Done] exited with code=0 in 0.092 seconds

答案没推送出来,第一反应,完了……,又要挨骂了,,,
第二反应赶紧回退,好在及时,下一题的答案赶上了,唉!!!
现在知道沙盒的重要性了,也知道为什么都选择夜里进行维护更新了,白天受影响的用户太多,不管多牛的工程师,也不能确保万无一失(作为井底之蛙的我的观点),保险起见还是夜里维护更新比较靠谱。


3.前端websocket异常事故

在我们v2.2.3版本中,收到了第一个差评,有三分之一的用户反馈程序崩溃,程序已停止,我测试了三个机型都没问题,包括安卓模拟器都没问题,看了崩溃记录,问题还是出在安卓8.0上,现有的websocket sdk对安卓8.0的支持还不是很好,连接不上抛出异常也没能正确处理,版本回退,想其他解决方案。最终的解决方案去掉了前端websocket连接,还是启动服务器推送,虽然服务器压力大了点,不过用户的体验很棒,并且启用推送后,也有效的避免了前端断开连接等。现在用户反馈还比较好。


4.悬浮窗机型适配事故

布局的适配已经做的很完美了,不过这个悬浮窗利用的第三方的,这个布局多多少少有点问题,在悬浮窗中采用的popupwindow显示平台的选择,里边包含了listview,适配的list,很多机型显示不出listview,我们又对个别机型的popupwindow重新设计。现在已经完美适配所有机型了(未收到用户反馈)。


5.酷安平台下架后审核迟迟没反应事故

这可以算是最致命的事故了,从第一天的上传到酷安,一小时的用户量飙升300个,到后来的几天低迷状态,都是自己的锅,不知道版本更新需要修改 versioncode,只是修改了versionname,其实在该平台上架的12天里,我每天都有更新,该平台的机制是只要更新就会排名靠前,但是更新只识别versioncode,也就是说天天更新版本的我,用户并没有看到,直接损失大约有5000用户,太年轻,其实我也感觉到了,别人上传的应用都能看到历史版本,我的却看不到,经过我的猜测(因为酷安没有客服)可能是先下架上一个版本,再上传更新新的版本,结果,GG了,彻底的凉了,从那以后,再也审核再也没有通过过,就这样,结束了,维护了一个月,再也找不到像酷安一样,便于个人开发者开发的平台。应用商店显得格外重要,因为这是让用户知道了解你的应用的唯一途径。

—致我逝去的用户


四、经验教训总结

  1. 截止2月10日,酷安事故发生前,累计用户量2121人,下载量4410次,日活最高433人,同时在线最高75人,Top版本16个。–来自友盟统计

  2. 一个好的应用,离不开好的使用说明,好的用户引导,及时的与用户交流,采纳用户的建议和意见,积极解决用户反馈的问题,这些我都在尽力的去做,考虑每一个用户的需求,尽力把这些想法建议杂糅在一起。对于答案未推送的事故,在用户反馈群也发了红包安慰,尽力照顾好每一个用户。

  3. 应用内更新是绝对有必要的,小版本迭代更新必须有跟上。

  4. 项目维护在夜里进行也是必须的,应用测试需要在沙盒中进行,测试不能影响到用户的使用。

  5. 一定不要肆意猜测,前辈的经验还是很重要的,猜测版本下架再上架可以达到版本更新的目的,这是导致灭亡主要原因。


五、结语

先说这么多,以后想起什么再补充。祝各位新年快乐,来来来,还吃鸡吗!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值