查看原文
其他

小游戏客户端和策划需要了解的服务器模块:静默登录与绑定账号

曾嵘 曾嵘胡扯的地方
2024-10-10

玩家抱怨丢失进度怎么办?解决小游戏小团队服务器进度存储和外挂问题 这篇发出来之后,很多胡扯游戏的群友惊叹到居然大部分小游戏都是没有服务器支持的!

这惊叹有点莫名。

要知道,大部分小游戏,可能只是一个美术临时起意,或者一个策划在学习编程的过程中鼓捣出来的。不懂服务器,甚至不知道服务器是什么,很正常。

尽管我一直认为程序员这个物种,天生就就应该 懂操作系统懂网络通信懂设计模式懂软件工程能运维服务会修电脑发量茂密而且有很多女朋友 ,但根据我对前端技术同学的的几百场面试以及带项目团队的经验来看,很大一部分前端程序员对于服务器这个领域是茫然无知甚至恐惧的。

判断一个程序员是不是我上面说的那种程序员,我有几个非常朴素的标准。

  1. 电脑默认输入法是中文输入法。

  2. 搜索技术问题用百度。

  3. 没有命令行/终端常驻内存。

  4. 不知道 Vi 和 Emacs 是什么。

如果上面四个回答均为真,那么这个程序员应该既有头发也有女朋友,但很可能对服务器一窍不通。

游戏客户端技能参见:客户端技能树

下面,我提供了一个小游戏前端岗位和策划/运营岗位必须了解的服务器模块功能列表。让前端技术同学以及策划/运营同学知道,一个希望长期运营的游戏,需要哪些服务器相关的模块功能。

技术人,首先要明白的是,技术本身没有任何价值。

这是我在 游戏人,要不要沉迷在技术中? 中写的一段话。所以本篇不是一篇技术文章,也不会包含任何代码。这些模块,很容易用通用的技术工具来实现。

这个系列文章给出的,是一套通用的休闲游戏项目服务器相关问题的解决方案。

这个系列文章中讲到的技术和设计决策,都是围绕着 怎么让用户爽 的角度来构建的。

对于有服务器岗位配置的团队来说,这些内容一定都 已经抽象出来形成通用中台模块了。

但如果你的团队只有客户端,我希望这个系列的内容能给你带来帮助。

这个系列文章仅仅针对轻中度休闲游戏。

什么是轻中度游戏,参考这篇:我理解的休闲游戏(中)——超休闲、小游戏、轻中重度、独立游戏

登录

调试用登录

调试用登录,用于客户端本地开发的时候使用。一般只需要提供校验过的 TOKEN 即可。调试登录接口不对外,一般也不在正式生产环境中使用。

账号密码登录

账号可以是用户名、手机号、邮箱等等。有一些比较老的手游还在采用这种登录方式(一般都建立了通用中台)。

下载了游戏之后还要再输入用户名和密码,这种操作方式对于休闲游戏来说已经不合时宜,如果不是必须搜集玩家信息方便召回,应该摈弃这种登录方式。

我一般碰到需要输入账号密码邮箱手机的休闲手游,一般都直接删包。

常用IM或通用账号登录

这是休闲游戏最常见的登录方式了,不需要输入任何内容,无感登录。

国内一般是微信和QQ。海外一般是 Facebook/Google/Apple ID。

注意 Apple 的登录不要出现在安卓平台上。

对于新用户,最好的方式是静默登录。

首次进入的静默登录处理

一个买量休闲游戏玩家,好不容易熬过漫长的下载和 loading,第一个界面就需要输入账号密码,而且还不记得自己的密码,或者需要冗长的注册流程,密码还要足够复杂。你觉得这个玩家会怎么做?

当然是掉头去玩别家的游戏啦!(玩个游戏还这么麻烦,老子不伺候了)

这也是为啥在国内强制实名验证政策推广之后,很多运营在看留存数据的时候都只看实名留存了……实名验证导致的流失属于不可抗力!

国内小游戏在是实名验证方面还是有优势的,绝大部分宿主账号已经经过实名验证了。

对于休闲游戏的玩家首次进入,只有一个标准:保证玩家在体验到核心玩法前,不受到任何干扰。

下面这个流程是我比较推荐的流程,既能保证合规,也能让玩家的体验最优。

休闲玩家没有耐心。休闲游戏抢夺玩家刷短视频以及做其它娱乐的注意力。因此,不要让休闲玩家感受到登录的麻烦,应该尽快让他们去体验游戏核心玩法。

静默登录与绑定账号

对于微信小游戏来说,静默登录是一件非常容易的事情。

登录的核心是 确定用户的唯一性。因为游戏处于微信宿主内部,要玩小游戏必须登录微信,小游戏在启动时就可以拿到玩家的 Openid。这个 Openid 在同一个游戏中一直不会改变,也就不担心用户串数据。

对于 App 来说,这个静默登录就不那么容易了。因为生成的匿名账号是可能被清除的(换了手机或者清除了缓存),如果不登录一个具体的账号,就难以 确定用户的唯一性

如果启动游戏就要求登录账号,就违背了上面聊到的 保证玩家在体验到核心玩法前,不受到任何干扰 的规则。

我推荐采用下面的方式进行账号绑定,以 Facebook 账号为例:

  1. 游戏启动时检测本地TOKEN(TOKEN是一个登录后的加密字符串,保存与服务器通信的凭据)。

  2. 没有TOKEN就认为是新账号,自动生成匿名ID并在服务器创建新账号。

  3. 有TOKEN就认为是老账号,进行自动登录。

  4. 如果TOKEN过期了,就进行手动登录。此时的玩家一定是个老玩家,是可以接受手动登录的。

  5. 新账号通过新手引导后,提供一个绑定账号任务,赠送大量玩家无法拒绝的资源,实现玩家的账号绑定。

在这个流程中,如果玩家换了手机,或者清空了缓存,进入游戏后会得到一个新账号。此时他只要过了新手引导,就可以进行账号的切换,回到自己的老账号了。

也会有一些方法,建议把生成的匿名id保存在 iCloud(iOS平台)或者 Google Cloud(Android平台)中,但这又需要苹果账号和Google账号在手机中处于登录状态,会增加不确定性。

况且,国内大部分安卓手机,是无法登录 Google 账号的(用户甚至不知道有这么个东西)。

这套方案,可以用最小的代价和依赖,解决所有的问题。

下一步

下面是系列文章的主要内容,供参考:

  • 白名单机制

  • 服务器切换

  • 版本与更新机制

  • 配置在线获取

  • 公告和维护

  • 邮件

  • 数据同步和存储

  • 排行榜


https://civitai.com/images/29731868

特别介绍

有很多重要内容,公众号发不了,但群里特别能聊。

群里有独立开发者,游戏公司创始人、大厂负责人、量子理论研究者……

关注公众号可以进群一起唠嗑,独立游戏、商业游戏、流量游戏、研发、投放、发行、运营、招人 都能聊,纯唠嗑也欢迎。



下面几个系列文章花了不少精力,可以读一读:


创业系列:



效率系列:



产品分析:


立项系列:



混变系列:


运营系列:

成长系列:

会议系列:

奇技淫巧:

荐号系列:


电子游戏是怎么赚钱的:


再多读几篇:


都刷到这里了,不来个「点赞」「分享」「在看」一键三连吗?


个人观点,仅供参考
继续滑动看下一个
曾嵘胡扯的地方
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存