当前位置: 首页 > 编程日记 > 正文

【教你赚钱】独立开发者荒野求生之道

本文包括以下内容:

  • 独立开发者面临的现状
  • 如何利用一切细节,获取流量

注:本文将不涉及代码层面的东西,但是将有可能帮助你,把你写完的代码的价值,放大十倍百倍千倍。

我做了四年独立开发,从一开始的完全没一分钱推广自己的 App,到后来的有钱舍不得做推广,再到现在的不管有没有钱我都不推广。用亲身经历给你讲述,独立开发者,在面临完全没有推广资源的情况下,如何荒野求生,找到自己产品的生存之道。

做独立开发者,你不得不荒野求生

现在是 2018 年,距离 iPhone 诞生已经 11 年,距离 iPhone 4S 面世已经过去 8 年。万亿市值的苹果对 App Store 的运营策略,已经从以前的用尽各种手段收罗开发者,转为对低质量应用严加打击,努力提升 App Store 的应用质量。App 创业早已变成一片红海,市面上 App 推广的单个客单价已经达到了一刀。

在这种激烈的市场竞争情况下,有太多的内容、渠道,都是专门为财大气粗的巨头公司、以及拿了巨额投资的创业团队服务的,绝大多数开发者,没有资源花 ¥10000 去找网红博主发条微博。并且,由于回报率的不确定,即便你有钱打广告,也不见得能保证广告效果可以好到让你收回成本。

荒野求生的技能,是每个希望成为独立开发者的人,都需要学习的。这意味着,你将穷尽所有手段,为自己夺取流量,把控时机、注重细节、积极思考,在没有资源的情况下,让用户主动来找你。

从细节中寻求流量

时间

用户活跃高峰

这张图是从微信官方给的一份白皮书里面截取出来的,分别指的是去年和今年的微信用户活跃高峰,这个东西可以作为你做 App 推送和 App 宣传的一个很好的参考,同样是一次 App 推送,你肯定不希望你推送的时候用户已经睡觉了吧;又比如 App 在微博搞个什么抽奖活动,你当然希望微博转发数量越高越好,时间,是一个重要参数。准备好搞什么活动了,别急着发出去,晚上十点再动手,或许能让你事半功倍。

还有一个工作日/周末的时间区分,比如我有一个滤镜 App,周六周日的用户活跃量是周一到周五的两三倍,那假如我要搞个什么 App 内购打折优惠活动、或者微博抽奖什么的,可能周五晚上开始、周日晚上结束就比较好,周一早上开始、周三早上结束,就很尴尬。但是具体情况还要具体分析,比如我现在正写的这篇文章,现在是周四下午,我写完了就可以马上发出来,因为周四晚上和周五上午会有人看。但是如果再晚 24 小时,马上就周五等双休了,那我这篇文章就不发了,写完在那里放着,周一早上再发。这种鼓励人赚钱的文章,读者周一看是动力最强的。

想做好独立开发这件事,时间维度要好好想一想,不能乱来。

换量


如图是 Time 时间卡、Nihon Cam、闪念 这三款应用的设置页面,你可以很明显看到,三款应用之间在互相推荐,用专业一点的说法叫“换量”。

这里依然有细节的前提。比如 “Time 时间卡” 和 “闪念” 这两款应用,同为小众付费应用,属于生活中非必要的、而制作又比较精美的应用,他们的用户取向可能就比较趋同,这种互推效果就不错。而中间那张图的 Nihon Cam,虽然是免费应用,但是在摄影录像领域也属于小众而精致的应用,并且由于它是免费的,用户量比付费应用大很多,在这里推广,也会有不错的效果。

再多说一个细节,比如你有大量的应用想要推荐,你和他们都建立了合作关系,你希望疯狂获取这种流量。但是,又怕列出一个长长的列表,没人看,该怎么办?这里还可以做动态设置,比如你在 App 里面写好一个长度为 10 的列表,但是最多只显示前 5 个,通过判断用户手机里面是否已经安装你希望推荐的应用,来从列表里面剔除一些内容,就又可以充分利用空间,不向用户重复推荐内容。

