Skip to content

📊 轻量、隐私友好的首局数据观测 / Learn what actually happens in the first session (privacy-friendly) #29

Description

@longmaolab

📊 我们排的这些优先级,其实全是"读代码猜的"

这一批一共 19 条新手友好度的改进建议,每一条该先做哪个、该花多久,都是我们把 index.html 通读了一遍,靠代码逻辑猜出来的——教学系统怎么走、死了之后弹什么菜单、提示什么时候出现,全是这么判断的。真实玩家到底怎么玩、卡在哪一步、玩了多久就退出了,我们手上一条数据都没有。

想开始认真面对这个问题,但打算先从最便宜、最不打扰你代码的一步开始。

第一步:先看现成的,不用改一行代码

这个游戏是从网页服务器发出去的,而服务器本身每次有人打开页面,就会自动留一条访问记录(access log)。这些记录已经在那儿了,完全不用碰你的代码就能看:到底有没有人真的打开过这个游戏、大概多少人、什么时候来的。如果连基本的访问量都很少,那后面说的"埋点"就没必要做,省得白折腾。

第二步(只有第一步真的看到有人在玩,才考虑做):加一个极简、匿名、不带任何个人信息的事件上报

如果确实有人在玩,接下来想做的也只是三件事的最小版本,不贪多:

  • 教学走到了哪一步 —— 你写的教学系统(startTutorial()tutSteps 那一套,还有 TUT_DONE_KEY 这个 localStorage 标记)现在已经很清楚每一步什么时候算完成,只是完成之后什么都没往外发。
  • 第一次死亡发生在什么时候 —— 你已经有 playerSunk() 这类函数专门处理死亡逻辑,这会是很自然的挂钩点。
  • 这一局大概玩了多久

不收 IP 之外的任何身份信息,不接 Google Analytics 那一类第三方统计工具,上报失败了也就默默失败,绝不会报错或者影响玩游戏。

这仓库是你的,是你自己一个人做出来的东西,要不要做这件事、什么时候做、用什么方式做,完全你说了算。而且我们自己这边到目前为止也还没写一行相关代码——这只是个提议,还没有任何实现可以给你参考。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions