游戏相关介绍
以下是写给刚接触游戏的小朋友看的,懂行的大大可以跳过,如果有错误之处欢迎指正
游戏接入渠道自动化解决方案----思路
本文提供的是解决的思路,已有实际项目在运行,是完全可行的方案
游戏渠道
先来说一下游戏渠道的概念,游戏渠道可以看做是App上架的应用市场,只不过是比App上架应用市场更为严格,核心思想就是所有用户、数据、交易,全都走渠道,通过渠道实现,渠道会定期给游戏公司对账,就意味着上不同的渠道需要接对应的渠道的SDK,就是在模仿App Store和Google Play,渠道方对自己渠道内的游戏具有高度的控制权,并不像普通的App上架国内的应用市场,应用市场几乎对App不产生任何影响
背景
在当前中国的游戏渠道市场,充斥着数不尽的渠道方,Android市场的混乱是骨子里祖传的,但是就连ios渠道方也要来分一杯羹,为什么会出现这种情况,据了解是因为渠道和游戏有一些利益牵扯在里面,首先是游戏行业的暴利是众所周知的,腾讯的财报每年盈利游戏比例已经远远超过半数以上,就算是你不知道用脑袋想也能想出来,其实全是用户花钱买数据的行为,一款成功的游戏的盈利真的是不可想象。
言归正传,是什么导致出现这么多的渠道呢,其他种种原因不说,只说最重要的一点,据了解,游戏上了渠道之后,渠道会替游戏做推广,如果游戏成了,那么游戏的盈利是要和渠道进行按比例分成的,一个渠道中只要有一款游戏做成,整个渠道就处于躺着赚钱的地位,更何况渠道中有那么多的游戏,只要渠道能站稳脚,可以说之后是不存在任何风险,游戏不成倒的是游戏公司,渠道还是有其他的游戏是正常盈利的,可以说是一点损失都没有,顶多是损失的推广所用的资源,同样的道理,推广哪个游戏都是推广。所以说可以看做是损失为0
现状
国外的游戏渠道和App上架渠道一样,是统一的,Android就是Google Play,iOS就是App Store,所以不存在一个游戏接入多个渠道的场景,在国内就衍生出了各种渠道,从而要接入各种渠道SDK,从而就存在了这个需求的岗位,就是给游戏接入各种渠道,假如说一个新游戏,现在现存合作渠道不说多了,就算是60个,哪怕是30个,10个行不啦(我们现在有107个渠道),你两个小时接入一个(有点吹,还得调试什么的,不可能这么快),得多长时间?,游戏着急上线,不同渠道要求不同,接入方式不同,初始化了,资源文件了,角标了,logo了,游戏名称了,等等,恶心死你,每天重复性的工作。没有任何成就感。
解决方案
正常的游戏渠道接入流程:
…
…
从以上可以看出,游戏和渠道的耦合性非常的高
- x个游戏对应n个渠道的时候,则需重复x*n次的重复性工作
- 如果某个渠道的SDK有升级,则所有的接入此渠道的游戏均需要接入一遍此渠道SDK(如果游戏很少还好,但是不太可能,即使是一个游戏也会搞出来很多马甲游戏,懂的自然懂,稍后会介绍一下马甲)
- 如果某个游戏有改动,改动之后想要重新上线,则需要将所有想上的渠道再重新接入一遍(再想想测试成本,接入过程中人工操作出错概率,沟通成本等等)
这就很恶心了,能不能把渠道做成插件,只需要接入一次,哪个游戏需要就插入到哪个游戏呢?
当然是可以的,这样就把人员分成两部分,一部分专职做渠道的接入,只需接一次,另一部分也就是游戏端只要游戏遵循一种统一的接入规范(这个规范由SDK这一波人来维护),就能将游戏渠道插入进去。
但是问题又来了,这个规范是人为确定的,是写在游戏中的,是可修改的,有太多的不确定性,还要考虑出错的定位联调成本,后续游戏方交接,如果接入规范有改动,就得挨个游戏进行修改,还是存在重复性工作,能不能把规范也做成插件,只要集成方式不变,理论上游戏集成之后只需要替换规范的jar就行。答案是可以的,OK大方向已定,下面开干吧。
以上说的可能不好理解,那么搞一张流程图来说明一下
改良之后流程图:
通过以上可以看出,我们游戏只需要集成一次中间SDK,开发人员也只需要集成一次渠道SDK,那么就可以任意排列组合了,从任何一个游戏均可完成任意渠道的集成
打包的过程用脚本控制,只需要选择目标游戏和目标渠道,就可以出包了
当然渠道升级是必不可少的,升级之后再次出包就是
当然越是用起来方便的东西背后都藏着开发者异常的努力与设计,所以说此处重点是中间SDK,中间SDK的设计期待我接下来的博客讲解吧
结束语
马甲包:
在游戏的世界里充斥各种马甲包,意思是同一个游戏,改个名称,换个icon又上线了,目的当然是尽可能多的概率让用户接触到去下载,去玩耍,才能盈利