在校内做了近半年的app,虽然只做了两个app抢床位(http://apps.xiaonei.com/sleepingwar)和暗恋秘密(http://apps.xiaonei.com/anlianduiduipeng ),但还是想跟大家分享一下这其中的一些经验和感想,在此也非常感谢大家对抢床位的支持,才有抢床位现在的第三方应用第一名
一:策划
其实一款app在策划的时候已经决定了其自身增长的潜力,大致看了一下校内受欢迎的app都有以下的一些特点:
1、 容易上手,一进去就知道怎么玩。相比校内,这一点对51上的app可能更重要。如果app不太容易上手,那至少用户引导要好。
2、 用户与用户之间的交互性要强,特别是好友之间的交互要强。好友买卖能把好友买为奴隶,抢车位能通过到好友那里停车赚钱,男女本色使用户相互之间可以评分等等
3、 有 让用户邀请好友的动力,而且这种机制要深深与app本身紧密结合。8月份的时候,测试类的app用户增长迅速,其中有一点就是只有当用户邀请了5个好友以 后才能看测试的结果,对大部分用户来说都已经测试了,当然想看看答案,所以会去邀请好友。再如抢床位,用户一开始进去只有5000元,而一套最便宜的房子 也要1万元,买一个好友作为瞌睡虫也需要1万元,邀请一个用户可以获得100元,因为在所有购买东西的地方都做了邀请的引导,所以根据数据显示大约有三分 之一的用户会去邀请,而平均每个去邀请的用户会邀请平均60个用户,这样他的钱就是1.1万,刚好够用户开始玩这个游戏
4、 UI尽可能漂亮些,至少得看的过去
5、 说句实在话,在校内、51上做app,要想做的比较大,可能只能做娱乐类和游戏类的app,工具类和学习类的app要成功可能难度会比较大(校内前十,甚至前20的app几乎都是娱乐游戏类),所以app的类型得好好思考一下
二、赚钱
估计大家最关心的就是怎么用app赚点钱,以下列举一些赚钱的方法:
1、 adsense:这个是最常用的,而且也确实有不少开发者通过adsense赚到钱。如果引导的好,一个50万pv的app,一天赚个50美金不会有什么问题。但近段时间从一些开发者了解到adsense越来越不好赚了(相比校内,51上adsense表现较好一些)
2、 品牌广告:这个赚钱最多,但一般只有专业的app公司能接的到,个人开发者比较困难
3、 Cpa广告联盟,大家可以去看看这个网站, http://www.becomedia.cn/ 从一些朋友那里了解到收入不错,而且可以跟app本身的功能结合在一起(个人感觉app广告以后可能会以cpa广告为主流)
4、 校内豆、51币等虚拟货币
5、 类似校内的奖励计划, http://app.xiaonei.com/developers/rewardPlan.do (如果没有其他赚钱的方法也可以试试看)
三、技术
其实,开发app的门槛并不高,只要懂一些编程便能开发出一个app,但难的是伴随流量增长以后的程序的不断优化和服务器方面的优化
索 引:数据库需要建立好合适的索引。至于针对哪个字段建索引,则可以看看程序中sql语句where后面最多是用哪个字段做检索条件的,或者也可以查看一些 这些sql语句检索需要花费的时间和资源,然后最检索使用最频繁的字段做聚集索引,同时可以有选择的对一些其他字段做非聚集索引。索引能大大提高数据库检 索的速度,不过别忘了,每隔一段时间需要重新生成一次索引,以保证性能
数 据缓存:从sns平台上通过api获取数据或者从数据库读取数据都是相对耗资源的,所以可能的话应该尽量减少这两种操作,这个时候对数据的缓存就非常重要 了。抢床位里面的做法是从校内读取数据以后存入数据库(比如读取用户信息,这个操作只需要进行一次),第一次访问数据库信息的时候把数据存入缓存,这样以 后需要再访问这个数据的时候就可以直接从缓存中读取。不过使用缓存是以内存作为代价的,在内存有限的情况下还是需要谨慎的使用缓存的
页面缓存:对一些内容变化不大的页面,可以使用页面缓存,或者使用页面局部缓存
分 表:把一个大的数据表分成多个数据表。举个例子,当一个app有上百万个用户的时候,如果把所有的用户资料都存储在一个表中,即使使用了索引,效率可能也 不尽理想,这个时候可以根据用户的id,除以一个常数,根据余数确定该存放在哪个新表中,比如uid=234960294%10=4,就把这个用户的相关 资料存储在user4这个表中
带 宽:当用户增长到一定程度以后,带宽也会成为一个问题,东部好像1G带宽一年是15万到120万,平均是50万,别说我们穷学生没钱,就算有钱带宽方面也 最好能省着点。估计了一下,一天1万UV的app,大概需要3-10M的带宽。至于到底是3还是10就得看优化了。首先优化的当然是图片,压缩图片大小, 可能的话尽量使用较小的图片,往往压缩一下图片就能节约一半以上的带宽;其次是压缩一些css、js文件,嵌在页面里面的css、js最好能抽取出来放在 一个独立的js、css文件里面,这样用户只需要下载一次;还有如果是asp.net,可以关闭不需要的viewstate,这一点也可以让页面的大小减 小近一半
这里推荐一篇文章,大型网站架构演变和知识体系,http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html
四:其他
服 务器问题:其实对很多开发者来说,最头痛的就是服务器问题,流量不断增长,需要换更好的服务器,但app暂时却没有收入进来,而且很多开发者本身又是学生 (比如我自己)也没有足够的钱购买服务器。其实也没有必要一开始就购买非常好的服务器,如果每天的用户少于2000,可以考虑先使用虚拟空间,一年也就几 百,甚至先把几个月。当用户再增长的时候可以使用vm或者vps虚拟服务器,vm相比vps要便宜的多,而且可以通过使用虚拟内存,但稳定性不及vps, 所以如果钱比较紧张,可以花几百先买vm用个几个月,一般100-200元左右一个月的vm配置可以支撑5000左右的活跃。如果用户还是持续增长,这个 使用app应该也能开始赚些小钱了,可以升级vps或者vm的配置。如果活跃上万的话,可能就比较头痛了,这个时候可能只能使用独立服务器了,app的开 发者可能就得考虑是否值得去购买或租用了。有一个感受,就是当钱不够的时候,不要一次性租用的服务器,因为app用户增长很快,如果受欢迎,很有可能刚 买,服务器就不能用了(从7月开发app到11月,我们总共换了4次服务器)