价格歧视

比如说你做了一款免费应用,靠用户解锁里面的内购赚钱。付费用户能有多少呢,即便你做的非常非常好,能有 10% 的人付费也算不错的成绩了。这时候就涉及到一个问题了,为了鼓励用户付费,你不得不阉割免费版本的功能,但是对于绝对不可能给钱的用户,就让他们这么白白流失掉吗?这可是你努力赚来的流量啊!

答案是,价格歧视。代码层面做一个判断,通过使用次数、启动次数等等,判断出哪些用户可能是你的忠实用户。如果一个忠实用户,多次使用你的产品,甚至天天用,但是从来不给钱,那么我建议你制定另外的计划,对这些人实行付费策略是没有结果的。

一个不错的办法是,让这些人为你打广告。具体策略就有很多了,比如每次下载文件,都强制分享一条消息到朋友圈 “我今天只花了 x 秒钟,就成功生成了一份 xxx 文件”,然后分享的尾巴自然是你的应用的名字。又或者图像处理类的软件,强制在图片上加上你的水印,用户要发图的时候,自然就帮你宣传了。

总结

类似的根植于细节,挖掘你现有代码、产品的价值的办法还有很多,几乎可以说是有无数种办法。而你能找到多少种,又能从中获得多少的用户增长、收入增长,还要多多实践。当然了,也可以再看看下面的文章:

延伸阅读

入门:独立开发者如何解决后台问题

入门:我就会写代码,怎么做独立开发

进阶:开发者如何用数据分析,实现收入指数增长

高级篇:独立开发者如何利用内购赚钱 - 订阅制


内容请前往我的付费专栏 - KyXu 教你独立开发,这是一个教独立开发者赚钱的专栏,让你的开发能力迅速变现!







相关文章:

form表单的reset

form表单的reset重置表单(把表单的所有输入元素重置为它们的默认值。):1.使用reset按钮&#xff0c;条件reset按钮必须在form表单内部。2. <input id"Button1" type"button" value"button" οnclick"form1.reset();" />可以不在…

导航属性(外键)

第一种方法:(不灵活)1.一个学生类型只能保存一个年级对象//一个年级对象能保存多个学生对象//实际开发时单向比较多5.在年级对象类中根据年级编号来查询年级对象//写在if前面代表察回来值即使是空也没问题 因为null6.创建学生编号的时候new 一个 年级对象并且调用年级对象的id将…

23.week4

调通了 剩下的就是核心的部分 转载于:https://www.cnblogs.com/PoeticalJustice/p/9494823.html

“重置”不是“清空”

编程这么多年&#xff0c;一直以为“重置”按钮就是“清空”。 其实&#xff0c;重置是让页面回到初始状态&#xff0c;关键就是如果某个文本框中有值&#xff0c;那么点重置是不能清空的。可以自己做个测试&#xff0c;在一开始就有值的文本框后添加信息&#xff0c;点重置只会…

