V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
u8sdk
V2EX  ›  程序员

屌丝逆袭之曲线救国(怎么说服顽固的 BOSS)

  •  
  •   u8sdk · 2015-05-16 19:14:19 +08:00 · 3619 次点击
    这是一个创建于 3511 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚刚去了一趟@Jark所在的公司,几个部门的技术都在,现场给他们演示了一遍U8SDK的各个功能环节,并给他们详细讲解了U8SDK的核心原理和技术框架。回来的路上,不禁再次想起了整件事情的开始和经过……

    事件回放:

    一个月前,Jark找到我,说他们公司目前渠道SDK接入这块很杂乱。公司总共有5个游戏项目组,一个技术支持组。已经上线的有5款游戏,正在研发的有5款游戏。
    现在的SDK接入模式是这样的:公司有自己的统一用户登录中心和支付中心。也就是SDK接入的服务器端工作,基本算是成型了,不需要各个项目组去做渠道SDK服务器端的接入工作了。但是,渠道SDK的客户端部分,还是由每个项目组成员在苦逼得接入,导致所有渠道的SDK都需要被接入5次,升级更不用说了,各个游戏都需要去做升级,导致SDK接入和升级的成本很高,直接导致游戏运营和上线的效率很低

    最近就爆发了一场矛盾冲突,就是有个项目组的技术老大Tonny把技术支持组和BOSS一起召集起来,哭诉了一下现在SDK接入的现状。说目前游戏项目开发任务都很紧张,还要搞SDK接入这个苦逼活,他实在看不出这个SDK接入和游戏逻辑有个毛关系,为什么技术支持组不去把这个事情给做了,这样各个项目组就不再需要去做苦逼的SDK接入工作了,把所有的人力物力全部集中在游戏逻辑上。

    技术支持组就站出来说话了,说这个事情,之前也想做过,但是那个时候的想法是把所有的渠道SDK集中在一起,但是会导致游戏包会变大很多,后来就放弃了。所以,技术上暂时还没有可行的方案。

    BOSS在一旁听着,一直没有吭声。这个时候见大家陷入了僵局,站出来说话了。说大家不要激动,现在主要的矛盾就是SDK接入这块,到底是由技术支持组来统一做,还是继续由各个项目组去做。而且SDK接入这么件小事,各个项目组接入不就是体力活吗,有啥难度吗?而且基于目前的形势,第一,我们已经有5款游戏已经上线,而且都各自接好了几十家渠道SDK了。第二,目前5个项目组其他4个也都正在接SDK,现在去由技术支持组再从头统一来搞SDK接入工作,是不是意味着之前的都白接入了不说,而且后面所有的游戏,上线的和没有上线的都要用这套东西重新调整,这些时间和工作量有考虑过吗?

    这个时候大家就都陷入了僵局~

    后来这件事就不了了之了,那位抱怨的技术老大Tonny也无可奈何地开始准备安排人手去继续苦逼得搞SDK接入工作。

    事情的转机就这这里,Tonny安排了Jark去负责Android渠道SDK的接入,Jark做游戏一年多,一直用的是Unity3D,对Android一窍不通,于是就百度SDK接入相关的资料,结果就找到了U8SDK。

    后来通过和Jark的沟通,他对U8SDK的认可度很高,我就建议他跟Tonny推荐。后来Jark,Tonny和我一起吃了个饭,Tonny也就是这个时候告诉我他们公司的现状。通过这次沟通,Tonny也认为U8SDK正是他们目前所需要的,但是怎么说服BOSS,是个头疼的问题。

    我建议他,先可以在自己的部门内先开始使用U8SDK,等到一切时机成熟了,再将U8SDK推广到全公司。最后,我们达成一致,先在Tonny的部门开始使用U8SDK。

    后来几天,通过和Jark的不断努力下,终于将U8SDK整个框架和U8SDK目前支持的30家渠道SDK成功部署到Tonny的研发项目组中,他们在Unity工程中接入了U8SDK,然后直接通过Unity打出母包,放到U8SDK打包工具中,直接就可以打出30家渠道包,这速度和效率,令整个团队的开发成员兴奋不已。

    按说这个事情,到此就结束了。但是事情的第二次转折,发生在一个星期后。Tonny在和另外几个部分的老大聊天的时候,提到了这个事情,没想到其他几个部门都有类似的抱怨,就是SDK接入这个事情,应不应该统一来做。后来,Tonny给他们演示了他们部门正在使用的U8SDK,直接惊坏了其他几位小伙伴。他们纷纷觉得这个是服务于全公司的好事情,BOSS没理由反对。

    经过几位部门领导人的共同商议,他们一起找到了BOSS和技术支持组,向BOSS再次提出了这个想法,同时这个时候,比第一次多了一张王牌。第一次大家不晓得统一的SDK接入到底应该怎么搞,而现在Tonny的部门已经在使用这个技术了,也就是技术是现成的,拿过去就能用。没有出所有人的预料,BOSS最终说:既然技术是现成的,你们也觉得方案可行,那么就由技术支持组牵头,各个项目组提供前期的支持,一起来把这个东西搞定。

    就这样,目前公司正在基于U8SDK和整个公司的业务进行整合,并将统一的SDK接入解决方案提高到了全公司的战略级产品。

    俗话说,有总结才有进步。我们这里也对这次的事件,做一个简单的总结:

    1、SDK接入到底应该什么时候做?
    很多游戏公司都是等到游戏开发基本结束,然后才开始着手SDK的接入工作。但是这样真的是对的吗?
    话是对的,%90以上的游戏团队都是这样子的。但是关于SDK怎么接的问题,你不应该等到游戏快上线的时候才去思考。而这%90的游戏团队中几乎%95以上没有把SDK接入当回正经事。
    所以,很多游戏团队的人,也只是采用最无脑的技术实现方式,简单粗暴,游戏逻辑里随处可见和具体SDK的耦合,确实把后面SDK接入和升级的小伙伴们害的不惨。也使得很多没有经验的SDK接入的童鞋被坑的,谈SDK而胆寒~

    2、刚起步的小公司或者小团队,应不应一开始就考虑研发一套统一的SDK接入框架?

    通过上面的事件,我们看到,第一次和BOSS的沟通,Tonny失败了。因为BOSS说出了两个理由:

    第一、已经上线的游戏,重新回头做这件事,成本有点高
     第二、已经接好SDK的游戏,重新回头,以为着之前工作的浪费
    

    BOSS的话说明了,如果你还小的时候,这些工作没有做到位,将来你还是需要去填今天埋下的坑。所以,反正都是要接SDK,采用无脑的方式,还不如采用更优雅更效率的方案。而且开始就使用这套方案还有一大好处就是,整套统一的SDK接入框架和公司一起成长,后面可能和公司其他的战略性产品一起结合起来,形成强大的基础服务,直接为全公司甚至其他公司服务。

    3、作为直接负责接入渠道SDK的小伙伴,你,应不应该去给自己埋坑,给别人埋坑?

    很多时候,BOSS也好,运营也好,部门老大也好,他们只会要求需要接入渠道SDK,最终怎么实现则完全是由具体的底层苦逼程序员去决定的。
    比如,大部分时候,运营会跟你说,这次我们要接这10家渠道。至于怎么接入,他们不会告诉你,因为他们也不懂。

    这个时候,作为SDK接入任务的苦逼执行者,你是愿意采用无脑的方式,每天像一个小怨妇一样,抱怨SDK怎么这么多,啥时候接的完啊?这样每天去坑自己呢?还是采用一种简洁高效的方案,采用统一的SDK接入框架。这样自己技能上不仅可以得到提高,还能直接用于其他新项目,不管是你现在所在的公司,还是下一次要去的游戏公司,都能直接使用。你愿意选择哪个呢?

    如果你是一枚苦逼的手游开发者,而且也正在为渠道SDK接入而头痛,那么欢迎您访问我们的官方博客:http://www.uustory.com 我们研究并分享一切统一渠道SDK接入的技术

    17 条回复    2015-05-24 17:42:27 +08:00
    bkmi
        1
    bkmi  
       2015-05-17 01:32:36 +08:00
    好TM长,有人看完了么
    xiaogui
        2
    xiaogui  
       2015-05-17 01:55:35 +08:00
    感觉是软文
    @bkmi
    u8sdk
        3
    u8sdk  
    OP
       2015-05-17 10:04:26 +08:00
    @xiaogui 亲,的确是一篇软文哦,发到这里也就是要宣传下u8sdk~不过故事也的确是真的!
    Earthman
        4
    Earthman  
       2015-05-17 13:28:02 +08:00
    原来是软广,不过的确很现实,很多时候自己去实现一次还不如买现成的轮子
    benjiam
        5
    benjiam  
       2015-05-17 18:32:58 +08:00 via Android   ❤️ 1
    问题是这个SDK本身的学习曲线怎么解决,它的bug又怎么办?最后它开源码吗?如何避免它在后面做了不该做的事情。国人节操基本可以以0来看
    u8sdk
        6
    u8sdk  
    OP
       2015-05-17 19:14:49 +08:00
    @benjiam 这也是没有办法得事情,只能在权衡各项利弊之后,来选择一个合适的解决方案。国内渠道多如牛毛,用户的入口又是这些渠道,这一环坑了多少技术小伙伴!咱也是过来人,BUG啥的肯定会有,但是我们也在努力去解决,只能说,让对这块不太熟悉的人,可以找到一个关于渠道SDK接入的系统而全面的知识体系~
    benjiam
        7
    benjiam  
       2015-05-17 19:26:37 +08:00 via Android
    我的问题一个都没回答

    第一学习曲线高还是低,如果有其他家的SDK 你们不支持如何

    第二 bug 怎么办

    第三 开源吗

    第四 用户完全可控?
    AlexaZhou
        8
    AlexaZhou  
       2015-05-17 23:21:38 +08:00
    感觉又多了个东东,让事情变的更复杂化了
    ryd994
        9
    ryd994  
       2015-05-18 01:33:09 +08:00 via Android
    @Livid 分享创造
    oott123
        10
    oott123  
       2015-05-18 08:32:20 +08:00 via Android
    我居然还很认真的看了,直到我看到 u8sdk …
    u8sdk
        11
    u8sdk  
    OP
       2015-05-18 09:06:55 +08:00
    @benjiam

    1、学习曲线比无脑方式要低很多,因为我们所有的技术实现细节都分享在博客上,用户公司自己拥有全套源码,不支持的可以自己接,也可以反馈给u8,我们会第一时间提供支持
    2、bug 怎么办?作为一个程序员,你会怕BUG吗?当然了,u8也是经过严格测试的,目前也来说也很稳定了说。但是BUG毕竟不可避免,用户在使用中,遇到任何BUG,直接反馈给我们,我们也会第一时间去解决的撒~
    3、技术开源~
    4、用户完全可控
    u8sdk
        12
    u8sdk  
    OP
       2015-05-18 09:08:59 +08:00
    @AlexaZhou 事情的复杂与否,不在于是否多了一个东东,而是在于怎么去解决遇到的问题。SDK接入总是不可避免,这只是其中一种解决方案而已,只是拿一个高效率的解决方案去替代一个低效率的解决方案而已~
    u8sdk
        13
    u8sdk  
    OP
       2015-05-18 09:13:09 +08:00
    @oott123 对不起,亲,给您带来的不便,非常抱歉。我承认这篇文章发到这里,有点点软文的目的。但是故事是真的,你可以访问我的博客看看,http://www.uustory.com 看看是不是都是一些含金量比较高的文章,因为我们的宗旨,就是让渠道SDK接入的童鞋,都能够知道怎么去更好的接入渠道SDK,所以,我们分享所有技术实现细节,毫无保留,至于你用不用u8sdk,那是你自己的选择~
    zongwan
        14
    zongwan  
       2015-05-18 09:40:33 +08:00
    看了一半软文 没了解到
    没和渠道联动的SDK 现在还有什么优势?
    oott123
        15
    oott123  
       2015-05-18 09:58:06 +08:00 via Android
    @u8sdk 并没有怪罪的意思。
    我看了看贵司博客,似乎没看到 sdk 的下载?
    oott123
        16
    oott123  
       2015-05-18 14:18:07 +08:00
    用电脑看了下,打包出售的啊……
    手机看不到那个购买链接好像。
    benjiam
        17
    benjiam  
       2015-05-24 17:42:27 +08:00 via iPad
    从架构看就是流氓,用了你们的接口,开发者的命就在你手里了。他们的运营数据完全就暴露了。谁用谁sb。什么ping+也都是一个鸟样。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3062 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 13:32 · PVG 21:32 · LAX 05:32 · JFK 08:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.