Indie Dev Weekly
Published on

独立开发周记 72:6 月数据总结,极简时钟重大更新

Authors

又是一年毕业季,猛然发现自己已经毕业十年了。 我当年是一个好学生,仅限于做题考试的那种,而这种学生思维让我毕业后的工作生活中不断地浅尝辄止,知难而退,屡屡受挫。 最近几年,我都在尽量摆脱这种思维。但是当发现我有些想做的事情已经拖延了一年多还没动手的时候,就又很沮丧。我总是在等,等所有步骤都清晰明了,等排除所有弯路,等天降贵人的指导。 也许,这个世界并没有什么固定的解题方法和技巧。 边做边找才是正确的路。

6月数据总结

下载量(极简时钟)

  • App Store,减少 9.4%
  • Google Play,减少 41.23%,几乎腰斩!
  • 国内安卓市场,减少 9.27%

收入

  • App Store,减少 7.1%
  • Google Play,减少 18.09%
  • 国内安卓市场,增长 11.80%
  • Admob,减少 29.95%

极简时钟重大更新

iOS

这周提交了 4.4.0,终于从 4.3.x 跳到了 4.4.x,算是一个中升级。这个版本加入了一个全新的表盘:时间墙。另外,居然才发现App 里有一个存在了一年多的声效上的 bug,可见这个功能也真是没人用。

新版本连带新的App 内活动一起提交,25 分钟就过审上架了。但是,极简时钟还是没有入选本周的编辑推荐,至今没登上过 App Store 任何一个推荐位。

w72-clockwall-event

制作商店详情页截图的时候才发现,现在这一版的截图自从 4.0.0 上线后就没更新过,已经和实际 App 有一些出入了,还缺少了一个主题的截图。另外这一版的截图是横版的,当初制作时的考虑是为了更好的展示极简时钟的各种表盘设计,但是我发现几乎没有 App 是采用横版截图的。打算下周制作一套竖版的截图,和现在的做个 A/B Test,看看是不是因为截图的原因导致下载量越来越少的。

Android

这周终于完成了一个拖延了将近一年的事情,心里的一个重担也终于放下了,就是极简时钟国内安卓版的数据迁移、API 转发和新版本发布。

解决心中的顽疾

先说一下为什么要做这些事,以及为什么拖了这么久。一开始从精益开发的角度出发,极简时钟国内安卓版的付款数据存放没有选择云数据库,而是存储在自己搭建的 Parse 所连接的 mongodb 中的,并基于这个 Parse 写了个 Node.js 的服务器用来处理微信付款业务。这个 mongodb 并没有自动备份功能,所幸这么多年也没丢失数据,但是遇到过两次(这周就遇到了一次)mongodb 无法启动的问题。再加上服务器的代码是基于微信支付SDK v2,就一直想着把数据迁移到云数据库中,同时和其他 App 共用一套 API,就不想跑多个 Node.js server 了。而我操作服务端和数据库总是胆战心惊,就怕出什么岔子,也就一直拖着了。

迁移工作很简单。我自己写了一个脚本,少量数据还行,但是遍历整个数据库就不知道为什么会爆内存。用 Copilot 改写,我只是写了一行说明性的注释,然后 Copilot 生成代码,我只按了三次 Tab 键,整个代码就写好了,而且一次运行就成功了。

新 API 也早就写好了,并且已经应用到了极简便签上,也对旧 API 中的请求格式做了兼容,也做好了测试。本来以为在 nginx 里修改一下规则就能无痛转发,没想到还是痛了,搞了一下午加一整晚才搞定,搞得我偏头痛都犯了。

我在 nginx 里面试了各种写法,从中午到半夜,中间搜了无数教程,问了无数遍 AI,请教了很多群友的帮助,都没能实现旧 API 到新 API 的转发。到了最后,也是通过群友的点拨,我才发现原来旧 API 压根就没走 nginx,因为 API 请求里是带有端口号的,所以是直接发送到了 Node.js sever 上……nginx 这条路是走不通了,最后只好直接修改了 server 代码,让 server 来直接转发所有的旧 API 请求。

w72-tencent-cloud-console

