本文最后更新于 756 天前,其中的信息可能已经有所发展或是发生改变。
为什么突然用这个开一篇文章,不是我想水博客。只是因为十二月六号这天我的Document分区里的文件全被删掉了。或许我发表了一些敏感的言论,可是还是很诧异,我200多g 的文件我自己删都要挂一晚上。不知道是怎么一小时内给我删光的。
可能是被远程提权 rm -rf ~/Documents ,具体不清楚。总之之前工作的文件记录都没有了。只留下了在我脑子里的开发经验,在这里简单分享一下,或许以后我S潦倒落魄还会继续搞 游戏 SDK 开发
SDK 开发要点
- SDK 一般是给技术人员使用的一套接入工具,里面应当包括
- SDK 接入文档
- SDK 相关接入资源
- SDK 更新版本日志
- SDK 接入常见问题
- SDK 接入 demo as版本*eclipes版本
- SDK 开发应当尽可能不使用第三方库,尽量阅读需要的库的源码,提取自己需要的相关代码,移植到工程中,保证代码的纯洁。
- 在 开发中 避免使用 findViewByID ,而要使用 context.getResources().getIdentifier,去获取固定 id,如果是 kotlin 开发则可以省很多事情。
- SDK 开发看起来是很简单的工作,可是如果一开始开发的架构没写好,那么后面运营的各种需求就会慢慢的把代码变成💩山
- 首先必须要知道 SDK 有什么模块,自己划分一下,参考我有一篇讲述模块化的文章
- 其次 SDK 中的埋点上报,一定不要和业务代码写在一起,一定要单独抽离,用 AOP 的方式埋点上报。因为游戏运营是很看数据的,如果你的数据上报的不准,那你就要彻底 review 你的 代码,看看什么地方出了问题。难度是很大的。因为你是调用的第三方的上报接口,你很难确定是什么问题,调用方式or调用时机or设备兼容性
- 如果有能力, sdk 的热更新一定要在发布版本之前就做好。游戏是一个政策依赖很强的行业,需要随着国家的政策变动 sdk 的规则。如果不能热更,那么你的每次sdk更新都会涉及到公司的所有游戏(除非你们公司游戏就那么几款)否则你工作量回很大
- 和后端的对接是一门很有艺术的学问,作为一个客户端开发,我认为你必须熟悉一个接口的编写。当然不需要写什么 curd sql逻辑,只需要写一个 mock 接口,在后端的角度上,想一想他能提供什么字段,要求尽可能的提供以满足业务需求,否则一个需求很容易延期。
补充
其实做游戏 SDK 很多加班的时候都是因为要出包,自动化打包相关的我应该很早就写过了,这里就不赘述了。就我而言,三年的 SDK 开发经验是一个很有意思的回忆。不仅仅代表我走进社会的 first job,也是一个初级菜鸟变成高级混子的成长之路。
感谢你的阅读~