最近开发了一款App,上架了一个月,又惨遭下架。仔细研究了一下,抢救是不太可能的了,在这里对这款App从开始到下架的全过程做一个复盘,希望对有需要的朋友有一些启发和帮助。
起源
最开始的想法很简单,工作之外赚点零花钱,如果可以的话,赚多点是更开心的。App的核心功能是做磁力搜索和结果展现,因为和谐问题,详细思路和内容不做详说,这里主要讨论一个App从零到上架需要经过哪些流程,有哪些工具可以帮助解决问题,提高效率。
不知道磁力?迅雷总知道吧,简单来说就是磁力信息可以拿到迅雷去下载,就像种子
平台和开发
选择平台
网页端 互联网上的网站多如牛毛,除非有很强的推广能力,否则我的网站很难有比较好的流量,我有吗?我没有;另外一个,移动端的流量才是当今互联网流量的大头, App在这一块具有天然优势。基于这两个原因,我放弃了
安卓 应用市场很乱,用户付费意愿较差
IOS 应用市场规范,用户付费意愿相对好,简单来说,赚到钱的机会更大
首先你要氪一个Macbook,如果你没有,暂时也不打算有,那就要慎重考虑了。
微信小程序 作为一个工具性的应用,用户留存太低,打开一次之后,下次甚至不知道从哪里再找到你
那可不可以用双端解决方案呢?比如React Native
或者Flutter
,前者没用过,后者曾经在IOS上玩过简单的Demo,有时候IOS一个补丁,应用直接就跑不起来,当然也有成功案例,如果愿意接受风险,不妨一试。
经过综合考虑,我选择了IOS
。
选择开发语言
App端
IOS以前的主力开发语言是Objective-C
, 现在和未来布局是Swift
,选择IOS作为开发平台,首选Swift
,因为它代表着现在和未来。 我个人选择Swift
,因为我的App功能足够简单,Swift的开发效率是Objective-C
远远比不上的
Swift可以使用Objective-C几乎所有的库,从Swift切入,如果要深入学习IOS开发,Objective-C是绕不过去的砍,最起码你要懂它的基本原理和用法
我主业是后端开发,对Java
语言比较在行,最近对GO
也有一些研究。而Swift
,完全不会。怎么办?学! 不是买一本XXX天精通Swift
,一页一页慢慢啃,等你啃完了,黄花菜也凉了。 只要你不是纯小白,只要你已经会某一门编程语言,建议你这么干:
花点时间,阅读
Swift
的官方快速入门文档。了解基本语句,不用记住,有个印象就行,如果你不是天赋异禀,也很难记得住再花点时间,阅读
SwiftUI
的官方快速入门文档。对SwiftUI
是什么东西和基本的用法有一个基本的了解,够了下载
SwiftUI
的样例工程,跑起来,自己改改打印字符串,加点小组件什么的。基本你就稍微有点感觉了:其实没有那么难这个时候,你可以自己建一个自己App的工程,对着样例代码,先搭个框架,然后一点点往里填东西。不要一开始就想着做出个多牛逼多复杂的东西出来,从最简单的开始
遇到不会的,就去查,通常一个简单的App,需要查询东西也不会太多,实际用到的组件,也就那么几个而已,全都解决了就好了。在这个阶段,建议边开发边找点资料系统的学习一下Swift和SwiftUI
这里仍然不建议买本xxx天从入门到精通。推荐一个网站:https://www.hackingwithswift.com/ 它在谷歌搜索的权重很高,搜索Swift一些问题,经常能跳转到这个网站,说明它的内容很实用!我自己的话是快速的浏览了一下它的100 days of SwiftUI课程,完全免费 。课程内容大概是先讲了一些SwiftUI的基础知识,然后通过几个由易到难的项目,穿插讲解了SwiftUI最常见的一些组件。对我这个这么简单的App,完全足够了
碰到实在不会的,不要死磕,想办法绕过去,快速上线,测试用户反应,才是王道 即便到现在,我对Swift
的知识体系,还有很多很多不懂的地方,但是 我把App开发出来了,上架了,这就够了
服务端
就我自己而言,有JAVA
和GO
可供选择,我选择使用GO
语言,因为资源占用相对较小,没有依赖,很轻量,跟我的App一样轻量。
对我们这个体量而言,其实不用考虑太多,会什么,用什么,性能绝对够用,等用户数上来了,再想办法优化不迟,优化的方法实在很多。快速上线 才是最重要的。
开发过程
这里其实没什么特别要讲的,按照自己设计好的功能一点点实现就好了。主要是时间问题。
咱的主业还是很忙的,虽然没有996那么夸张,一周加个几次到9点以后也是常态。只能每天抽个30-60分钟,外加周末抽一些集中的时间去做开发(也没法全天搞,毕竟不是铁人,而且还要陪家人)。
最终前前后后搞了一个月,才完成前后端代码的开发。中间无数次想要放弃,最终还是熬到了成功上线,给我自己点个赞。
上架
App功能开发之后,要正式上架到IOS的应用市场,还要做一些准备工作
首先你需要有一个开发者账号
这个就很简单粗暴了-充值使你更强大。个人开发者年费99美刀,大概700块钱吧。只有注册开发者账号,才能在IOS的应用市场发布App
App LOGO
作为一个个人开发者,很多人是缺乏设计方面的技能的,比如我。而苹果对这方面的审查是非常严格的,随便网上找一个用被查出来的话,轻则应用下架,严重点的直接封号都有可能。那我是怎么解决问题的呢?
-
首先去网上找一个和我的App相关的图片,比如我的App叫做xxxKitty,那么我就去网站上找了张有相关性的图片,大概长这样
-
然后用PS把这里面可爱的小猫咪抠出来,调为纯蓝色,然后由于我做的是搜索型的App,于是我再用Sketch给它配上一个放大镜。最后的效果,长这样
放大镜是在
SF Symbols
(苹果开发的一个图标库App,开箱即用,可以把里面的图片直接复制粘贴到Sketch里使用)上找的
PS和Sketch需要花点时间稍微学习下基础用法。
PS用来抠图,上色,提高图片质量。
Sketch用来给小猫咪配置上放大镜。
有人可能会说你怎么不用PS全部搞定?因为我不会呀,而Sketch干这个事情实在是太简单了,而且作出来的效果很不错。
- 然后App的LOGO根据苹果要求,是需要各种尺寸的,这里推荐一个LOGO生成网站https://appicon.co/,上传一个1024 * 1024的图片,可以生成需要的各种尺寸的图片,无广告,简单,好用
到这里,App LOGO的准备工作就基本完成了。不是很高大上,甚至你可能瞧不上,但是对我而言,简单,不丢份儿,足够了。毕竟个人精力有限,App能给用户带来什么价值,才是最重要的
App截图
这个暂时没找到特别好用的工具,我自己的话就是在Macbook上运行IPhone、IPad的模拟器,模拟器自带有屏幕截图功能,截好图分门别类放上去就可以了
上传App
网上有很多相关的教程,但是说的很累赘,很多操作都是不必要的。就我个人经验而言,用Xcode选择自动处理证书,一路下一步,各种都帮你处理好,简单,省事。
Test Flight和上架
这个网上的教程也很多,也不多说了,没什么特别的坑和工具。挺好用的一个工具,可以在App上传之后,正式上线之前,邀请一些用户帮你测试,测试没问题可以直接走申请上架流程,申请上架之后,坐等审批通过就可以了。
我自己的话,当前晚上提交申请,第二天上午就显示审核通过可以上架了
夭折的迭代
App上架之后,前两天反响平平,在第三天开始,逐步的有些用户,再到后面,每天以几百的下载量增长
可能在一些大牛眼里,这很普通,甚至很垃圾。但对我而言,第一次做一款App,能有这样的数据,我自己是很满足的。
看到在我眼里算是很不错的下载增长量,于是我开始着手第二个版本的迭代,这个版本的功能很简单,就是想办法赚钱。经过一番研究,我决定追加两个功能:
- 加入广告。在搜索列表页面和搜索结果页面加入广告,加广告很简单,我选择的是谷歌的
AdMob
,加入SDK依赖后,也就是几行代码的事情
2.加入订阅内容。区分普通用户和订阅用户的思路大概在去广告、不限制的搜索次数、具有特定价值的搜索源这些方面。加入订阅内容和加广告的工作量,就不在一个数量级了。可能代码不一定多特别多,但是时间成本会高的多,因为你要学习苹果的整套支付体系。
我加入支付模块的学习过程也和学习Swift是类似的:
- 首先粗略的看一下苹果的官方文档
- 把官方提供的示例工程跑起来,走一走获取产品列表,支付这些流程,改一改回调函数的打印,大概就有感觉了
- 再把核心代码慢慢移植到自己的代码中,能支付流程跑通,就可以了
正当我理清了支付的脉络,准备着手开发支付内容的业务的时候。悲剧发生了,我的App惨遭下架。
苹果爸爸是不会告诉你下架原因的,要你自己猜。我分析主要应该是App内容不符合苹果的内容要求,稍微有那么一点点不和谐(虽然我自己觉得也还好,而且也加入了关键字过滤)
最终我的App成绩定格在这里,对于第一做App的我自己而言,我认为算是一个比较不错的数据了。
经过一番思考,我放弃了申诉,也决定放弃这个题材的App,虽然它真的很有需求。
非要说的话,卖A片应该更有需求。
总结
既定的目标
做这个App,在我的设想中,能帮我更好的理解如何做一个副业产品:
- 掌握一个产品从0到上线的全部过程
- 体验用户增长的过程
体验用户购买的过程赚回成本,再赚多一点更好
回过头来看,算是完成了一半的目标,既是一次新奇的体验,也还有些不甘心,下一次,一定可以做的更好。
为什么没有做到
内容违规?或许是一个方面。更重要的原因在于,迭代太慢,App上架后,恰逢主职工作项目上线,连续两周没有抽出空去照顾它,错失了最宝贵的时间。
等我抽出空来加好支付功能,悲剧已经降临。
最后
6月9号完成第一次代码提交,7月16号上架,8月13号下架,最终定格下载量5017
,这就是我的App短暂的一生。它最终没有给我带来任何金钱上的收益,却让我第一次真真切切的感受到了产品和市场。
最后的最后,这次经历,最深刻的感受,分享给你:
Stop talking, start making
只要你能帮到用户,界面再丑,功能再简单,又怎么样