麻烦并没有结束。这期间里,只有两个订单是通过旧 API 存储到了 mongodb 中。我本来完全可以手动复制到云数据库中,但是又出了问题,mongodb 无法启动,Parse 一直在报错,而这是第二次了。上一次在之前的周记里提到过,如果解决的我到现在也不知道,莫名其妙就坏了,然后过了一晚上莫名其妙就好了。而这次,我东搞西搞一大通:

  • 尝试升级 Parse 和 mongodb-runner,但是提示服务器实例上的 node 版本太低,失败
  • 尝试安装低版本的 mongodb-runner,无论是 npm 还是 yarn 无法安装,失败
  • 尝试安装 docker-compose,很多依赖无法启动,失败
  • 到最后,居然是手动启动 mongodb 的服务就搞定了

这期间一度绝望,心想着幸亏白天的时候把数据迁移了,而这两笔新的订单,我就主动给退款了。一边搞一边看比利时对乌克兰的小组赛,比赛快结束的时候我才搞定,至此才终于安心睡觉。

新版本上架

随着旧数据的迁移和 API 转发都搞定了,也终于可以提交极简时钟安卓版 3.0 到国内安卓市场了。或许之前的磨练太多了,这次提交到 HMOV 四个市场异常顺利,一次性全部通过审核上架。 w72-android-market

Youtube 收入

这周录了一个 iOS 18 关于滚动效果新 API 的演示视频,还特意做了个 YouTube 风格的封面,结果上传后两天,只有 8 个观看……我发现 YouTube 现在可能在大力推荐 Shorts 的流量,我一个随便上传的 Shorts 视频,一天就有 300 多个观看,看来短视频才更俘获人心。

w72-youtube-code-demo2

我的频道开通快五个星期了,这期间每天的广告收益是 0.4 美元左右……总共才 15 美元,看来这条路也不是通往财务自由的😂。

w72-youtube-income

连接世界

周一通关了死亡搁浅的主线,后来的几天本来还想达成白金,但是最后发现达成条件太耗时了,就放弃了。现在是无比期待明年的死亡搁浅 2。

周日看了纪录片《小岛秀夫:连接世界》,没想到游戏当初发售后 3 个月就爆发了新冠,而这个游戏在那段时间里居然十分应景。而我当时并没有玩这个游戏,玩的是 The Last of Us 2 、对马岛之鬼和刺客信条:起源。

小岛秀夫和我有一个共同点,我们都是社长,都有一个自己的工作室😜(虽然规模上是云泥之别)。他想靠游戏连接世界上的人们,或许我也可以通过 App 来连接世界各地的用户。可是想要连接用户,就需要服务器啊,还得学习服务器开发……又头疼了。

尤克里里

最近疯狂沉迷于学习尤克里里,每天都花很多时间在 B 站上学习各种技巧、搜谱和练习。打算每周练习弹唱一首歌,然后录下来分享出来,当做周记内容的一部分。

现在只能进行简单节奏型的琶音和分解和弦,扫弦练了两周还是不行,特别是民谣节奏扫弦。

本来这周是想录《新造的人》,练得也差不多了,突然听到了我特别喜欢的《島人ぬ宝》,于是就决定先练这首歌。

这里就发现了国内和日本在音乐曲谱的分享上的很大差异。国内的基本都是免费的,都是一些教学组织或者爱好者自己制作并免费分享的,很简单就能搜到。但是日本的曲谱几乎没有免费分享的,搜出来的绝大多数都是某个曲谱网站打了水印的,需要付费下载才可以。也有很多人在 Youtube 上以视频的方式分享弹唱曲谱,我练习的版本就是从Youtube 中截图出来的。

w72-ukulele-youtube

本来想用一个稍微复杂点的扫弦节奏型,结果发现自己根本弹不下来,就只好选择了最最简单的一拍一个下扫。这首歌练习了一天,录了几十遍,不是弹错就是唱错,人都崩溃了,搞到都没有力气唱了,手指头疼得要死,结果最后还是唱错了一句。不管了,实在录不动了,等以后学会了更复杂的节奏型再录一遍完整版的。

[video]