洒出VS的受调查

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […

SQL 常用方法

SQL 常用方法 EXCEPT &#xff1a;返回两个结果集的差&#xff08;即从左查询中返回右查询没有找到的所有非重复值&#xff09;。 INTERSECT &#xff1a;返回 两个结果集的交集&#xff08;即两个查询都返回的所有非重复值&#xff09;。 UNION &#xff1a;返回两个结果集的并…

【转】Visual Studio团队资源管理器 Git 源码管理工具简单入门

1.1 环境 Visual Studio GitLab (其他版本同理) 1.2 Git操作过程图解 1.3 常见名词解释 拉取&#xff08;Pull&#xff09;&#xff1a;将远程版本库合并到本地版本库&#xff0c;相当于&#xff08;FetchMeger&#xff09; 获取&#xff08;Fetch&#xff09;&#xff1a;从远…

php字符串比较函数

比较两个字符串是否相等&#xff0c;最常见的方法就是使用“”来判断&#xff0c;至于它和“”的区别&#xff0c;简单来说就是前者强调“identical”类型也要求一样&#xff1b;后者要求“equal”&#xff0c;值相同就可以了&#xff0c;参考【1】。或者使用strcmp来判断&…

Debugging Tools for Windows__from WDK7

1、 主要要用到两个工具&#xff1a; (1)、WinDBG 这个主要用于 非IDE下 调试程序/查看信息等 (2)、cdb.exe 这个主要是用在 Qt5.3.2 for VS10 的单步调试器 2、 WDK7 的文件&#xff0c;名为 GRMWDK_EN_7600_1.ISO&#xff0c;该文件我备份于“百度云 CodeSkill --> 全部文…

数据结构:二分查找 java

为什么80%的码农都做不了架构师&#xff1f;>>> 二分查找的前提是有序存储&#xff0c;利用顺序存储和元素排序 /*** 二分查找&#xff0c;查找成功&#xff0c;返回下标记* param values* param begin* param end* param key* param <T>* return*/ public s…

PHP一些十分严重的缺陷

1. 对递归的不良支持 递归是一种函数调用自身的机制。这是一种强大的特性可以把某些复杂的东西变得很简单。有一个使用递归的例子是快速排序(quicksort)。不幸的是&#xff0c;PHP并不擅长递归。Zeev&#xff0c;一个PHP开发人员&#xff0c;说道&#xff1a;“PHP 4.0(Zend)对…

Thinkphp----------为什么Thinkphp会默认进入Index控制器的index方法

1、最近遇到两个刚学PHP的童鞋&#xff0c;都问到了同一个问题&#xff0c;就是他们没有做什么配置&#xff0c;为什么访问入口文件index.php的时候会自动跳转到IndexController里面的index方法。他们想知道具体怎么回事&#xff0c;下面就简单讲解一下&#xff0c;其实并不难只…

Confluence 6 Home 和其他重要的目录

2019独角兽企业重金招聘Python工程师标准>>> Confluence 安装目录 Confluence 安装的目录&#xff08;Confluence Installation directory&#xff09;定义的是 Confluence 是在那里进行安装的。这个目录有时候也被称为 Confluence 安装目录&#xff08;Confluence …

Apache,Nginx,Lighttpd分别使用X-sendfile功能提升文件下载性能

关于mod_xsendfile https://tn123.org/mod_xsendfile/Lighttpd中的X-sendfile RoR网站如何利用lighttpd的X-sendfile功能提升文件下载性能 使用X-sendfile方式&#xff0c;服务器端应用程序不需要读取下载文件了&#xff0c;只需要设置response的header信息就足够了&#xff0c…

[译] ASP.NET 生命周期 – ASP.NET 上下文对象(六)

使用 HttpApplication 对象 ASP.NET 框架中的许多类都提供了许多很方便的属性可以直接映射到 HttpContext 类中定义的属性。这种交叠有一个很好的例子就是 HttpApplication&#xff0c;它就是全局应用类的基类&#xff0c;在下表中&#xff0c;你可以看到 HttpApplication 类中…

变得非常不vb

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […

分析PHP中单双引号的误区和双引号小隐患

2019独角兽企业重金招聘Python工程师标准>>> 1、一般情况下两者是通用的.但如果双引号内写的是变量就会执行解析操作,而单引号则不解析&#xff0c;这个怎么说&#xff1f;还是举个例子吧。 这下看明白了吧&#xff01; 2、执行效率不一样&#xff0c;单引号的执行速…

javascript(js)的小数点乘法除法问题

一、用js计算12.32 * 7 结果是多少&#xff1f;答案&#xff1a;86.24000000000001为什么会出现这种问题&#xff1f;怎么解决&#xff1f;js在处理小数的乘除法的时候有一个bug&#xff0c;解决的方法可以是&#xff1a;将小数变为整数来处理。以上的计算可以改为&#xff1a…

sDVD消防大队

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […

WPF的二维绘图(二)——几何图形Geometry

在WPF的DrawingContext对象中&#xff0c;提供了基本的绘制椭圆和矩形的API&#xff1a;DrawEllipse和DrawRectangle。但是&#xff0c;这些是远远不够用的&#xff0c;我们在日常应用中&#xff0c;更多的是使用DrawGeometry函数&#xff0c;它可以绘制更多复杂的几何图形&…

定期删除各子文件下数据

最近遇到一个客户有这样一个需求&#xff0c;需要在每日自动删除各用户文件夹下的数据而不删除根文件夹和每个用户父文件夹 Register-ScheduledJob -Name Remove-InternetDataFiles -ScriptBlock {$root "E:\Internet-Data"$dirs Get-ChildItem $root -Directoryfo…

PHP使用BC Math 函数处理浮点运算问题

BC Math 函数 http://cn.php.net/manual/zh/ref.bc.php做小数的相加减问题是&#xff0c;出现了浮点运算不准的情况&#xff0c;看来都说解释型语言对于浮点运算都会有问题的说法是真的。首先看一段代码: <?php$a 0.1;$b 0.7;var_dump(($a $b) 0.8); 打印出来的值居然为…

【重建】从FJOI2016一试谈起

2016.2.21 我是湖建的sb蒟蒻OIer FOIWCFJOI2016 体验性的旅途&#xff0c;新生 其实是刚刚找回密码闲的没事干 前排膜FZSZ各位学长 ORZ 闫神 ORZ 吴大爷 ORZ 汪巨 ORZ 邵司机 ORZ 方老师ORZ dxy zkp zzy 湖建省选一试被虐。不知道明年这个时候会有什么改变 总而言之&#xff…

是否正常正常是

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […

pkg mysql 在macOS 上的管理

为什么80%的码农都做不了架构师&#xff1f;>>> 使用pkg安装后&#xff0c;在设置中启停&#xff0c;通过ps -ef|grep mysql查看进程的命令行即可看到各配置位置。 转载于:https://my.oschina.net/fox99/blog/1931674

PHP autoload 函数

(1) autoload机制概述 在使用PHP的OO模式开发系统时&#xff0c;通常大家习惯上将每个类的实现都存放在一个单独的文件里&#xff0c;这样会很容易实现对类进行复用&#xff0c;同时将来维护时也很便利。这也是OO设计的基本思想之一。在PHP5之前&#xff0c;如果需要使用一个…

sql按条件进行批量查询或update的关键字in

2019独角兽企业重金招聘Python工程师标准>>> SELECT t1.field1,t1.field2,t1.field3 from t1 where t1.pid in (select fid from t2 where t2.ch%123456%) 再看这段代码&#xff0c; select t.* from mefinance.me_customer_info t where t.id in (3285,4241,4243,4…

为什么很努力进步却不明显

今天有个玩的不错的同事问了我一个问题&#xff1a;他说我今年在努力学习测试方法&#xff0c;自动化测试等等&#xff0c;也写了不少测试用例&#xff0c;但总体感觉好像没有什么进步啊&#xff1f;他想不明白这是什么原因。其实当我遇到这个问题的时候&#xff0c;我也想了一…

spl_autoload_register与autoload区别

spl_autoload_register(PHP 5 > 5.1.2)spl_autoload_register — 注册__autoload()函数说明bool spl_autoload_register ([ callback $autoload_function ] )将函数注册到SPL __autoload函数栈中。如果该栈中的函数尚未激活&#xff0c;则激活它们。如果在你的程序中已经实现…

宣传部vv从v

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […